SSL/TLS를 사용하여 DB 클러스터에 대한 연결 암호화 - Amazon Aurora

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

애플리케이션에서 SSL(Secure Socket Layer) 또는 TLS(전송 계층 보안)를 사용하여 Aurora MySQL 또는 Aurora PostgreSQL을 실행하는 DB 클러스터에 대한 연결을 암호화할 수 있습니다.

SSL/TLS 연결은 클라이언트와 DB 클러스터 사이에 전송되는 데이터를 암호화하여 하나의 보안 계층을 제공합니다. 필요에 따라 SSL/TLS 연결에서는 데이터베이스에 설치된 서버 인증서를 검증하여 서버 ID 확인을 수행할 수 있습니다. 서버 ID 확인을 요구하려면 다음의 일반적인 절차를 따르세요.

  1. 데이터베이스의 DB 서버 인증서에 서명하는 인증 기관(CA)을 선택합니다. 인증 기관에 관한 자세한 내용은 인증 기관 단원을 참조하세요.

  2. 데이터베이스에 연결할 때 사용할 인증서 번들을 다운로드합니다. 인증서 번들을 다운로드하려면 AWS 리전별 인증서 번들 단원을 참조하세요.

    참고

    모든 인증서는 SSL/TLS 연결을 통한 다운로드에만 사용 가능합니다.

  3. SSL/TLS 연결을 구현하는 DB 엔진 프로세스를 사용하여 데이터베이스에 연결합니다. 각 DB 엔진에는 SSL/TLS를 구현하기 위한 고유한 프로세스가 있습니다. 데이터베이스에서 SSL/TLS를 구현하는 방법을 알아보려면 DB 엔진에 해당하는 아래 링크로 이동하세요.

인증 기관

인증 기관(CA)은 인증서 체인의 맨 위에 있는 루트 CA를 식별하는 인증서입니다. CA는 각 DB 인스턴스에 설치된 DB 서버 인증서에 서명합니다. DB 서버 인증서는 DB 인스턴스를 신뢰할 수 있는 서버로 식별합니다.

인증 기관 개요

Amazon RDS는 데이터베이스의 DB 서버 인증서에 서명할 수 있는 다음 CA를 제공합니다.

인증 기관(CA) 설명 일반 이름(CN)

rds-ca-rsa2048-g1

대부분의 AWS 리전에서 RSA 2048 프라이빗 키 알고리즘과 SHA256 서명 알고리즘을 갖춘 인증 기관을 사용합니다.

AWS GovCloud (US) Regions에서 이 CA는 RSA 2048 프라이빗 키 알고리즘과 SHA384 서명 알고리즘을 갖춘 인증 기관을 사용합니다.

이 CA는 자동 서버 인증서 교체를 지원합니다.

Amazon RDS region-identifier RSA2048 G1

rds-ca-rsa4096-g1

RSA 4096 프라이빗 키 알고리즘과 SHA384 서명 알고리즘을 갖춘 인증 기관을 사용합니다. 이 CA는 자동 서버 인증서 교체를 지원합니다.

Amazon RDS region-identifier RSA4096 G1

rds-ca-ecc384-g1

ECC 384 프라이빗 키 알고리즘과 SHA384 서명 알고리즘을 갖춘 인증 기관을 사용합니다. 이 CA는 자동 서버 인증서 교체를 지원합니다.

Amazon RDS region-identifier ECC384 G1
참고

AWS CLI를 사용하는 경우 describe-certificates를 사용하여 위에 나열된 인증 기관의 유효성을 확인할 수 있습니다.

이러한 CA 인증서는 지역 및 글로벌 인증서 번들에 포함되어 있습니다. rds-ca-rsa2048-g1, rds-ca-rsa4096-g1, rds-ca-ecc384-g1 CA를 데이터베이스에 사용하면 RDS가 데이터베이스에서 DB 서버 인증서를 관리합니다. RDS는 DB 서버 인증서가 만료되기 전에 자동으로 교체합니다.

데이터베이스의 CA 설정

다음 작업을 수행할 때 데이터베이스의 CA를 설정할 수 있습니다.

  • Aurora DB 클러스터 생성 - AWS CLI 또는 RDS API를 사용하여 DB 클러스터에서 첫 번째 DB 인스턴스를 생성할 때 Aurora 클러스터의 DB 인스턴스에 대한 CA를 설정할 수 있습니다. 현재는 RDS 콘솔을 사용하여 DB 클러스터를 설정할 때 DB 클러스터의 DB 인스턴스에 대한 CA를 설정할 수 없습니다. 지침은 Amazon Aurora DB 클러스터 생성 단원을 참조하십시오.

  • DB 인스턴스 수정 - DB 클러스터의 DB 인스턴스를 수정하여 해당 CA를 설정할 수 있습니다. 지침은 DB 클러스터에서 DB 인스턴스 수정 단원을 참조하십시오.

참고

기본 CA는 rds-ca-rsa2048-g1로 설정되어 있습니다. modify-certificates 명령을 사용하여 AWS 계정에 기본 CA를 재정의할 수 있습니다.

사용 가능한 CA는 DB 엔진 및 DB 엔진 버전에 따라 다릅니다. AWS Management Console을 사용하는 경우 다음 이미지에 표시된 것처럼 인증 기관 설정을 사용하여 CA를 선택할 수 있습니다.

인증 기관 옵션

콘솔에는 DB 엔진 및 DB 엔진 버전에 사용할 수 있는 CA만 표시됩니다. AWS CLI를 사용하는 경우 create-db-instance 또는 modify-db-instance 명령을 사용하여 DB 인스턴스의 CA를 설정할 수 있습니다.

AWS CLI를 사용하는 경우 describe-certificate 명령을 사용하여 계정에 사용할 수 있는 CA를 확인할 수 있습니다. 이 명령은 출력의 ValidTill에 각 CA의 만료 날짜도 표시합니다. describe-db-engine-version 명령을 사용하여 특정 DB 엔진 및 DB 엔진 버전에 사용할 수 있는 CA를 찾을 수 있습니다.

다음 예제는 기본 RDS for PostgreSQL DB 엔진 버전에 사용할 수 있는 CA를 보여 줍니다.

aws rds describe-db-engine-versions --default-only --engine postgres

다음과 같은 출력이 표시됩니다. 사용 가능한 CA는 SupportedCACertificateIdentifiers에 나열되어 있습니다. 출력은 SupportsCertificateRotationWithoutRestart에서 DB 엔진 버전이 다시 시작하지 않고 인증서를 교체하는 기능을 지원하는지 여부도 표시합니다.

{ "DBEngineVersions": [ { "Engine": "postgres", "MajorEngineVersion": "13", "EngineVersion": "13.4", "DBParameterGroupFamily": "postgres13", "DBEngineDescription": "PostgreSQL", "DBEngineVersionDescription": "PostgreSQL 13.4-R1", "ValidUpgradeTarget": [], "SupportsLogExportsToCloudwatchLogs": false, "SupportsReadReplica": true, "SupportedFeatureNames": [ "Lambda" ], "Status": "available", "SupportsParallelQuery": false, "SupportsGlobalDatabases": false, "SupportsBabelfish": false, "SupportsCertificateRotationWithoutRestart": true, "SupportedCACertificateIdentifiers": [ "rds-ca-rsa2048-g1", "rds-ca-ecc384-g1", "rds-ca-rsa4096-g1" ] } ] }

DB 서버 인증서 유효 기간

DB 서버 인증서의 유효 기간은 DB 엔진 및 DB 엔진 버전에 따라 다릅니다. DB 엔진 버전에서 재시작 없이 인증서를 교체하는 기능을 지원하는 경우 DB 서버 인증서의 유효 기간은 1년입니다. 그렇지 않으면 유효 기간은 3년입니다.

DB 서버 인증서 교체에 대한 자세한 내용은 자동 서버 인증서 교체 단원을 참조하세요.

DB 인스턴스의 CA 보기

콘솔의 연결 및 보안 탭에서 다음 이미지와 같이 데이터베이스의 CA에 대한 세부 정보를 볼 수 있습니다.

인증 기관 세부 정보

AWS CLI를 사용 중인 경우 describe-db-instances 명령을 사용하여 DB 인스턴스의 CA에 대한 세부 정보를 확인할 수 있습니다.

Aurora용 인증서 번들 다운로드

SSL 또는 TLS로 데이터베이스에 연결하는 경우 데이터베이스 인스턴스에 Amazon RDS의 신뢰 인증서가 필요합니다. 다음 표에서 적절한 링크를 선택하여 데이터베이스를 호스팅하는 AWS 리전에 해당하는 번들을 다운로드하세요.

AWS 리전별 인증서 번들

모든 AWS 리전 리전과 GovCloud(US) 리전의 인증서 번들에는 다음과 같은 루트 CA 인증서가 포함되어 있습니다.

  • rds-ca-rsa2048-g1

  • rds-ca-rsa4096-g1

  • rds-ca-ecc384-g1

애플리케이션 트러스트 스토어에는 루트 CA 인증서만 등록하면 됩니다.

참고

Amazon RDS Proxy 및 Aurora Serverless v1 사용에서는 AWS Certificate Manager(ACM)의 인증서를 합니다. RDS 프록시를 사용하는 경우 Amazon RDS 인증서를 다운로드하거나 RDS 프록시 연결을 사용하는 애플리케이션을 업데이트할 필요가 없습니다. 자세한 내용은 RDS Proxy에서 TLS/SSL 사용 단원을 참조하십시오.

Aurora Serverless v1을 사용하는 경우 Amazon RDS 인증서를 다운로드할 필요가 없습니다. 자세한 내용은 Aurora Serverless v1에서 TLS/SSL 사용 단원을 참조하십시오.

AWS 리전에 대한 인증서 번들을 다운로드하려면 다음 표에서 해당 데이터베이스를 호스팅하는 AWS 리전에 대한 링크를 선택하세요.

AWS 리전 인증서 번들(PEM) 인증서 번들(PKCS7)
모든 상업용 AWS 리전 global-bundle.pem global-bundle.p7b
미국 동부(버지니아 북부) us-east-1-bundle.pem us-east-1-bundle.p7b
미국 동부(오하이오) us-east-2-bundle.pem us-east-2-bundle.p7b
미국 서부(캘리포니아 북부) us-west-1-bundle.pem us-west-1-bundle.p7b
미국 서부(오리건) us-west-2-bundle.pem us-west-2-bundle.p7b
Africa (Cape Town) af-south-1-bundle.pem af-south-1-bundle.p7b
Asia Pacific (Hong Kong) ap-east-1-bundle.pem ap-east-1-bundle.p7b
아시아 태평양(하이데라바드) ap-south-2-bundle.pem ap-south-2-bundle.p7b
아시아 태평양(자카르타) ap-southeast-3-bundle.pem ap-southeast-3-bundle.p7b
아시아 태평양(말레이시아) ap-southeast-5-bundle.pem ap-southeast-5-bundle.p7b
아시아 태평양(멜버른) ap-southeast-4-bundle.pem ap-southeast-4-bundle.p7b
아시아 태평양(뭄바이) ap-south-1-bundle.pem ap-south-1-bundle.p7b
Asia Pacific (Osaka) ap-northeast-3-bundle.pem ap-northeast-3-bundle.p7b
아시아 태평양(도쿄) ap-northeast-1-bundle.pem ap-northeast-1-bundle.p7b
Asia Pacific (Seoul) ap-northeast-2-bundle.pem ap-northeast-2-bundle.p7b
아시아 태평양(싱가포르) ap-southeast-1-bundle.pem ap-southeast-1-bundle.p7b
아시아 태평양(시드니) ap-southeast-2-bundle.pem ap-southeast-2-bundle.p7b
Canada (Central) ca-central-1-bundle.pem ca-central-1-bundle.p7b
캐나다 서부(캘거리) ca-west-1-bundle.pem ca-west-1-bundle.p7b
유럽(프랑크푸르트) eu-central-1-bundle.pem eu-central-1-bundle.p7b
유럽(아일랜드) eu-west-1-bundle.pem eu-west-1-bundle.p7b
Europe (London) eu-west-2-bundle.pem eu-west-2-bundle.p7b
Europe (Milan) eu-south-1-bundle.pem eu-south-1-bundle.p7b
Europe (Paris) eu-west-3-bundle.pem eu-west-3-bundle.p7b
유럽(스페인) eu-south-2-bundle.pem eu-south-2-bundle.p7b
유럽(스톡홀름) eu-north-1-bundle.pem eu-north-1-bundle.p7b
유럽(취리히) eu-central-2-bundle.pem eu-central-2-bundle.p7b
이스라엘(텔아비브) il-central-1-bundle.pem il-central-1-bundle.p7b
Middle East (Bahrain) me-south-1-bundle.pem me-south-1-bundle.p7b
중동(UAE) me-central-1-bundle.pem me-central-1-bundle.p7b
남아메리카(상파울루) sa-east-1-bundle.pem sa-east-1-bundle.p7b
모든 AWS GovCloud (US) Region global-bundle.pem global-bundle.p7b
AWS GovCloud(미국 동부) us-gov-east-1-bundle.pem us-gov-east-1-bundle.p7b
AWS GovCloud(미국 서부) us-gov-west-1-bundle.pem us-gov-west-1-bundle.p7b

CA 인증서의 내용 보기

CA 인증서 번들의 내용을 확인하려면 다음 명령을 사용합니다.

keytool -printcert -v -file global-bundle.pem