説明
ブロックデバイスマッピングは、インスタンスの作成時に繰り返し使用する基本設定です。非暗号化 EBS ボリュームを作成する設定が再利用されると、複数のサーバーのアプリケーションデータやログに影響する可能性があります。
実際の暗号化には、元のスナップショットやアカウント・リージョンの EBS 既定の暗号化も関係します。設定の省略や false だけで判断せず、作成されたボリュームを確認してください。
想定される影響
非暗号化ボリュームやスナップショットを不正に取得されると、機密データが漏えいするリスクが高まります。組織のストレージ暗号化基準を満たせない場合もあります。
対処方法
- 新規 EBS ボリュームの
root_block_deviceとebs_block_deviceにencrypted = trueを明示し、作成テンプレートにも適用してください。 - 使用する各リージョンの EBS 既定の暗号化と KMS 権限を確認してください。新規の Auto Scaling 設定には起動テンプレートを使用してください。
- 既存の非暗号化ボリュームは、暗号化したスナップショットのコピーから新しいボリュームを作成して移行してください。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
}
}
追加ボリュームの暗号化を要求します。ルートボリュームも別途確認し、既存ボリュームが自動で暗号化されるとは考えないでください。