我正在创建云形成脚本,它将拥有ELB。在Auto Scaling启动配置中,我想添加加密的EBS卷。无法通过blockdevicemapping找到加密属性。我需要加密音量。如何通过自动扩展启动配置将加密的EBS卷附加到EC2实例?
答案 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类型提供“加密”选项:
希望这有帮助!
答案 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/