일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 코딩
- mysql
- Redux-Toolkit
- 자바스크립트
- 프로그래머스코테
- 알고리즘문제
- 코테스터디
- 프로그래머스 코테
- 알고리즘공부
- 프로그래머스
- next.js
- 프로그래머스코딩테스트
- 프로그래밍
- 1일1코테
- 프로그래머스알고리즘
- html
- 코테준비
- 프로그래머스 알고리즘
- 알고리즘스터디
- 프로그래머스 레벨0
- 개발자
- 프로그래머스 Lv.0
- 정보처리기사
- js
- 정처기기출
- 코딩테스트
- 코테공부
- CSS
- next.js 에러
- 프로그래머스 코딩테스트
- Today
- Total
계발하는 개발자
[AWS] AWS EC2를 이용해 배포하기 (2) - EC2에 MySQL 서버 구축 본문
EC2에 MySQL 서버를 구축하기 위해선 먼저 AWS RDS MySQL 인스턴스를 생성해야한다.
1. AWS RDS 란?
AWS RDS(Relational Database Service)는 AWS에서 제공하는 데이터베이스 서비스다.
*AWS RDS 데이터베이스 엔진
RDS를 통해 직접 데이터베이스 서버를 설치하고 운영할 필요없이, RDS를 통해 원하는 데이터베이스 시스템과 버전 설정을 한 후 사용할 수 있다. 또한 직접 데이터베이스 서버를 운영하는 것보다 더 저렴한 가격에 사용할 수 있다고 장점이 있다.
*RDS 데이터베이스 엔진별 기능 정리는 아래 참고
https://aws.amazon.com/ko/rds/features/
2. AWS RDS MySQL 인스턴스 생성 방법
① AWS Management Console 'RDS' 검색
AWS Management Console에서 'RDS'를 검색한다.
② AWS RDS 대시보드 > 데이터베이스 생성
RDS 대시보드에 상단에 있는 데이터베이스 생성 클릭
③ 데이터베이스 생성 방식, 엔진 옵션 선택
1) 데이터베이스 생성방식:: 표준 생성 선택
2) 엔진옵션:: MySQL 선택
③ 엔진 버전, 템플릿 선택
- MySQL 버전을 선택한다.(내 경우 최신 버전 선택)
- 템플릿은 프리티어로 선택해준다.
④ 설정
1) DB 인스턴스 식별자
- AWS 리전에서 AWS 계정이 소유하는 모든 DB인스턴스에 대해 고유한 식별자를 작성한다.
2) 마스터 사용자 이름, 마스터 암호
- 마스터 사용자의 ID와 암호를 작성한다.
- 추후 MySQL 서버 접속시 사용되는 부분이므로 잘 기억해둬야한다.
⑤ DB 인스턴스 구성
- DB 인스턴스 크기를 설정해준다.
- 본 포스팅에서는 Default로 설정된 값을 사용하겠다.
⑥ 스토리지
- 이것도 그냥 디폴트 옵션을 선택해준다.
- 스토리지 자동 조정은 동적으로 스토리지를 확장하는 기능이다. (Scale Out)
- 최대 스토리지 임계값은 1000GB로 설정되어있다.
⑦ 연결
1) VPC / 서브넷 그룹
- Default 옵션을 사용해줬다.
2) 퍼블릭 액세스 기능
- Public IP를 할당하여, 외부에서 DB인스턴스를 접근할 수 있도록 하는 기능이다.
- ubuntu에서 MySQL에 접근할 것이기 때문에, 예 옵션을 선택해준다.
3) VPC 보안 그룹
- 기존에 생성한 보안그룹과 연결시킨다.
- 보안그룹이 없다면, 새로 생성을 클릭한다.
- 추후 EC2에서 사용하기 위해서는 EC2의 보안 그룹을 연결해야 한다.
4) 데이터베이스 포트
- MySQL 포트가 3306에서 구동하므로 3306을 사용한다.
⑧ Ubuntu에서 AWS RDS MySQL 인스턴스 연결
1. RDS 인스턴스 생성 확인
- 설정을 마친 뒤, 생성된 RDS 인스턴스를 확인한다. 상태가 사용가능으로 표시되어야 한다.
- 생성된 RDS 인스턴스를 클릭한다.
2. AWS RDS 보안그룹 설정
EC2에서 RDS 인스턴스에 접속하려면 보안 그룹 설정을 해야한다.
보안그룹을 열어서 인바운드 규칙 2개를 추가한다.
- EC2 그룹
- 로컬호스트
VPC 보안 그룹을 클릭한다.
인바운드 규칙 편집을 클릭
위 두 규칙을 추가해주고 규칙 저장을 클릭
지금은 내 IP 보안 그룹 규칙 ID가 '-' 인데 저장후 다시 들어오면 보안 그룹 규칙 ID가 자동으로 생성돼있다.
(보안그룹 규칙 설정 방법은 아래 참고)
EC2 보안그룹 규칙 설정 방법
1. EC2 인스턴스 > 보안 탭에서 '보안그룹 ID', 'VPC ID' 를 복사한다.
2. EC2 보안그룹 탭 이동후, 보안 그룹 생성 클릭
3. 보안 그룹 세부 정보 입력
- 보안 그룹 이름/ 설명: 식별 가능한 이름과 설명을 입력한다.
- VPC: 앞서 복사한 ec2 'VPC ID'를 넣어준다.
4. '규칙 추가' 클릭후 인바운드/ 아웃바운드 규칙을 추가
- 인바운드 규칙
- 유형: MySQL/Aurora 선택
- 소스: 사용자 지정 > 복사한 ec2 '보안그룹 ID'를 넣어준다.
- 아웃바운드 규칙
- 유형: 모든 트래픽 선택
- 대상: 위치 무관으로 설정
3. RDS 인스턴스의 엔드포인트 확인
- RDS 인스턴스의 엔드포인트를 확인한다.
- 엔드포인트를 복사해준다.
4. ubuntu에서 RDS MySQL 서버 접속확인
- 다음 명령어를 입력하여 서버에 접속한다.
- $ mysql -u root -p -h <복사한 엔드포인트>
5. MySQL Workbench에서 AWS RDS DB 인스턴스 연결
DB 추가 연결을 위해 workbench에서 + 버튼을 누른다.
위 3군데 정보를 입력한다.
- Connection Name:: 사진에서는 test로 했지만, 실제 생성은 EC2 SERVER 란 이름으로 해줬다.
- Hostname:: rds 인스턴스 엔드포인트 이름을 넣어준다.
- Username:: 위의 ④ 설정에서 입력해줬던 마스터사용자 이름을 넣어준다.
- Password:: [Store in Valut..] 클릭후 마찬가지로 ④ 설정에서 입력해줬던 마스터암호를 넣어준다.
-> 여기까지 다 끝마쳤으면 아래 [Test Connection] 클릭
위 모달창이 뜨면 성공적으로 RDS DB에 연결이 만들어진거다.
이제 위 새로 만들어진 커넥션을 클릭하면 RDS DB에 연결된다.
'🌎 Cloud & Infra > AWS' 카테고리의 다른 글
[AWS] AWS EC2를 이용해 배포하기 (3) - EC2 탄력적 IP 주소 할당 + Node.js, PM2, Nginx 설치/실행 (3) | 2023.10.20 |
---|---|
[AWS] AWS EC2를 이용해 배포하기 (1) - EC2 인스턴스 생성 & 접속하기 (SSH KEY 접속) (2) | 2023.10.20 |
dev_genie
@dev_genie
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!