SSL/TLS를 사용하여 DB 인스턴스 또는 클러스터에 대한 연결 암호화
애플리케이션에서 보안 소켓 계층(SSL) 또는 전송 계층 보안(TLS)을 사용하여 Db2, MariaDB, Microsoft SQL Server, MySQL, Oracle 또는 PostgreSQL을 실행하는 데이터베이스에 대한 연결을 암호화할 수 있습니다.
SSL/TLS 연결은 클라이언트와 DB 인스턴스 또는 클러스터 사이에 전송되는 데이터를 암호화하여 하나의 보안 계층을 제공합니다. 필요에 따라 SSL/TLS 연결에서는 데이터베이스에 설치된 서버 인증서를 검증하여 서버 ID 확인을 수행할 수 있습니다. 서버 ID 확인을 요구하려면 다음의 일반적인 절차를 따르세요.
-
데이터베이스의 DB 서버 인증서에 서명하는 인증 기관(CA)을 선택합니다. 인증 기관에 관한 자세한 내용은 인증 기관 단원을 참조하세요.
-
데이터베이스에 연결할 때 사용할 인증서 번들을 다운로드합니다. 인증서 번들을 다운로드하려면 AWS 리전별 인증서 번들 단원을 참조하세요.
참고
모든 인증서는 SSL/TLS 연결을 통한 다운로드에만 사용 가능합니다.
-
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를 설정할 수 있습니다.
-
DB 인스턴스 또는 다중 AZ DB 인스턴스 생성 - DB 인스턴스 또는 클러스터를 생성할 때 CA를 설정할 수 있습니다. 지침은 Amazon RDS DB 인스턴스 생성 또는 Amazon RDS용 다중 AZ DB 클러스터 생성 섹션을 참조하십시오.
-
DB 인스턴스 또는 다중 AZ DB 클러스터 수정 - DB 인스턴스 또는 클러스터를 수정하여 해당 CA를 설정할 수 있습니다. 지침은 Amazon RDS DB 인스턴스 수정 또는 Amazon RDS용 다중 AZ 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를 설정할 수 있습니다. create-db-cluster 또는 modify-db-cluster 명령을 사용하여 다중 AZ 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에 대한 세부 정보를 확인할 수 있습니다. describe-db-cluster 명령을 사용하여 다중 AZ DB 클러스터의 CA에 대한 세부 정보를 볼 수 있습니다.
Amazon RDS용 인증서 번들 다운로드
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 에서는 AWS Certificate Manager(ACM)의 인증서를 사용합니다. RDS 프록시를 사용하는 경우 Amazon RDS 인증서를 다운로드하거나 RDS 프록시 연결을 사용하는 애플리케이션을 업데이트할 필요가 없습니다. 자세한 내용은 RDS Proxy에서 TLS/SSL 사용 단원을 참조하십시오.
AWS 리전에 대한 인증서 번들을 다운로드하려면 다음 표에서 해당 데이터베이스를 호스팅하는 AWS 리전에 대한 링크를 선택하세요.
CA 인증서의 내용 보기
CA 인증서 번들의 내용을 확인하려면 다음 명령을 사용합니다.
keytool -printcert -v -file global-bundle.pem