AWS Auto Scaling启动配置加密EBS云形成示例

时间:2015-03-07 00:07:43

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

我正在创建云形成脚本,它将拥有ELB。在Auto Scaling启动配置中,我想添加加密的EBS卷。无法通过blockdevicemapping找到加密属性。我需要加密音量。如何通过自动扩展启动配置将加密的EBS卷附加到EC2实例?

4 个答案:

答案 0 :(得分:4)

使用启动配置时,由于某些奇怪的原因,没有这样的属性,但是当使用带有简单EC2实例的blockdevicemappings时,它就存在。看到 launchconfig-blockdev vs ec2-blockdev

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

launchconf blockdev也接受

SnapshotIds ,并且如所述here"从加密卷中获取的快照会自动加密。从加密快照创建的卷也会自动加密。"

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

答案 1 :(得分:3)

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

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

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

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

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

答案 2 :(得分:2)

AutoScaling EBS Block Device类型提供“加密”选项:

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

希望这有帮助!

答案 3 :(得分:0)

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/