我有一个CloudFormation模板,它创建了在我的环境中托管Web应用程序所需的基础结构 . 这包括AutoScaling组和启动配置:

"LaunchConfiguration": {
            "Type": "AWS::AutoScaling::LaunchConfiguration",
            "Properties": {
                "AssociatePublicIpAddress": false,
                "IamInstanceProfile": {
                    "Ref": "InstanceRoleInstanceProfile"
                },
                "ImageId": {
                    "Ref": "WindowsImage"
                },
                "InstanceType": {
                    "Ref": "InstanceType"
                },
                "SecurityGroups": [
                    {
                        ...
                    }
                ],
                "KeyName": {
                    "Ref": "KeyPairName"
                },
                "UserData": {
                    ...
                },
                "BlockDeviceMappings": [
                    {
                        "DeviceName": "/dev/sda1",
                        "Ebs": {
                            "VolumeType": "gp2"
                        }
                    }
                ]
            },
            "Metadata": {
                ...
            }
        }

漏洞扫描程序标记了由于上述启动配置中的实例的启动卷未加密而导致的风险 .

当我尝试通过更改模板中的配置来加密启动卷时,如下所示:

"BlockDeviceMappings": [
                        {
                            "DeviceName": "/dev/sda1",
                            "Ebs": {
                                "Encrypted": true,
                                "VolumeType": "gp2"
                            }
                        }
                    ]

我收到以下错误:

启动新的EC2实例 . 状态原因:由于设备/ dev / sda1指定了快照,因此无法指定加密标志 . 启动EC2实例失败 .

我读过你可以通过加密启动卷

  • 从基础AMI启动服务器

  • 拍摄快照

  • 使用加密复制该快照

  • 根据快照副本创建自定义AMI

  • 然后根据我加密的AMI启动新服务器

  • 清除所有创建的服务器,快照和自定义AMI

我需要CloudFormation来创建已加密的EC2实例 . 知道这有可能吗?