EC2 시작 설정의 EBS 암호화 확인 필요

EC2 시작 설정에서 실제 EBS 볼륨의 암호화를 확인하고, 시작 템플릿과 기존 인스턴스의 전환을 함께 계획하세요.

설명

반복 사용하는 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 접근을 검증하세요. 이미 실행 중인 인스턴스의 볼륨은 변경하지 않습니다.

참조