上次更新日期:2021 年 2 月 10 日
我想为 AWS Batch 创建加密的 Amazon 系统映像 (AMI)。
简短描述您可以使用自定义的 AWS Key Management Service (AWS KMS) 密钥加密您的 AMI,然后使用加密 AMI 来启动 AWS Batch 实例。
解决方法 加密快照并为该加密快照创建 AMI1.打开 Amazon EC2 控制台。
2.在导航窗格的 Elastic Block Store 部分,选择 Snapshots(快照)。
3.选择之前创建的快照,选择 Actions(操作),然后再选择 Copy(复制)。
4.在 Copy Snapshot(复制快照)窗口中,勾选 Encrypt this snapshot (加密此快照)复选框以进行加密。
5.对于 Master Key(主密码),选择您自己的客户托管客户主密钥 (CMK)。
注意:这些步骤中用于加密的密钥是对称密钥。
6.选择 Copy(复制),然后选择 Close(关闭)。
7.在快照进入“已完成”状态后对其进行加密,选择 Actions(操作),然后选择 Create Image(创建映像)。
您现在拥有一个加密 AMI,可以用它来启动您的 AWS Batch 实例。
注意:您可以从 Amazon EC2 控制台查看 AMI。从导航窗格的 Images(映像)部分中,选择 AMI。
向 CMK 提供与服务关联的角色访问权限如果为 Amazon Elastic Block Store (Amazon EBS) 加密指定客户托管 CMK,您必须向 CMK 提供适与服务关联的适当角色访问权限。这样做将允许 Amazon EC2 Auto Scaling 代表您启动实例。要提供此访问权限,您必须修改您的 CMK 的密钥策略。
在更新策略时,确保将 AWSServiceRoleForAutoScaling 设置为 KMS 密钥的密钥用户。
如果您使用此策略,以被允许访问 CMK 的与服务关联的适当角色替换 Amazon 资源名称 (ARN)。请参见以下示例策略:
{
"Id": "key-consolepolicy-3",
"Version": "2012-10-17",
"Statement": ,
"Resource": "*"
},
{
"Sid": "Allow attachment of persistent resources",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling"
},
"Action": ,
"Resource": "*",
"Condition": {
"Bool": {
"kms:GrantIsForAWSResource": "true"
}
}
}
]
}
注意:如果您使用具有最适合策略的 Spot 计算环境,那么使用 AWSServiceRoleForEC2SpotFleet 而不是前述密钥策略中的 AWSServiceRoleForAutoScaling。
创建新的计算环境创建新的计算环境。
重要提示:在创建您的计算环境时,您必须勾选 Enable user-specified Ami ID(启用用户指定 Ami ID)复选框。然后在出现的 AMI ID 框中输入您的 AMI ID,并且选择 Validate AMI(验证 AMI)。