개요
RDS는 DB 인스턴스를 암호화할 수 있는데, 유휴 시 암호화되는 데이터는 DB 인스턴스의 기본 스토리지, 자동 백업 파일, 읽기 전용 복제본, 스냅샷이 포함된다. 암호화된 DB 인스턴스는 AES-256 알고리즘을 사용하여 암호화되며, 암호화가 성능에 미치는 영향을 최소화한 상태에서 데이터 접근 및 암호 해독을 처리한다.
이번에 RDS 내 데이터의 보안을 강화하기 위해 암호화되어 있지 않은 RDS 스토리지를 암호화하려고 한다. 하지만 RDS 스토리지 암호화 설정은 RDS를 생성할 때만 가능하다!
단, 암호화된 스냅샷을 사용하여 스냅샷 복원 작업을 수행하면 암호화된 RDS 인스턴스로 복원할 수 있다.
❗
암호화 되지 않은 스냅샷을 복원하면 암호화된 RDS 인스턴스는 생성할 수 없다.
반대로 암호화된 스냅샷을 복원하면 암호화되지 않은 RDS 인스턴스는 생성할 수 없다.
이 글에서는 암호화되지 않은 RDS를 스냅샷을 복원하는 방식으로 암호화된 RDS 인스턴스를 생성해보려고 한다.
수행 과정은 다음과 같다.
1. 원본 RDS 인스턴스 스냅샷 생성
2. 생성한 RDS 스냅샷 암호화
3. 암호화된 스냅샷 복원
스냅샷 생성 및 복원 방법은 이전에 작성한 글이 있어, 이 글에서는 암호화로 인해 변경되는 부분에 대해서만 작성한다.
암호화 스냅샷 생성
1. RDS 스냅샷 생성
2023.09.25 - [AWS] RDS - 스냅샷 생성/삭제 참고하여 원본 RDS의 스냅샷을 생성한다.
2. 스냅샷 복사
생성한 스냅샷을 복사하면서 암호화를 설정하는 과정이다.
2-1) 복사할 스냅샷 선택 > 작업 > 스냅샷 복사
2-2) 스냅샷 복사 설정
스냅샷을 복사할 리전과 복사한 스냅샷의 이름, 그리고 옵션 그룹을 지정한다.
그리고 암호화 항목에서 암호화 활성화를 체크한다. 이 글에서는 AWS RDS 기본 KMS 키를 사용해 암호화를 수행한다.
만약 스냅샷을 다른 AWS 계정과 공유하고 싶다면 별도의 KMS 키를 생성하여 사용해야 한다. (참고 : https://hyeon-joo.tistory.com/9)
설정을 완료하고 스냅샷 복사를 클릭하면 스냅샷 페이지로 이동하고, 잠시 기다리면 생성이 완료되어 사용가능한 상태로 변경된다.
암호화 상태도 확인해본다.
3. 암호화된 스냅샷으로 복원
암호화한 스냅샷을 사용해 RDS 인스턴스로 복원한다.
참고 : 2023.09.26 - [AWS] RDS - 스냅샷으로 RDS 복원
다른 부분은 이전 글과 동일하고 암호화 설정만 추가로 보면 활성화된 상태로 잠겨있는 것을 확인할 수 있다.
다만 RDS 인스턴스 타입에 따라 RDS 암호화 지원 여부가 다를 수 있으니 주의한다. 그래도 최신 세대는 거의 다 지원하지 않을까 싶다. 이 글에서는 db.t2.micro가 아니라 db.t3.micro 타입으로 생성했다.
복원한 RDS 확인
복원한 RDS 인스턴스의 암호화가 잘 활성화되어 있는지 확인한다.
원본과 복사본의 데이터베이스 목록도 한 번 확인해 본다.
참고 문서
https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Overview.Encryption.html
https://repost.aws/ko/knowledge-center/encrypt-rds-snapshots