EC2 起動設定の EBS 暗号化の確認が必要

EC2 の起動設定で EBS 暗号化を確認し、起動テンプレートの更新と既存インスタンスの移行を併せて計画してください。

説明

必要な EBS 暗号化を設定せずに EC2 の起動設定を繰り返し使うと、複数のインスタンスで未暗号化ボリュームが作られる可能性があります。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 アクセスを検証してください。稼働中のインスタンスのボリュームは変更しません。

参考資料