BLOG
이전에 AWS는 2020년 2월 5일과 3월 5일 사이에 RDS가 RDS 데이터베이스 인스턴스를 다시 시작하지 않고 자동으로 새로운 인증서로 변경되도록 준비할 예정이라고 전달했었습니다. 이후 AWS는 고객의 피드백을 고려하여 고객에게 업데이트를 완료할 수 있는 시간을 최대한 드리기 위해 2020년 3월 5일 이전에 RDS는 데이터베이스 인증서를 자동으로 준비하거나 업데이트하지 않을 예정이라고 합니다.
즉, 2020년 3월 5일까지 새로운 CA 인증서를 사용하기 위한 애플리케이션과 데이터베이스를 업데이트할 수 있습니다.
이미 이메일을 받아보시거나, AWS 콘솔 공지를 보신 분 들도 있겠지만 다시 한번 알려드립니다.
인증서를 업데이트해야 하나요?
만약 지금 Amazon Aurora, Amazon Relational Database Service (RDS), or Amazon DocumentDB (with MongoDB compatibility)를 사용하고 데이터베이스 인스턴스 연결시에 SSL/TLS 인증서 검증을 활용하는 경우이시라면, 새로운 인증서를 다운로드 및 설치해야 하며, 인스턴스의 인증기관(CA)를 교체한 다음 인스턴스를 재부팅하셔야 합니다.
만약 SSL/TLS 연결 또는 유효한 인증검사를 사용하지 않으시는 경우라면 업데이트할 필요가 없습니다. 하지만 나중에 SSL/TLS 연결을 사용할 예정이시라면 업데이트 하시는 것을 추천 드립니다. 이 경우에는 재 시작을 하지 않아도 되는 새로운 CLI 옵션을 사용할 수 있습니다.
새로운 인증서(CA-2019)는 기존의 인증서인(CA-2015)를 포함하는 인증서 번들의 한 부분으로 어떤 걸 사용할지에 대한 고민 없이 전환이 가능합니다.
언제부터 가능하고, 언제까지 해야하죠?
RDS, Aurora, Amazon DocumentDB의 SSL/TLS 인증서는 매 5년마다 만료되며 교체되어야 합니다. 아래 중요 날짜들을 참고 부탁드립니다.
2019년 9월 19일 – CA-2019 인증서 출시
2020년 1월 14일 – 이 날짜 이후에 생성된 인스턴스에 대하여 새로운 인증서가 적용되며 필요하다면 일시적으로 예전 인증서로 바꿀 수 있습니다.
2020년 2월 5일 – 3월 5일 – RDS는 기존 인스턴스에서 새로운 인증서를 설치해야 합니다. (설치하지만 활성화 하지 않음) 인스턴스를 다시 시작하면 인증서가 활성화 될 것입니다.
2020년 3월 5일 – CA-2015 인증서가 만료됩니다. 인증서 검증은 가능하지만 업데이트되지 않은 어플리케이션은 연결이 끊어질 것입니다.
업데이트는 어떻게 하나요?
이 공지사항을 위해 이번달 초에 Amazon RDS for MySQL을 만들었으며 아래의 스크린 샷 에서 확인할 수 있듯이, RDS 콘솔은 인증서 업데이트를 수행해야 함을 알려줍니다.
Using SSL/TLS to Encrypt a Connection to a DB Instance에 방문하여 새로운 인증서를 다운로드
합니다. 만약 데이터베이스 클라이언트가 인증서 체인을 다루는 방법을 알고 있다면
루트 인증서를 다운받아 모든 리전에 사용할 수 있습니다. 만약 그렇지 않은 경우
데이터베이스 인스턴스가 존재하는 특정 리전에 대한 고유한 인증서를 다운로드 합니다.
저는 예전 루트 인증서와 새로운 루트 인증서가 모두 포함된 번들을 다운로드 하였습니다.
다음 단계로는 새로운 인증서를 사용할 수 있도록 클라이언트 응용프로그램을 업데이트 합니다. 이 프로세스는 각각의 앱 및 각각의 데이터베이스 Client Labrary에 따라 다르므로 세부 사항을 다루지는 않겠습니다.
클라이언트 응용 프로그램이 업데이트 되고 난 후에는 새로운 인증기관(CA)인 rds-ca-2019로 인증서를 교체합니다. 콘솔에서 인스턴스를 변경할 수 있으며 새로운 CA를 선택하시면 됩니다.
CLI 통하여 작업을 수행할 수도 있습니다.
$ aws rds modify-db-instance –db-instance-identifier database-1 \
–ca-certificate-identifier rds-ca-2019
다음 maintenance window 기간 동안 변경사항이 적용될 것이며 바로 적용도 가능합니다.
$ aws rds modify-db-instance –db-instance-identifier database-1 \
–ca-certificate-identifier rds-ca-2019 –apply-immediately
인스턴트 재 부팅 후(바로 적용하거나 maintenance window 기간 동안) 어플리케이션을 테스트하여 잘 작동되는지 확인합니다.
만약 SSL을 사용하지 않는고 재부팅 하는 것을 원하지 않을 때는 –no-certificate-rotation-restart: 을 사용합니다.
$ aws rds modify-db-instance –db-instance-identifier database-1 \
–ca-certificate-identifier rds-ca-2019 –no-certificate-rotation-restart
데이터베이스 엔진은 다음번 재부팅이나 계획되지 않은 재부팅에 중에 새로운 인증서를 선택합니다.
RDS ModifyDBInstance API function 또는 CloudFormaiton 템플릿을 사용하여 인증기관을 변경할 수 있습니다.
다시 한번 말씀 드리지만, 이 모든 것들은 2020년 3월 5일까지 모두 진행 되어야 하며, 그렇지 않을 경우 SSL이나 TLS를 사용하여 데이터베이스 인스턴스에 연결하지 못할 수 있습니다.
참고 사항
아래의 중요한 내용들을 참고해 주십시오.
Amazon Aurora Serverless – AWS Certificate Manager (ACM)을 사용하여 데이터베이스 엔진에 대한 인증서 교체를 관리하고 별도의 조치가 필요하지 않습니다.
해당 리전 정보 – Asia Pacific(홍콩), Middle East(바레인) 그리고 China(Ningxia)를 제외한 모든 상업용 AWS 지역에서 데이터베이스 인스턴스에 대한 교체가 필요합니다.
클러스터 크기 조정 – 만약 기존 클러스터에 추가를 원한다면 기존 노드 중 한 개 이상이 이미 CA-2019가 존재 할 때, 새 노드는 CA-2019 인증서를 받게되며, 그렇지 않은 경우에는 CA-2015 인증서가 사용될 것입니다.
추가 정보
추가적인 정보가 필요할 시 아래 링크를 확인해 주세요.
- Amazon DocumentDB TLS 인증서 업데이트
- 새로운 SSL/TLS 인증서를 사용하여 MariaDB 인스턴스에 연결하기위한 어플리케이션 업데이트
- 새로운 SSL/TLS 인증서를 사용하여 Microsoft SQL Server DB 인스턴스에 연결하기위한 어플리케이션 업데이트
- 새로운 SSL/TLS 인증서를 사용하여 MySQL DB 인스턴스에 연결하기위한 어플리케이션 업데이트
- 새로운 SSL/TLS 인증서를 사용하여 Oracle DB 인스턴스에 연결하기 위한 어플리케이션 업데이트
- 새로운 SSL/TLS 인증서를 사용하여 PostgreSQL DB 인스턴스에 연결하기 위한 어플리케이션 업데이트
- 새로운 SSL/TLS 인증서를 사용하여 Aurora MySQL DB 클러스터에 연결하기 위한 어플리케이션 업데이트
- 새로운 SSL/TLS 인증서를 사용하여 Aurora PostgreSQL DB 클러스터에 연갈하기 위한 어플리케이션 업데이트
** 메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 개제하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달드리도록 하겠습니다.