내용으로 건너뛰기

프로비저닝된 Amazon Aurora DB 클러스터를 공개적으로 액세스할 수 있도록 구성하려면 어떻게 해야 합니까?

3분 분량
0

프로비저닝된 Amazon Aurora DB 클러스터를 공개적으로 액세스할 수 있도록 구성하고 외부 연결로부터 Aurora DB 클러스터를 보호하려고 합니다.

간략한 설명

Aurora DB 클러스터를 공개적으로 액세스할 수 있도록 구성하려면 클러스터의 인스턴스가 퍼블릭 IP 주소를 사용해야 하고 퍼블릭 서브넷에서 실행되어야 합니다.

Aurora DB 인스턴스의 경우 특정 서브넷을 선택할 수 없습니다. 대신 인스턴스를 만들 때 DB 서브넷 그룹을 선택해야 합니다. 네트워크 구성이 비슷한 DB 서브넷 그룹을 생성해야 합니다. 예를 들어 퍼블릭 서브넷용 DB 서브넷 그룹과 프라이빗 서브넷용 DB 서브넷 그룹을 생성합니다.

VPC 외부에서의 연결을 허용하도록 DB 인스턴스를 구성한 후 TLS를 사용하여 연결을 보호할 수 있습니다.

참고: 퍼블릭 액세스 권한이 있어야 하는 경우가 아니면 VPC 외부에서의 연결을 허용하지 않는 것이 보안 모범 사례입니다.

해결 방법

DB 인스턴스의 퍼블릭 액세스 가능 설정을 예로 설정

Amazon Relational Database Service(Amazon RDS) DB 인스턴스의해 공개적으로 액세스 가능 설정은 DB 인스턴스에 대한 퍼블릭 IP 주소 할당을 제어합니다. 이 설정을 아니요로 설정하면 DB 인스턴스에 퍼블릭 IP 주소가 할당되지 않습니다. 이 설정을 로 설정하면 DB 인스턴스에 퍼블릭 IP 주소와 프라이빗 IP 주소가 모두 할당됩니다.

DB 인스턴스의 퍼블릭 액세스 가능 설정을 로 변경하려면 다음 단계를 완료하십시오.

  1. Amazon RDS 콘솔을 엽니다.
  2. 탐색 창에서 데이터베이스를 선택한 다음 DB 인스턴스를 선택합니다.
  3. 수정을 선택합니다.
  4. 연결 섹션에서 추가 구성을 선택한 다음 공개적으로 액세스 가능을 선택합니다.
  5. 계속을 선택합니다.
  6. 수정 예약 섹션에서 사용 사례에 가장 적합한 옵션을 선택합니다.
    참고: 즉시 적용 옵션으로 인해 가동 중지 시간이 발생할 수 있습니다. 자세한 내용은 수정 예약 설정 사용을 참조하십시오.
  7. DB 인스턴스 수정을 선택합니다.

퍼블릭 서브넷에서 DB 인스턴스 실행

DB 인스턴스의 퍼블릭 서브넷이 인터넷에 액세스할 수 있는지 확인하려면 다음 단계를 완료하십시오.

  1. 인터넷 게이트웨이를 생성하여 VPC에 연결합니다.
  2. 탐색 창에서 서브넷을 선택합니다.
  3. DB 서브넷 그룹의 모든 서브넷이 인터넷 게이트웨이에 라우팅 테이블을 사용하는지 확인합니다.
  4. 서브넷이 VPC의 기본 라우팅 테이블을 사용하는 경우 인터넷 게이트웨이(0.0.0.0/0)에 대한 0.0.0.0/0 경로를 추가합니다. 또한 인터넷 게이트웨이에 대한 경로가 포함된 사용자 지정 라우팅 테이블을 생성한 후 해당 라우팅 테이블을 서브넷에 연결할 수 있습니다.
  5. DB 인스턴스에 연결하려는 소스 퍼블릭 IP 주소를 추가하려면 인바운드 보안 그룹 규칙을 구성합니다.
    유형에서 MySQL/Aurora 또는 PostgreSQL을 선택합니다.
    소스에서 사용자 지정을 선택하고 CIDR 범위를 수동으로 입력합니다. 또는 내 IP를 선택하여 동일한 워크스테이션에서 DB 인스턴스에 연결합니다.

VPC 외부의 연결로부터 DB 클러스터 보호

데이터 전송은 인터넷을 통해 이루어지므로 TLS를 사용하여 VPC 외부의 연결을 암호화하십시오. 최고 수준의 보안을 사용하고 있는지 확인하려면 ssl-ca 파라미터를 사용하여 인증 기관(CA) 인증서를 전달한 다음 호스트 이름 검증을 활성화하십시오.

TLS 연결을 테스트하려면 사용 중인 Aurora 버전에 따라 다음 명령을 실행합니다.

Amazon Aurora MySQL 호환 버전 5.6

mysql -h test-aurora-56.cluster-############.us-east-1.rds.amazonaws.com -u test_user --ssl-ca=rds-combined-ca-bundle.pem --ssl-verify-server-cert

참고: test-aurora-56.cluster-############.us-east-1.rds.amazonaws.com을 클러스터 엔드포인트로 대체하십시오. test\ _user를 사용자 이름으로 대체하십시오. rds-combined-ca-bundle.pem을 CA의 경로로 대체하십시오.

Amazon Aurora MySQL 호환 5.7 이상

mysql -h test-aurora-57.cluster-############.us-east-1.rds.amazonaws.com -u test_user --ssl-ca=rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY

참고: test-aurora-57.cluster-############.us-east-1.rds.amazonaws.com을 클러스터 엔드포인트로 대체하십시오. test\ _user를 사용자 이름으로 대체하십시오. rds-combined-ca-bundle.pem을 CA의 경로로 대체하십시오.

Amazon Aurora PostgreSQL 호환 버전

psql -h test-aurora-pg.cluster-############.us-east-1.rds.amazonaws.com -p 5432 "dbname=postgres user=test_user sslrootcert=rds-combined-ca-bundle.pem sslmode=verify-full"

참고: test-aurora-pg.cluster-############.us-east-1.rds.amazonaws.com을 클러스터 엔드포인트로 대체하십시오. 5432를 클러스터 포트로 대체하십시오. postgres를 데이터베이스 사용자 이름으로, test_user를 사용자 이름으로 대체하십시오. rds-combined-ca-bundle.pem을 CA의 경로로 대체하십시오.

또한 DB 클러스터에 TLS를 적용할 수 있습니다. Aurora MySQL 호환 버전의 경우 데이터베이스 사용자 수준에서 TLS를 설정합니다. Aurora PostgreSQL 호환 버전의 경우 rds.force_ssl 파라미터를 1로 설정합니다.

관련 정보

SSL/TLS를 사용하여 DB 클러스터 연결 암호화

SSL/TLS를 사용하여 Aurora PostgreSQL 데이터 보호

Linux 또는 macOS 시스템의 배스천 호스트를 사용하여 Amazon RDS DB 인스턴스에 연결하려면 어떻게 해야 합니까?

Amazon RDS 콘솔에서 프라이빗 및 퍼블릭 Aurora 엔드포인트를 구성하려면 어떻게 해야 합니까?

AWS 공식업데이트됨 8달 전