VPC 아키텍처 관련 글을 쓰고나니 뭔지 모를 뿌듯함이 들어서 RDS 관련해서도 정리해보려고 한다. RDS를 이용할 경우 가용성, 백업 및 복구, 수직 및 수평 확장 등의 측면에서 여러 장점이 있고, 프리 티어 계정 사용 시 매월 750시간 무료로 사용할 수 있기 때문에 추가적인 비용이 들지 않는다(물론 프리 티어가 지원해주지 않는 옵션을 사용한다면 비용이 발생할 수 있다).
Amazon RDS는 Amazon Relational Database Service의 약자로 클라우드에서 관계형 데이터베이스를 간편하게 관리할 수 있도록 도와주는 서비스이다. 실제 Airbnb도 Amazon RDS를 사용하고 있다.
RDS를 이용하기 위해서는 DB 서브넷 그룹을 만들어야 하는데, 서브넷 그룹은 두 개 이상의 AZ에 생성된 private subnet으로 구성한다.
ap-northeast-2b에 이미 private subnet이 1개 생성되어 있어서, ap-northeast-2a에 새로운 서브넷을 생성해 주었다.
이제 만들어 놓은 서브넷으로 DB 서브넷 그룹을 생성해보자. vpc를 지정한 뒤, 가용영역과 서브넷을 설정해주면 된다.
서브넷 그룹에 들어가면 성공적으로 생성된 서브넷 그룹들이 보인다.
public Subnet에 속한 EC2 인스턴스에 할당한 보안 그룹이 jane-public-sg라고 할 때, RDS는 해당 인스턴스 내부에서 접속하기 때문에 Source를 jane-public-sg로 설정해주면 된다.
이제 RDS를 만들어보자!
데이터베이스 인스턴스를 생성할 경우 사용하고 싶은 데이터베이스 엔진을 지정해야 한다.
이번 프로젝트에서는 MySQL을 데이터베이스 엔진으로 설정해주었다.
원하는 db 인스턴스 식별자를 적어준 뒤 암호 자동 생성을 체크해준다.
다른 옵션들은 프리 티어로 생성했을 경우 거의 비활성화되어 있을 것이다. 만들어 놓은 vpc와 서브넷 그룹을 설정해준다.
public access를 아니요로 설정해주고, 위에서 만들어 놓았던 db용 보안 그룹을 할당해준다.
아래와 같이 설정하면 7일 전 ~ 현재의 아무 시점으로나 돌아갈 수 있다. 자세한 내용은 Point-in-time recovery and continuous backup for Amazon RDS with AWS Backup 아티클을 확인하자.
CloudWatch에 게시하고 싶은 로그 유형을 선택해준다.
나중에 수정하고 싶다면 아래의 절차를 따르면 된다.
- Amazon RDS 콘솔을 연다.
- 탐색 창에서 [데이터베이스]를 선택한다.
- CloudWatch에 로그를 게시하려는 인스턴스를 선택하고 [Modify]를 선택한다.
- [Log exports] 섹션에서 게시할 로그 유형을 선택한다.
- [계속]을 선택하고 [Modify DB Instance]를 선택한다.
생성을 완료하면 파란 창과 함께 자격 증명 세부 정보 보기
버튼이 뜨는데
해당 버튼을 클릭하면 RDS 암호를 확인할 수 있다.
이제 아래 그림과 같이 모든 세팅이 끝났다😆
mysql -u admin -h (rds 주소) -p
명령어와 함께 password를 입력하면 rds에 접속할 수 있다.Source