설명
Elasticsearch 도메인의 저장 시 암호화는 인덱스, 애플리케이션 데이터와 자동 스냅샷 등을 KMS 키로 보호합니다. 검색 데이터에 운영 로그나 고객 정보가 포함된다면 이 보호가 중요합니다. 암호화는 검색 API를 통해 허용된 데이터 접근을 막지 않으므로 인증과 접근 정책도 필요합니다.
잠재적 영향
저장 시 암호화를 사용하지 않으면 저장된 데이터가 무단으로 획득될 때 노출 위험이 커집니다. 조직에서 요구하는 저장 데이터 보호 기준을 충족하지 못할 수도 있습니다.
해결 방법
지원되는 엔진 버전과 인스턴스 유형에서 EncryptionAtRestOptions.Enabled: true와 적절한 KmsKeyId를 지정하세요. 기존 Elasticsearch 도메인에서 암호화를 켜려면 6.7 이상 등 서비스의 업데이트 조건을 충족해야 합니다. 변경 계획과 복구 수단을 검토한 뒤 실제 암호화 상태를 확인하세요.
활성화한 저장 시 암호화는 끌 수 없으며 사용 중인 키의 비활성화·삭제는 데이터 접근을 중단시킬 수 있습니다. 필요한 키 권한을 유지하고, 수동 스냅샷 저장소와 외부로 내보낸 로그도 별도로 보호하세요.
예시
암호화와 인스턴스 유형을 지원하는 Elasticsearch 버전을 입력합니다. 변경 후에는 승인된 실제 KMS 키 ID 또는 ARN도 지정합니다. 접근 정책과 네트워크 구성은 별도로 필요하며, 이 설정만으로 전체 도메인 보안이 완성되는 것은 아닙니다.
변경 전
yaml
Parameters:
ElasticsearchVersion:
Type: String
Resources:
ElasticsearchDomain:
Type: AWS::Elasticsearch::Domain
Properties:
DomainName: test
ElasticsearchVersion: !Ref ElasticsearchVersion
ElasticsearchClusterConfig:
InstanceType: t3.small.elasticsearch
EncryptionAtRestOptions:
Enabled: false
EBSOptions:
EBSEnabled: true
VolumeSize: 20
VolumeType: gp2
변경 후
yaml
Parameters:
ElasticsearchVersion:
Type: String
EncryptionKeyId:
Type: String
Resources:
ElasticsearchDomain:
Type: AWS::Elasticsearch::Domain
Properties:
DomainName: test
ElasticsearchVersion: !Ref ElasticsearchVersion
ElasticsearchClusterConfig:
InstanceType: t3.small.elasticsearch
EncryptionAtRestOptions:
Enabled: true
KmsKeyId: !Ref EncryptionKeyId
EBSOptions:
EBSEnabled: true
VolumeSize: 20
VolumeType: gp2