본문 바로가기
IT CHANNEL/Infra

[AWS] RDS 및 Aurora SSL/TLS C인증서 업데이트 및 자동교체여부 확인하기

by TitanX 2023. 10. 18.

 

 

AWS 측에서 RDS와 관련된 메일 받게 되었는데,

2024년 8월 22일에 만료될 SSL/TLS 인증서에 관한 중요한 안내 메일이었고

이 인증서는 데이터베이스와 클라이언트 간의 통신을 암호화하므로, 만료되기 전에 업데이트가 필요하다는 설명이 있었다.

 

운영중인 DB 인스턴스를 유지하며 CA 인증서 업데이트 하는 방법을 첨부한다

 

AWS 메일 내용

 

 

 

기존에 AWS에서 rds-ca-2019 라는 인증서가 2024년 8월에 만료되어,

권장하는 인증서 rds-ca-rsa2048-g1로 변경했다

 

 

 

 

CA인증서 변경 필요

 

아직 내 손을 떠나지않은(운영중인) 2개의 프로젝트 총 3개의 인스턴스에 대한 CA인증서 변경이 필요했고,

콘솔을 이용해 업데이트를 진행했다.

 

인스턴스를 재시작하는 방법과 유지하는 방법에 대한 문서(링크)이다.

 

 

 

Dev 서버(staging)를 포함해 Prod 서버에서 운용중인 DB 들이기 때문에 재시작은 불필요했고,

유지하는 방법으로 진행했다

 

 

 

업데이트 방법

 

 

좌측의 인증서 업데이트에 들어간다

인증서 업데이트가 필요한 데이터베이스 항목에서 업데이트 할 인스턴스를 선택하고 “지금적용”을 누른다.

 

 

CA를 선택하고 확인을 누른다

 

 

 

 

 

데이터베이스가 수정되었다는 알림을 확인하면 끝 이다

 

 

 

 

 

 

 

RDS, Aurora 의 엔진에 따라 인증서를 자동으로 교체가 안될 수도 있다

자동서버 인증서 교체에 대한 설명이 들어있는 문서(링크)를 확인해보면
CA에서 자동 서버 인증서 교체를 지원하는 경우 RDS는 DB 서버 인증서의 교체를 자동으로 처리한다

자동 교체는 SupportsCertificateRotationWithoutRestart 파라미터가 True 인 경우를 말한다

 

 

자동교체 확인방법

 

AWS CLI 를 이용해 확인해본 결과는 아래와 같다

 

 

 

{
            "Engine": "aurora-postgresql",
            "EngineVersion": "12.12",
            "DBParameterGroupFamily": "aurora-postgresql12",
            "DBEngineDescription": "Aurora (PostgreSQL)",
            "DBEngineVersionDescription": "Aurora PostgreSQL (Compatible with Po
stgreSQL 12.12)",
            "ValidUpgradeTarget": [
                {
                    "Engine": "aurora-postgresql",
                    "EngineVersion": "12.13",
                    "Description": "Aurora PostgreSQL (Compatible with PostgreSQ
L 12.13)",
                    "AutoUpgrade": false,
                    "IsMajorVersionUpgrade": false,
                    "SupportedEngineModes": [
                        "provisioned"
                    ],
                    "SupportsParallelQuery": false,
                    "SupportsGlobalDatabases": true,
                    "SupportsBabelfish": false,
                    "SupportsLocalWriteForwarding": false
                }
                ...(너무길어 생략)...
            ],
            ...(필요없어 생략)...
            "SupportsCertificateRotationWithoutRestart": true,
            "SupportedCACertificateIdentifiers": [
                "rds-ca-2019",
                "rds-ca-ecc384-g1",
                "rds-ca-rsa4096-g1",
                "rds-ca-rsa2048-g1"
            ],
            "SupportsLocalWriteForwarding": false
        }

 

 

 

 

확인해보니 현재 사용중인 엔진의 경우 자동교체가 되는 엔진이었기에
지금 수동으로 교체 하지 않았어도 큰 문제는 없었다

 

새로알게된 사실도있고 클라이언트를 안심(?)시키는 차원에서 수동으로 진행한 것이 도움이 된 것 같다

 

 

참고

 

 

 

 

SSL/TLS 인증서 교체 - Amazon Relational Database Service

인증서 번들에는 이전 및 신규 CA의 인증서가 들어 있으므로 애플리케이션을 안전하게 업그레이드하고 전환 기간에 연결성을 유지할 수 있습니다. AWS Database Migration Service를 사용하여 데이터베

docs.aws.amazon.com

 

SSL/TLS 인증서 교체 - Amazon Aurora

인증서 번들에는 이전 및 신규 CA의 인증서가 들어 있으므로 애플리케이션을 안전하게 업그레이드하고 전환 기간에 연결성을 유지할 수 있습니다. AWS Database Migration Service를 사용하여 데이터베

docs.aws.amazon.com