使用 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