프로비저닝된 Amazon Aurora DB 클러스터를 공개적으로 액세스할 수 있도록 구성하려고 합니다. 또한 외부 연결로부터 Aurora DB 클러스터를 보호하려고 합니다.
간략한 설명
전제 조건: Amazon Virtual Private Cloud(Amazon VPC) 연결 외부에서 DB 클러스터에 연결하려면 클러스터 인스턴스에 퍼블릭 IP 주소가 있어야 합니다. 또한 Aurora DB 인스턴스는 공개적으로 액세스할 수 있는 서브넷에서 실행되어야 합니다.
TLS를 사용하여 VPC 외부에서의 연결을 보호할 수 있습니다.
해결 방법
DB 인스턴스의 퍼블릭 IP 주소 설정
DB 인스턴스의 퍼블릭 IP 주소를 설정하려면 DB 인스턴스를 수정합니다. DB 인스턴스 수정 페이지의 연결에서 추가 구성을 확장합니다. 퍼블릭 서브넷에서 DB 인스턴스 실행에서 공개적으로 액세스 가능을 선택합니다.
퍼블릭 서브넷에서 DB 인스턴스 실행
DB 인스턴스의 서브넷이 인터넷에 액세스할 수 있는지 확인하려면 다음 단계를 완료합니다.
- VPC에 인터넷 게이트웨이가 연결되어 있는지 확인합니다.
- DB 서브넷 그룹의 모든 서브넷이 인터넷 게이트웨이에 라우팅 테이블을 사용하는지 확인합니다. 서브넷이 VPC의 기본 라우팅 테이블을 사용하는 경우 인터넷 게이트웨이(0.0.0.0/0)에 대한 경로를 추가합니다. 또한 인터넷 게이트웨이에 대한 경로가 포함된 사용자 지정 라우팅 테이블을 만들고, 서브넷에 연결할 수 있습니다.
- 보안 그룹의 인바운드 규칙을 수정하여 DB 인스턴스에서 연결하려는 소스 퍼블릭 IP 주소를 추가합니다. 규칙 설정 구성:
유형에서 엔진에 따라 MySQL/Aurora 또는 PostgreSQL을 선택합니다.
소스에서 CIDR 범위를 수동으로 입력하거나 내 IP를 선택하여 동일한 워크스테이션에서 DB 인스턴스에 연결합니다.
VPC 외부의 연결로부터 DB 클러스터 보호
TLS를 사용하여 VPC 외부에서의 연결을 암호화합니다. 데이터 전송은 인터넷에서 이루어집니다. 따라서 ssl-ca 파라미터를 사용하여 CA 인증서를 전달한 다음 호스트 이름 검증을 활성화하는 것이 좋습니다.
TLS 연결을 테스트하려면 사용 중인 Aurora 버전에 따라 명령을 실행합니다.
Aurora MySQL 호환 5.7 이상:
mysql -h Your-aurora-cluster-endpoint.cluster-abcdefghxyz.us-east-1.rds.amazonaws.com -u your-db-user --ssl-ca=rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY
참고: Your-aurora-cluster-endpoint.cluster-abcdefghxyz.us-east-1.rds.amazonaws.com을 클러스터 엔드포인트 ARN으로, your-db-user를 데이터베이스 사용자로 바꾸십시오.
Amazon Aurora PostgreSQL 호환 버전:
psql -h your-aurora-cluster-endpoint.cluster-abcdefghxyz.us-east-1.rds.amazonaws.com -p 5432 "dbname=postgres user=your-db-user sslrootcert=rds-combined-ca-bundle.pem sslmode=verify-full"
참고: Your-aurora-cluster-endpoint.cluster-abcdefghxyz.us-east-1.rds.amazonaws.com을 클러스터 엔드포인트 ARN으로, your-db-user를 데이터베이스 사용자로 바꾸십시오.
또한 DB 클러스터에 TLS를 적용할 수 있습니다. Aurora MySQL 호환 버전의 경우 데이터베이스 사용자 수준에서 TLS를 설정합니다. Aurora PostgreSQL 호환 버전의 경우 rds.force_ssl 파라미터를 1로 설정합니다.
관련 정보
Aurora MySQL DB 클러스터에 대한 TLS 연결
SSL/TLS를 사용한 Aurora PostgreSQL 데이터 보안
Linux 또는 macOS 시스템의 배스천 호스트를 사용하여 Amazon RDS DB 인스턴스에 연결하려면 어떻게 해야 합니까?
Amazon RDS 콘솔에서 프라이빗 및 퍼블릭 Aurora 엔드포인트를 구성하려면 어떻게 해야 합니까?