설명
반복 사용하는 EC2 시작 설정에 필요한 EBS 암호화가 빠져 있으면 여러 인스턴스에 비암호화 볼륨이 만들어질 수 있습니다. AMI의 볼륨 매핑, 원본 스냅샷과 리전의 EBS 기본 암호화를 함께 확인하세요. 암호화된 스냅샷이나 기본 암호화가 적용되면 명시적인 암호화 요청이 없어도 새 볼륨이 암호화됩니다.
이전 방식인 Auto Scaling 시작 구성은 생성 후 수정할 수 없습니다. 새 구성에는 시작 템플릿을 사용하고, 기존 시작 구성을 사용하는 그룹은 지원되는 이전 절차를 계획하세요.
잠재적 영향
- 실제로 암호화되지 않은 볼륨이 반복 생성되면 조직의 저장 데이터 보호 요구 사항을 충족하지 못하는 리소스가 늘어날 수 있습니다.
- 시작 설정을 바꿔도 실행 중인 인스턴스의 기존 볼륨은 그대로 남습니다.
해결 방법
- 실제 EBS 매핑에 맞는 암호화와 KMS 권한을 구성하세요. AMI의 루트 볼륨과 추가 데이터 볼륨을 모두 확인하고, 인스턴스 스토어와 EBS를 구분하세요.
- 시작 템플릿의 필요한 버전을 준비하고 Auto Scaling 그룹이 그 버전을 사용하도록 구성하세요. 새 인스턴스의 볼륨 암호화와 정상 동작을 검증한 뒤 서비스 영향을 고려해 교체하세요.
- 기존 비암호화 데이터의 이전, 연결 전환과 중단 시간을 별도로 계획하세요. 템플릿 변경만으로 기존 볼륨이 암호화되지는 않습니다.
예시
시작 템플릿으로 새 빈 데이터 볼륨을 추가하는 예시입니다. 실제 ami_id와 보안 그룹 ID 목록을 제공하고 /dev/sdf가 AMI의 기존 매핑과 겹치지 않는지 확인하세요. 루트 볼륨의 암호화와 Auto Scaling 그룹 연결은 별도로 구성해야 합니다.
명시적 암호화 요청 없음
yaml
- name: EBS encryption for new instances
amazon.aws.ec2_launch_template:
name: special
image_id: "{{ ami_id }}"
security_group_ids: "{{ security_group_ids }}"
instance_type: t3.micro
block_device_mappings:
- device_name: /dev/sdf
ebs:
volume_size: 100
volume_type: gp3
delete_on_termination: true
encrypted: false
추가 데이터 볼륨에 암호화를 명시적으로 요청하지 않습니다. 리전의 기본 암호화가 적용된다면 실제 생성 볼륨은 암호화될 수 있습니다.
새 데이터 볼륨 암호화 요청
yaml
- name: EBS encryption for new instances
amazon.aws.ec2_launch_template:
name: special
image_id: "{{ ami_id }}"
security_group_ids: "{{ security_group_ids }}"
instance_type: t3.micro
block_device_mappings:
- device_name: /dev/sdf
ebs:
volume_size: 100
volume_type: gp3
delete_on_termination: true
encrypted: true
새 데이터 볼륨에 암호화를 요청합니다. 이 템플릿 버전으로 실행한 인스턴스의 실제 볼륨과 KMS 접근을 검증하세요. 이미 실행 중인 인스턴스의 볼륨은 변경하지 않습니다.