설명
RDS 저장 시 암호화는 데이터베이스 저장소와 관련 로그, 백업, 스냅샷을 보호합니다. 실제로 암호화하지 않은 인스턴스에는 이 보호 계층이 없습니다.
새 일반 RDS 인스턴스에는 필요한 암호화를 명시하세요. 읽기 복제본과 스냅샷 복원은 원본의 암호화 설정을 상속하며, Aurora 인스턴스는 클러스터에서 암호화를 관리합니다. 따라서 인스턴스 템플릿에 StorageEncrypted가 없다는 이유만으로 비암호화 상태라고 단정하지 마세요.
잠재적 영향
비암호화 데이터나 백업을 무단으로 획득하면 민감정보가 노출될 위험이 커집니다. 저장 암호화가 켜져 있어도 데이터베이스 권한과 TLS는 별도로 필요하며, KMS 키를 사용할 수 없으면 서비스가 중단될 수 있습니다.
해결 방법
- 새 일반 인스턴스에는
StorageEncrypted: true와 필요한 키·권한을 설정하세요. 실제 인스턴스와 백업의 암호화 상태를 확인하세요. - 기존 비암호화 인스턴스는 스냅샷을 만든 뒤 암호화된 사본을 생성하고 새 인스턴스로 복원하는 등 지원되는 절차로 이전하세요. 백업, 데이터 일관성과 연결 전환을 검증하세요.
- 비암호화 원본에서 암호화된 읽기 복제본을 만들 수는 없습니다. 리전 간 암호화 복제에는 대상 리전의 KMS 키도 필요합니다.
예시
리전 간 읽기 복제본의 발췌 예시입니다. 참조하는 파라미터는 전체 템플릿에서 정의하고 실제 원본 ARN·리전, 지원되는 인스턴스 클래스와 대상 리전의 키를 제공하세요. 네트워크도 별도로 구성해야 합니다. 두 예시는 서로 다른 원본 상태를 비교하며 기존 데이터베이스를 암호화하는 절차가 아닙니다.
비암호화 원본의 복제본
Resources:
MyDBSmall:
Type: AWS::RDS::DBInstance
Properties:
DBInstanceClass: !Ref DBInstanceType
SourceDBInstanceIdentifier: !Ref UnencryptedSourceDBArn
SourceRegion: !Ref SourceRegion
비암호화 원본의 설정을 상속합니다. 복제본에 암호화 옵션을 추가하는 것으로 원본의 비암호화 데이터를 전환할 수는 없습니다.
암호화된 원본의 복제본
Resources:
MyDBSmall:
Type: AWS::RDS::DBInstance
Properties:
DBInstanceClass: !Ref DBInstanceType
SourceDBInstanceIdentifier: !Ref EncryptedSourceDBArn
SourceRegion: !Ref SourceRegion
KmsKeyId: !Ref MyKey
이미 암호화된 원본과 대상 리전의 KMS 키를 사용합니다. 읽기 복제본의 StorageEncrypted는 원본에서 상속되므로 별도로 지정하지 않습니다. 원본을 바꾸는 업데이트는 전환 계획 없이 적용하지 마세요.