説明
EBS の暗号化は、ボリュームと関連スナップショットの保存データを保護します。新しいボリュームの暗号化には、Encrypted の指定だけでなく、リージョンのデフォルト暗号化や元のスナップショットも影響します。省略や false だけで、実際のボリュームが非暗号化とは判断できません。
必要な暗号化を明示し、作成されたボリュームを確認してください。保存時の暗号化は、インスタンス内部の過剰な権限やアプリケーション経由の情報漏えいを防ぐアクセス制御の代わりにはなりません。
想定される影響
- 実際に暗号化されていないボリュームやスナップショットは、データ保護要件を満たさない可能性があります。
- キー権限の誤りや予期しないインスタンスの置き換えは、データアクセスやサービスの可用性に影響します。
対処方法
- 暗号化が必要な新しい EBS ボリュームには
Encrypted: trueを設定し、元のイメージ・スナップショット、既定値、KMS 権限を確認してください。 - 既存の非暗号化ボリュームは、暗号化コピーと新しいボリュームを使って移行してください。実行中の
AWS::EC2::Instanceでこのプロパティを変えるとインスタンスが置き換わるため、変更セットとデータ保持を先に確認してください。 - 新規の Auto Scaling 構成には起動テンプレートを使い、変更後に実際のすべての EBS ボリュームと関連スナップショットを確認してください。
例
ImageId には対象リージョンで利用でき、インスタンスタイプと互換性のある AMI を指定してください。新しいデータボリュームの例であり、/dev/sdf が AMI の既存マッピングと重複しないことが必要です。ルートボリュームとネットワークは別途確認してください。
暗号化を明示的に要求しないボリューム
json
{
"AWSTemplateFormatVersion": "2010-09-09",
"Parameters": {
"ImageId": {
"Type": "AWS::EC2::Image::Id"
}
},
"Resources": {
"MyEC2Instance": {
"Type": "AWS::EC2::Instance",
"Properties": {
"ImageId": {
"Ref": "ImageId"
},
"InstanceType": "t2.micro",
"BlockDeviceMappings": [
{
"DeviceName": "/dev/sdf",
"Ebs": {
"VolumeSize": 8,
"VolumeType": "gp3",
"Encrypted": false
}
}
]
}
}
}
}
デフォルト暗号化が無効なら、この新しい空のボリュームは暗号化されません。リージョンのデフォルト暗号化が有効なら結果は異なります。
暗号化を要求するボリューム
json
{
"AWSTemplateFormatVersion": "2010-09-09",
"Parameters": {
"ImageId": {
"Type": "AWS::EC2::Image::Id"
}
},
"Resources": {
"MyEC2Instance": {
"Type": "AWS::EC2::Instance",
"Properties": {
"ImageId": {
"Ref": "ImageId"
},
"InstanceType": "t2.micro",
"BlockDeviceMappings": [
{
"DeviceName": "/dev/sdf",
"Ebs": {
"VolumeSize": 8,
"VolumeType": "gp3",
"Encrypted": true
}
}
]
}
}
}
}
新しいデータボリュームの暗号化を要求します。既存のボリュームをそのまま暗号化したり、ほかのすべてのボリュームの設定を変更したりするものではありません。