설명
블록 디바이스 매핑은 인스턴스 생성 시 반복적으로 사용되는 기본 구성입니다. 비암호화 EBS 볼륨을 생성하는 설정이 재사용되면 여러 서버의 애플리케이션 데이터와 로그에 영향을 줄 수 있습니다.
실제 암호화는 매핑뿐 아니라 원본 스냅샷과 계정·리전의 EBS 기본 암호화에도 영향을 받습니다. 옵션 생략이나 false만으로 실제 볼륨 상태를 단정하지 말고 확인하세요.
잠재적 영향
비암호화 볼륨이나 스냅샷을 무단으로 획득하면 민감한 데이터가 노출될 위험이 커집니다. 조직의 스토리지 암호화 기준을 충족하지 못할 수도 있습니다.
해결 방법
- 새 EBS 볼륨의
root_block_device와ebs_block_device에는encrypted = true를 명시하고 생성 템플릿에도 적용하세요. - 사용 중인 리전의 EBS 기본 암호화와 KMS 권한을 확인하세요. 새 Auto Scaling 구성에는 Launch Template을 사용하세요.
- 기존 비암호화 볼륨은 암호화된 스냅샷 복사본으로 새 볼륨을 만들어 이전하세요. Terraform 계획의 교체와 데이터 일관성, 연결 전환을 검토하세요.
예시
EC2 인스턴스에 추가 EBS 볼륨을 연결하는 발췌입니다. 유효한 AMI와 네트워크 등 나머지 구성을 제공하세요.
변경 전
hcl
resource "aws_instance" "example" {
ami = data.aws_ami.ubuntu.id
instance_type = "m4.large"
ebs_block_device {
device_name = "/dev/sdf"
volume_size = 20
encrypted = false
}
}
추가 볼륨의 암호화를 명시적으로 요청하지 않습니다. 원본과 리전 기본값에 따라 실제 상태를 확인해야 합니다.
변경 후
hcl
resource "aws_instance" "example" {
ami = data.aws_ami.ubuntu.id
instance_type = "m4.large"
ebs_block_device {
device_name = "/dev/sdf"
volume_size = 20
encrypted = true
}
}
추가 볼륨에 암호화를 요청합니다. 루트 볼륨도 별도로 확인하고 기존 볼륨이 자동으로 암호화된다고 가정하지 마세요.