설명
검색 도메인에는 로그, 문서 인덱스, 운영 데이터가 저장될 수 있어 저장 암호화가 필요합니다. 암호화가 비활성화되어 있으면 인덱스와 관련 저장 데이터에 이 보호 계층이 적용되지 않습니다.
저장 암호화는 도메인 데이터와 자동 스냅샷을 보호합니다. 수동 스냅샷 저장소와 CloudWatch로 내보낸 로그, 전송 중 데이터는 별도로 보호해야 합니다.
잠재적 영향
암호화되지 않은 저장 데이터나 백업을 권한 없는 주체가 확보하면 민감한 문서와 로그가 노출될 수 있습니다. 조직의 검색 서비스 암호화 요구사항도 충족하지 못할 수 있습니다.
해결 방법
encrypt_at_rest의enabled = true를 설정하세요. 고객 관리형 키가 필요하면kms_key_id에 승인된 키 ARN을 지정하세요.- 새 도메인은 Elasticsearch 5.1 이상과 암호화를 지원하는 인스턴스 유형이 필요합니다. 기존 도메인은 6.7 이상에서 암호화를 활성화할 수 있으며, 더 낮은 버전에서는 Terraform이 도메인을 교체할 수 있으므로 데이터 이전을 먼저 계획하세요.
- 변경 계획과 서비스별 제약을 확인하고 실제 암호화 상태, 키 권한, 스냅샷 복구와 클라이언트 연결을 검증하세요. 원본 데이터와 복구 수단을 보존하세요.
예시
지원되는 버전을 변수로 받는 암호화 설정 발췌입니다. 필요한 인스턴스·스토리지·접근 정책·네트워크 설정은 별도로 구성하세요.
변경 전
hcl
resource "aws_elasticsearch_domain" "search_domain" {
domain_name = "example"
elasticsearch_version = var.elasticsearch_version
encrypt_at_rest {
enabled = false
}
}
도메인의 저장 암호화를 비활성화합니다.
변경 후
hcl
resource "aws_elasticsearch_domain" "search_domain" {
domain_name = "example"
elasticsearch_version = var.elasticsearch_version
encrypt_at_rest {
enabled = true
}
}
저장 암호화를 활성화합니다. 키를 생략하면 기본 서비스 KMS 키를 사용하므로 고객 관리형 키 요구사항도 별도로 확인하세요.