AWS RDS를 이용하여 MySQL 데이터베이스를 연결해보겠습니다.
RDS내의 MySQL 장점을 찾아본다면
· Storage & IOPS 쉽게 확장이 가능합니다.
· 백업을 신경 쓸 필요가 없습니다. (스냅샷으로 백업이 가능합니다.)
· Auto Failover 가능합니다.
· Multi AZ (DB 인스턴스를 다중 AZ 배포로 실행할 수 있습니다.)가 가능합니다.
1. AWS EC2 내의 DB보안 그룹 설정하기
자신의 AWS EC2 내의 VPC ID를 확인합니다. 현재 저의 인스턴스 보안 그룹은 launch-wizard-2 입니다.
인스턴스 보안 그룹을 선택 후 [보안 그룹 생성]을 눌러 생성합니다.
보안 그룹 이름과 설명을 입력한 후, 인바운드 유형을 MySQL을 선택하면 자동적으로 포트가 3306으로 잡히게 됩니다.
2. DB 그룹 설정하기
AWS RDS를 설정할 차례입니다. 먼저 좌측에 [서브넷 그룹] 탭을 이동하여 [DB 서브넷 그룹 생성] 을 통해 그룹을 생성합니다.
자신의 이름과 설명을 입력한 후 [이 VPC와 관련된 모든 서브넷 추가]를 눌러 모든 서브넷을 추가합니다.
[생성]을 눌러 서브넷 그룹을 생성합니다.
이후 [파라미터 그룹] 탭으로 이동하여 파라미터 그룹을 생성합니다.
해당 그룹에는 [파라미터 그룹 패밀리], [그룹 이름], [설명] 란이 있습니다.
[파라미터 그룹 패밀리]에는 Mysql 5.7 버전으로 선택하였고 [그룹 이름]은 'korean' 로 설정하였습니다.
새로 만든 korean은 한글 지원을 위해 제작한 파리미터 입니다. 기본 MySQL은 한글을 지원하지 않기 때문에 시행하였습니다.
위의 character_set_client의 값을 utf8로 변경하였습니다.
collation_connection 값을 utf8_general_ci 로 변경하였습니다.
이 후 [변경 사항 저장] 을 통해 저장합니다.
3. DB 생성하기
이제 MySQL DB를 생성하겠습니다. 좌측에 [데이터베이스]에 들어가 생성합니다.
엔진을 MySQL을 클릭하여 생성합니다. (위의 이미지는 5.6이지만 다시 삭제하고 5.7로 만들었습니다.)
무료로 사용하기 위해 프리 티어를 클릭합니다. 이외에 다른 템플릿을 클릭 시, 비용이 추가됩니다.
식별자와 Master username, 암호를 입력해줍니다.
서브넷 그룹은 방금 생성한 그룹을 선택하고 VPC 보안 그룹도 만들었던 FlaskDB를 선택합니다.
아까 전에 만들었던 한글 전용 파라미터 그룹을 선택합니다.
모두 선택하시면 데이터베이스를 생성합니다.
몇 분의 시간을 기다리시면 위와 같이 DB가 생성됩니다.
만들었던 DB를 클릭하면 엔드포인트를 확인하실 수 있습니다. 해당 주소는 접속하실 때 이용하게 됩니다.
이전 글에 생성했던 EC2 서버에 접속 후 MySQL을 접속합니다. 만약 MySQL이 설치되지 않았다면 apt-get 을 통해 설치합니다.
sudo apt-get install mysql-server-5.7
설치 후 이제 MySQL에 접속해봅시다.
mysql -u [Master username] -p --host [엔드포인트 주소]
해당 내용을 입력하게 되면 접속하실 수 있습니다.
'Develop > AWS' 카테고리의 다른 글
AWS Route 53 Adress Record 생성 (0) | 2020.01.27 |
---|---|
AWS Load Balancer (ELB) 생성 (0) | 2020.01.27 |
AWS EC2를 이용하여 웹 서버 구축하자 (1) | 2019.09.08 |