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é racine, choisissez votre propre clé AWS KMS 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 au rôle lié au service l'accès à la clé KMS<br>

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

Lors de la mise à jour de la politique, assurez-vous de définir AWSServiceRoleForAutoScaling comme utilisateur principal de la clé KMS.

Si vous utilisez cette politique, remplacez l'Amazon Resource Name (ARN) par l'ARN du rôle lié à un service approprié qui est autorisé à accéder à la clé KMS. À titre d'exemple, consultez la politique suivante :

{
    "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 ?