Comment créer une AMI chiffrée pour AWS Batch ?

Dernière mise à jour : 10/02/2021

Je souhaite créer une Amazon Machine Image (AMI) chiffrée pour AWS Batch.

Brève description

Vous pouvez utiliser des clés AWS KMS (AWS Key Management Service) 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 Elastic Container Service (Amazon ECS)

1.    Lancez une instance Amazon Elastic Compute Cloud (Amazon EC2) basée sur une AMI optimisée pour Amazon ECS.

Remarque : pour choisir une AMI, consultez AMI optimisées pour Linux Amazon ECS.

2.    Créez un instantané à partir du volume racine de l'instance EC2 que vous avez lancée à l'étape 1.

3.    Pour éviter les frais, supprimez l'instance EC2 créée à l'étape 1.

Chiffrer l'instantané et créer une AMI de l'instantané chiffré

1.    Ouvrez la console Amazon EC2.

2.    Dans la section Elastic Block Store du volet de navigation, sélectionnez Instantanés.

3.    Sélectionnez l'instantané que vous avez créé, puis choisissez Actions et Copier un instantané.

4.    Dans la fenêtre Copier un instantané, pour Chiffrement, cochez la case Chiffrez cet instantané.

5.    Pour Clé principale, sélectionnez votre propre clé principale client (CMK) gérée par le client.

Remarque : la clé utilisée pour le chiffrement dans ces étapes est une clé symétrique.

6.    Sélectionnez Copier, puis Fermer.

7.    Sélectionnez l'instantané chiffré une fois qu'il passe au statut Terminé, choisissez Actions, puis Créer une image.

Vous disposez désormais d'une AMI chiffrée que vous pouvez utiliser pour lancer vos instances AWS Batch.

Remarque : vous pouvez afficher l'AMI à partir de la console Amazon EC2. Dans la section Images du volet de navigation, choisissez AMI.

Donner l'accès à la CMK au rôle lié à un service

Si vous spécifiez une CMK gérée par le client pour le chiffrement Amazon Elastic Block Store (Amazon EBS), vous devez donner l'accès à la CMK au rôle lié à un service approprié. Cela permet à Amazon EC2 Auto Scaling de lancer des instances en votre nom. Pour accorder cet accès, vous devez modifier la stratégie de clé de votre CMK.

Lorsque vous mettez à jour la stratégie, assurez-vous de définir AWSServiceLeForAutoScaling comme utilisateur clé pour la clé KMS.

Si vous utilisez cette stratégie, remplacez l'ARN (Amazon Resource Name) par l'ARN du rôle lié à un service approprié qui est autorisé à accéder à la CMK. Consultez l'exemple de stratégie suivant :

{
    "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 d'ajustement optimal, utilisez AWSServiceRoleForec2SpotFleet au lieu de AWSServiceRoleForAutoScaling dans la stratégie de 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 cocher la case Activer l'ID d'AMI spécifié par l'utilisateur. Entrez ensuite votre ID d'AMI dans la case ID d'AMI qui s'affiche, puis sélectionner Valider l'AMI.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?