RDS 클러스터 스냅샷 암호화 점검

RDS 클러스터 스냅샷과 원본의 실제 암호화 상태를 함께 확인하세요.

설명

클러스터 스냅샷은 복구용 백업인 동시에 민감한 데이터의 사본입니다. 스냅샷의 암호화는 원본 클러스터의 실제 암호화 상태를 따르므로 원본과 스냅샷을 함께 확인해야 합니다.

설정에서 storage_encrypted를 생략했다고 원본이 반드시 비암호화인 것은 아닙니다. 현재 새 Aurora 클러스터는 기본 암호화를 사용하며, 복원·복제한 클러스터는 원본과 생성 방식에 따라 상태가 달라질 수 있습니다.

잠재적 영향

실제로 암호화되지 않은 스냅샷을 권한 없는 주체가 확보하면 복구용 데이터가 노출될 수 있습니다. 백업 암호화 요구사항도 충족하지 못할 수 있습니다. 스냅샷 공유 권한과 KMS 키 접근은 별도로 관리해야 합니다.

해결 방법

  • 실제 원본 클러스터와 스냅샷의 암호화 상태를 확인하고 새 클러스터에는 필요한 암호화와 키를 명시하세요.
  • 기존 비암호화 스냅샷은 지원되는 암호화 복사 기능으로 새 복사본을 만들고 복원을 검증하세요. 원본 클러스터의 설정만 바꾸어 기존 스냅샷을 암호화할 수는 없습니다.
  • 클러스터 이전이 필요하면 Terraform 교체 계획, 데이터 일관성과 애플리케이션 전환을 검토하고 원본과 필요한 키를 보존하세요.

예시

스냅샷과 원본 클러스터 연결을 보여 주는 발췌입니다. 필요한 엔진·인증·네트워크 설정은 별도로 구성하세요. skip_final_snapshot = true는 클러스터 삭제 시 최종 스냅샷을 생략하므로 별도의 백업 보존 정책이 필요합니다.

암호화 설정 생략

hcl
resource "aws_db_cluster_snapshot" "db_snapshot" {
  db_cluster_identifier          = aws_rds_cluster.example2.id
  db_cluster_snapshot_identifier = "resourcetestsnapshot1234"
}

resource "aws_rds_cluster" "example2" {
  cluster_identifier  = "example"
  skip_final_snapshot = true
}

원본의 암호화를 명시하지 않았습니다. 이 발췌만으로 실제 스냅샷이 비암호화라고 판단할 수는 없습니다.

암호화 명시

hcl
resource "aws_db_cluster_snapshot" "db_snapshot" {
  db_cluster_identifier          = aws_rds_cluster.example.id
  db_cluster_snapshot_identifier = "resourcetestsnapshot1234"
}

resource "aws_rds_cluster" "example" {
  cluster_identifier  = "example"
  skip_final_snapshot = true
  storage_encrypted   = true
}

원본 클러스터에 암호화를 명시합니다. 두 발췌는 기존 클러스터나 스냅샷의 데이터 이전 절차를 대신하지 않습니다.

참조