안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 RDS를 생성할 시, 컴퓨팅 인스턴스로 연결을 자동으로 설정해 보는 과정을 정리해 봤습니다.
컴퓨팅 리소스 연결?
2022년 8월 22일 RDS 생성 시, 선택할 수 있는 옵션이 추가 되었습니다.
업데이트 내용을 살펴보면, Amazon RDS에서 클릭 한 번으로 RDS 데이터베이스 및 EC2 컴퓨팅 인스턴스 사이 연결 설정을 지원한다고 합니다.
우선 RDS를 생성시, EC2를 연결하기 위해서는 EC2 인스턴스가 먼저 생성되어 있어야 합니다.
테스트용 EC2 인스턴스를 생성한 상태입니다.
보안 그룹으로는 핑 테스트를 위한 ICMP와 EC2 인스턴스 접속을 위한 SSH를 인바운드 규칙에 추가한 상태입니다.
※ 본 블로그에서 핑 테스트는 없으므로, ICMP는 없어도 상관 없습니다.
RDS 생성 시, EC2 연결해 보기
RDS를 생성할 떄, 연결 옵션에서 EC2 인스턴스 연결을 설정할 수 있습니다.
- 「EC2 컴퓨팅 리소스에 연결」을 선택합니다.
- 연결하고자 하는 EC2 인스턴스를 선택합니다.
- EC2 인스턴스를 선택하면, 해당 인스턴스가 가동중인 VPC가 자동으로 선택됩니다.
- 서브넷 그룹을 선택합니다.
- 기존 서브넷을 선택할 경우, Public, Private 할 것 없이 모든 서브넷이 선택됩니다.
- 자동 설정을 선택할 시, 자동으로 서브넷과 라우팅 테이블이 생성됩니다.
- 테스트 당시 3개의 Private Subnet과 1개의 라우팅 테이블이 생성되었습니다.
- VPC 보안 그룹을 선택합니다.
- 보안 그룹의 경우 기존 보안 그룹 혹은 새로 생성한 보안 그룹과 함께 추가로 2개의 보안 그룹이 추가로 생성됩니다.
- rds-ec2-1(RDS에서 EC2 인스턴스의 접속을 위해 허가하는 보안 그룹)
- ec2-rds-1(EC2에서 RDS로의 아웃바운드 설정을 위한 보안 그룹)
- 보안 그룹의 경우 기존 보안 그룹 혹은 새로 생성한 보안 그룹과 함께 추가로 2개의 보안 그룹이 추가로 생성됩니다.
결과 확인
설정을 끝마치고. RDS를 생성해 보면「연결된 컴퓨팅 리소스」카테고리에서 연결된 EC2 인스턴스를 확인할 수 있습니다.
여기서 RDS 보안 그룹과 연결된 리소스 보안 그룹 또 한 확인할 수 있습니다.
연결된 EC2 인스턴스에서 RDS로 접속을 시도해 보면, 문제 없이 접속가능한 것을 확인할 수 있습니다.
그렇다면, 어떠한 구조로 설정되어 있기에 연결이 가능한 건지 확인해 보겠습니다.
네트워크 인터페이스로 들어와서 확인해 보면, EC2 인스턴스의 네트워크 인터페이스에는 ec2-rds-1 이라는 이름으로 RDS로의 아웃바운드 규칙을 설정하고 있는 보안 그룹이 추가된 상태입니다.
RDS 또 한, RDS의 네트워크 인터페이스에 기존 혹은 새로 생성한 test-rds 라는 보안 그룹과 EC2 인스턴스의 접속을 허용하고 있는 rds-ec2-1 보안 그룹이 추가된 것을 확인할 수 있습니다.
기존 EC2 인스턴스와 RDS의 보안 그룹에서 2개의 보안 그룹을 더 추가하기 때문에 다수의 보안 그룹을 관리하는 것은 단점이라고 생각하지만, EC2 인스턴스와 RDS를 어떻게 연결할지 모르는 초심자 분들에게는 상당히 편리한 기능이라고 생각합니다.
※ RDS를 삭제한다고 해도, RDS를 생성할 때 설정 혹은 생성 된 서브넷, 라우팅 테이블, 보안 그룹은 삭제되지 않기 때문에 수동으로 삭제할 필요가 있습니다.
본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 클래스메소드코리아 (info@classmethod.kr)로 연락 주시면 빠른 시일 내 담당자가 회신 드릴 수 있도록 하겠습니다 !