使用 AWS CDK 的加密卷和自己的 KMS 密钥失败
Encrypted volume and own KMS key with AWS CDK fails
我正在尝试使用 AWS CDK 创建一个 EBS 卷,该卷由我自己的 C# 中的 KMS 密钥加密,使用以下代码段:
var kmsProps = new EncryptionKeyProps
{
Description = "Encryption key for Storage",
EnableKeyRotation = true,
Enabled = true,
Retain = true
};
var kms = new EncryptionKey(stack, "kms-storage", kmsProps);
var kmsAlias = kms.AddAlias("alias/" + stack.StackName + "/storage");
var storageVolume = new CfnVolume(stack, "server-storage-encrypted", new CfnVolumeProps
{
AvailabilityZone = privateSubnet1.AvailabilityZone,
KmsKeyId = kmsAlias.AliasName,
Size = 30,
Encrypted = true,
Tags = new ICfnTag[]
{
new CfnTag {Key = "Name", Value = "Server Storage"}
},
VolumeType = "gp2"
});
但是部署命令失败并出现 Volume vol-0e88979f5568c16fa is still creating
错误
知道我是否在 KMS 政策等方面做错了什么吗?
尝试寻找它,我唯一发现的是自动缩放需要访问密钥,与 EBS/EC2
无关
我今天运行这个问题。原来在 KmsKeyId 中使用别名导致了这个问题。将别名更改为实际密钥 ID 后,堆栈已成功创建。虽然文档说可以使用别名,但它对我不起作用。
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html
我正在尝试使用 AWS CDK 创建一个 EBS 卷,该卷由我自己的 C# 中的 KMS 密钥加密,使用以下代码段:
var kmsProps = new EncryptionKeyProps
{
Description = "Encryption key for Storage",
EnableKeyRotation = true,
Enabled = true,
Retain = true
};
var kms = new EncryptionKey(stack, "kms-storage", kmsProps);
var kmsAlias = kms.AddAlias("alias/" + stack.StackName + "/storage");
var storageVolume = new CfnVolume(stack, "server-storage-encrypted", new CfnVolumeProps
{
AvailabilityZone = privateSubnet1.AvailabilityZone,
KmsKeyId = kmsAlias.AliasName,
Size = 30,
Encrypted = true,
Tags = new ICfnTag[]
{
new CfnTag {Key = "Name", Value = "Server Storage"}
},
VolumeType = "gp2"
});
但是部署命令失败并出现 Volume vol-0e88979f5568c16fa is still creating
错误
知道我是否在 KMS 政策等方面做错了什么吗? 尝试寻找它,我唯一发现的是自动缩放需要访问密钥,与 EBS/EC2
无关我今天运行这个问题。原来在 KmsKeyId 中使用别名导致了这个问题。将别名更改为实际密钥 ID 后,堆栈已成功创建。虽然文档说可以使用别名,但它对我不起作用。
https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-ebs-volume.html