Quero criar uma imagem de máquina da Amazon (AMI) criptografada para o AWS Batch.
Breve descrição
Você pode usar chaves personalizadas do AWS Key Management Service (AWS KMS) para criptografar suas AMIs e, em seguida, usar AMIs criptografadas para executar instâncias do AWS Batch.
Solução
Crie um snapshot de uma AMI otimizada para o Amazon ECS
Conclua as seguintes etapas:
- Inicie uma instância do Amazon Elastic Compute Cloud (Amazon EC2) com base em uma AMI otimizada para Amazon Elastic Container Service (Amazon ECS).
Observação: Para escolher uma AMI, consulte AMIs otimizadas para o Amazon ECS do Linux.
- Crie um snapshot do volume raiz da instância do EC2 que você executou.
- Para evitar cobranças, exclua a instância do EC2 que você criiou.
Criptografe o snapshot e crie uma AMI do snapshot criptografado
Conclua as seguintes etapas:
- Abra o console do Amazon EC2.
- No painel de navegação, em Elastic Block Store, escolha Snapshots.
- Selecione o snapshot que você criou, escolha Ações e, em seguida, escolha Copiar.
- Na janela Copiar snapshot, em Criptografia, marque a caixa de seleção Criptografar este snapshot.
- Em Chave KMS, escolha sua própria chave do AWS KMS gerenciada pelo cliente.
Observação: a chave usada para criptografia nessas etapas é uma chave simétrica.
- Escolha Copiar snapshot.
- Selecione o snapshot criptografado depois que ele for movido para o status concluído, escolha Açõese, em seguida, escolha Criar imagem a partir do snapshot.
Observação: você pode ver a AMI no console do Amazon EC2. Na seção Imagens do painel de navegação, escolha AMIs.
Conceda à função vinculada ao serviço acesso à chave do KMS
Para especificar uma chave AWS KMS gerenciada pelo cliente para criptografia do Amazon Elastic Block Store (Amazon EBS), conceda à função vinculada ao serviço acesso à chave. Isso permite que o Amazon EC2 Auto Scaling execute instâncias em seu nome. Para fornecer esse acesso, você deve modificar a política de chave da sua chave do KMS.
Ao atualizar a política,defina AWSServiceRoleForAutoScaling como o usuário-chave da chave do KMS.
Para usar essa política, substitua o Nome de recurso da Amazon (ARN) pelo ARN da função vinculada ao serviço que pode acessar a chave KMS.
Exemplo de política:
{
"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"
}
}
}
]
}
Observação: se você estiver usando o ambiente de computação spot com a estratégia mais adequada, use ** AWSServiceRoleForEC2SpotFleet** em vez de AWSServiceRoleForAutoScaling na política de chave anterior.
Crie um novo ambiente de computação
Crie um novo ambiente de computação.
**Importante:**Ao criar seu ambiente de computação, você deve selecionar a opção Ativar ID da AMI especificado pelo usuário. Em seguida, insira seu ID da AMI na caixa ID da AMI que aparece e escolha Validar AMI.