【问题标题】:AWS Auto Scaling Launch Configuration Encrypted EBS Cloud Formation ExampleAWS Auto Scaling 启动配置加密 EBS 云形成示例
【发布时间】:2015-05-08 16:56:44
【问题描述】:

我正在创建云形成脚本,它将具有 ELB。在 Auto Scaling 启动配置中,我想添加加密的 EBS 卷。找不到使用块设备映射的加密属性。我需要加密卷。如何通过 Auto Scaling 启动配置将加密的 EBS 卷附加到 EC2 实例?

【问题讨论】:

    标签: encryption amazon-web-services amazon-ec2 amazon-cloudformation amazon-ebs


    【解决方案1】:

    由于某些奇怪的原因,在使用启动配置时没有这样的属性,但是在将块设备映射与简单的 EC2 实例一起使用时,它是存在的。看 launchconfig-blockdevec2-blockdev

    因此,您要么必须使用简单实例而不是自动缩放组,要么可以尝试以下解决方法:

    SnapshotIds 也被 launchconf blockdev 接受,正如 here 所述,“从加密卷获取的快照会自动加密。从加密快照创建的卷也会自动加密。”

    从加密的 EBS 卷创建快照并在 CloudFormation 模板中使用它。如果您的模板应该在多个区域中工作,那么您当然必须在每个区域中创建快照并在模板中使用映射。

    【讨论】:

      【解决方案2】:

      正如 Marton 所说,没有这样的属性(不幸的是,CloudFormation 通常需要一段时间才能赶上主要的 API)。

      通常,您创建的每个加密卷都有不同的密钥。但是,当使用提到的解决方法(使用加密快照)时,生成的加密卷将从快照继承加密密钥,并且都是相同的。

      从密码学的角度来看,这是一个坏主意,因为您可能拥有多个不同的卷和具有相同密钥的快照。如果攻击者可以访问所有这些,那么他可能会使用差异来更轻松地推断有关密钥的信息。

      另一种方法是编写一个脚本,在实例启动时创建并附加一个新的加密卷。这很容易做到。您需要授予实例创建和附加卷的权限,并且已安装 AWS CLI 工具或您首选脚本语言的库。您可以从正在启动的实例中创建一个卷并附加它。

      您可以在此处找到此类脚本的起点:https://github.com/guardian/machine-images/blob/master/packer/resources/features/ebs/add-encrypted.sh

      【讨论】:

        【解决方案3】:

        有一个 AutoScaling EBS 块设备类型提供“加密”选项:

        http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-as-launchconfig-blockdev-template.html

        希望这会有所帮助!

        【讨论】:

          【解决方案4】:

          AWS 最近宣布了新 EBS 卷的默认加密。您可以通过

          为每个区域启用此功能

          EC2 Console > Settings > Always encrypt new EBS volumes

          https://aws.amazon.com/blogs/aws/new-opt-in-to-default-encryption-for-new-ebs-volumes/

          【讨论】:

            猜你喜欢
            • 2018-05-27
            • 2016-12-08
            • 2013-10-13
            • 1970-01-01
            • 2023-04-05
            • 2015-10-08
            • 2020-03-06
            • 1970-01-01
            • 2020-03-31
            相关资源
            最近更新 更多