Je souhaite créer une Amazon Machine Image (AMI) chiffrée pour AWS Batch.
Brève description
Vous pouvez utiliser des clés AWS Key Management Service (AWS KMS) personnalisées pour chiffrer vos AMI, puis utiliser des AMI chiffrées pour lancer des instances AWS Batch.
Résolution
Créer un instantané d’une AMI optimisée pour Amazon ECS
Procédez comme suit :
- Lancez une instance Amazon Elastic Compute Cloud (Amazon EC2) basée sur une AMI optimisée par Amazon Elastic Container Service (Amazon ECS).
Remarque : pour choisir une AMI, consultez AMI Linux optimisées par Amazon ECS.
- Créez un instantané à partir du volume racine de l’instance EC2 que vous avez lancée.
- Pour éviter des frais, supprimez l’instance EC2 que vous avez créée.
Chiffrer l’instantané et créer une AMI de l’instantané chiffré
Procédez comme suit :
- Ouvrez la console Amazon EC2.
- Dans le volet de navigation, sous Elastic Block Store, choisissez Instantanés.
- Sélectionnez l’instantané que vous avez créé, choisissez Actions, puis Copier.
- Dans la fenêtre Copier l’instantané, pour Chiffrer, sélectionnez Chiffrer cet instantané.
- Pour Clé KMS, choisissez votre clé AWS KMS gérée par le client.
Remarque : la clé utilisée pour le chiffrement au cours de ces étapes est une clé symétrique.
- Choisissez Copier un instantané.
- Sélectionnez l’instantané chiffré une fois qu’il est passé à l’état terminé, choisissez Actions, puis Créer une image à partir d’un instantané.
Remarque : vous pouvez consulter l’AMI depuis la console Amazon EC2. Dans la section Images du volet de navigation, choisissez AMI.
Donner au rôle lié au service l’accès à la clé KMS
Pour spécifier une clé AWS KMS gérée par le client pour le chiffrement d’Amazon Elastic Block Store (Amazon EBS), donnez au rôle lié au service l’accès à la clé. Cet accès permet à Amazon EC2 Auto Scaling de lancer des instances en votre nom. Pour fournir cet accès, vous devez modifier la stratégie de clé de votre clé KMS.
Lorsque vous mettez à jour la stratégie, définissez AWSServiceRoleForAutoScaling comme utilisateur principal de la clé KMS.
Pour utiliser cette stratégie, remplacez l’Amazon Resource Name (ARN) par l’ARN du rôle lié au service qui peut accéder à la clé KMS.
Exemple de politique :
{
"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"
}
}
}
]
}
Remarque : si vous utilisez l’environnement de calcul ponctuel avec une stratégie mieux adaptée, utilisez AWSServiceRoleForEC2SpotFleet au lieu de AWSServiceRoleForAutoScaling dans la stratégie clé précédente.
Créer un environnement de calcul
Créez un environnement de calcul.
Important : lorsque vous créez votre environnement de calcul, vous devez sélectionner l’option Activer l’identifiant Ami spécifié par l’utilisateur. Saisissez ensuite votre ID AMI dans la zone ID AMI qui apparaît, puis choisissez Valider l’AMI.