amazon-web-services - 如何使用 Elastic Beanstalk 自动执行 EBS 加密
问题描述
我希望为我创建的新 EC2 环境加密我的根 EBS 卷。我知道我可以从 AWS 控制台和 CloudFormation 执行此操作,但希望能够通过 Elastic Beanstalk 配置文件执行此操作。
我尝试在启动配置中设置 EBS 卷,但这只会从根卷创建额外的卷:
Type: AWS::AutoScaling::LaunchConfiguration
Properties:
BlockDeviceMappings: [ DeviceName: "/dev/sdf1", Ebs: { Encrypted: true, VolumeSize: 8, VolumeType: gp2}]
我也尝试在环境创建时创建一个新的 EBS 卷,但是我不确定如何动态获取 EC2 实例的逻辑名称(我在这里使用 MyEC2 供参考):
Type: AWS::EC2::Volume
Properties:
AutoEnableIO: true
AvailabilityZone: { "Fn::GetAtt" : [ "MyEC2", "AvailabilityZone" ] }
Encrypted: true
KmsKeyId: mykey
Size: 8
VolumeType: gp2
本质上,我需要能够创建一个带有加密根卷的新环境。任何帮助将不胜感激!
解决方案
自 2019 年 5 月 23 日起,您可以为新 EBS 卷选择默认加密。两个 EBS(root/docker 数据)在启动时都已加密。此功能需要按区域启用。
测试设置
平台版本和解决方案堆栈名称:单容器 Docker 18.06 版本 2.12.11
AWS 控制台
EC2 Console > Settings > Always encrypt new EBS volumes
AWS CLI
先升级awscli
pip install awscli --upgrade
使能够
aws ec2 enable-ebs-encryption-by-default --region us-east-1
{
"EbsEncryptionByDefault": true
}
禁用
aws ec2 disable-ebs-encryption-by-default --region us-east-1
{
"EbsEncryptionByDefault": false
}
获取状态
aws ec2 get-ebs-encryption-by-default --region us-east-1
{
"EbsEncryptionByDefault": false
}
https://aws.amazon.com/blogs/aws/new-opt-in-to-default-encryption-for-new-ebs-volumes/
推荐阅读
- powershell - Powershell Get-ADUser 过滤器以排除列表中的特定 OU
- python - 索引列表
- kdb - 在 kdb 中的字典中散列
- c++ - CListCtrl 中的水平网格线
- image - 在 kotlin 中使用 Intent 共享图像和文本
- node.js - 从 Node+Express 连接时 MongoDB 连接激增
- python - 我想在一段时间后重定向到 url
- java - org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke
- python - 使用逻辑将 Pandas 数据采样成不同的比率
- python - 如何使用plotly python绘制时间序列堆积条形图