我想為 AWS Batch 建立加密的 Amazon Machine Image (AMI)。
簡短描述
您可以使用自訂 AWS Key Management Service (AWS KMS) 金鑰來加密 AMI,然後使用加密的 AMI 啟動 AWS Batch 執行個體。
解決方法
為已針對 Amazon ECS 進行最佳化的 AMI 建立快照
請完成下列步驟:
- 以 Amazon Elastic Container Service (Amazon ECS) 最佳化的 AMI 為基礎,啟動 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。
**注意:**若要選擇 AMI,請參閱 Amazon ECS 最佳化的 Linux AMI。
- 從您啟動的 EC2 執行個體的根磁碟區中建立快照。
- 為避免產生費用,請刪除您建立的 EC2 執行個體。
加密快照,並建立加密快照的 AMI
請完成下列步驟:
- 開啟 Amazon EC2 主控台。
- 在導覽窗格的 Elastic Block Store 中,選擇快照。
- 選取您建立的快照,選擇動作,然後選擇複製。
- 在複製快照視窗中,對於加密,勾選加密此快照。
- 對於 KMS 金鑰,請選擇您自己的客戶受管 AWS KMS key。
**注意:**在這些步驟中用於加密的金鑰是對稱金鑰。
- 選擇複製快照。
- 在加密快照移至已完成狀態後選取,並選擇動作,然後選擇從快照建立映像。
注意:您可以從 Amazon EC2 主控台檢視 AMI。從導覽窗格的映像區段中,選擇 AMI。
授予服務連結角色存取 KMS 金鑰的權限
若要為 Amazon Elastic Block Store (Amazon EBS) 加密指定客戶受管 AWS KMS key,請為服務連結角色提供金鑰存取權。此存取權可讓 Amazon EC2 Auto Scaling 代表您啟動執行個體。若要提供此存取權,您必須修改 KMS 金鑰的金鑰政策。
更新政策時,請將 AWSServiceRoleForAutoScaling 設為 KMS 金鑰的金鑰使用者。
若要使用此政策,請將 Amazon Resource Name (ARN) 取代為可存取 KMS 金鑰的服務連結角色的 ARN。
範例政策:
{
"Id": "key-consolepolicy-3",
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Enable IAM User Permissions",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:root"
},
"Action": "kms:*",
"Resource": "*"
},
{
"Sid": "Allow use of the key",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
},
{
"Sid": "Allow attachment of persistent resources",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling"
},
"Action": [
"kms:CreateGrant",
"kms:ListGrants",
"kms:RevokeGrant"
],
"Resource": "*",
"Condition": {
"Bool": {
"kms:GrantIsForAWSResource": "true"
}
}
}
]
}
**注意:**如果您使用的是具有自動調整策略的 spot 運算環境,請在上述金鑰政策中使用 AWSServiceRoleForEC2SpotFleet,而非 AWSServiceRoleForAutoScaling。
建立新的運算環境
建立新的運算環境。
重要:建立運算環境時,必須勾選啟用使用者指定的 AMI ID 選項。然後,在出現的 AMI ID 方塊中輸入您的 AMI ID,然後選擇驗證 AMI。