Passer au contenu

Comment résoudre les échecs de lancement d'une instance EC2 causés par des problèmes d'AMI ?

Lecture de 4 minute(s)
0

Je souhaite résoudre les problèmes liés à mon Amazon Machine Image (AMI) qui ne parvient pas à lancer une instance Amazon Elastic Compute Cloud (Amazon EC2).

Brève description

Lorsque vous lancez une instance à partir d'une AMI, l'un des messages d'erreur suivants peut s'afficher :

  • « Error launching AMI: In order to use the AWS Marketplace product you need to accept the terms and subscribe. »
  • « Error: The instance configuration for this AWS Marketplace product is not supported. »

Il se peut également que votre instance s'arrête immédiatement après son lancement. Ce problème se produit généralement lorsque vous chiffrez les volumes Amazon Elastic Block Store (Amazon EBS) de l'instance.

Résolution

Résoudre l'erreur « you need to accept the terms and subscribe »

Vous pouvez créer ou lancer de nouvelles AMI et des instantanés à partir d'instances que vous avez créées à l'aide d'une AMI AWS Marketplace. Les comptes AWS avec lesquels vous partagez ces instances doivent s'abonner à l’AMI AWS Marketplace. Si le compte partagé n'est pas abonné à l'AMI achetée sur AWS Marketplace d'origine, vous ne pouvez pas lancer d'instance depuis la nouvelle AMI. Vous ne pouvez pas non plus attacher un volume EBS que vous avez créé à partir de l'instantané de cette AMI.

Pour résoudre ce problème, ouvrez le lien figurant dans le message d'erreur pour abonner le compte à l'AMI. Puis, acceptez les conditions de l'AMI. Vous pouvez également utiliser la console AWS Marketplace pour vous abonner à l'AMI.

Résoudre l’erreur « la configuration d'instance pour ce produit AWS Marketplace n'est pas prise en charge »

Vous pouvez restreindre les AMI AWS Marketplace par fournisseur afin d'autoriser uniquement des types d'instances spécifiques. Si vous essayez de lancer un type d'instance non pris en charge, le message d'erreur « instance configuration for this AWS Marketplace product is not supported » s'affiche.

Consultez la page AWS Marketplace relative à l'AMI pour plus d'informations sur les types d'instances pris en charge. Assurez-vous d'utiliser un type d'instance pris en charge pour l'AMI.

Résoudre les problèmes liés aux volumes EBS chiffrés

L'utilisateur de Gestion des identités et des accès AWS (AWS IAM) doit avoir accès à la clé de chiffrement AWS Key Management Service (AWS KMS) pour lancer l'instance. Dans le cas contraire, le lancement de l'instance échoue.

Pour résoudre ce problème, vérifiez que vous avez correctement partagé l'AMI avec le compte de destination. Pour partager une AMI, l'utilisateur ou le rôle IAM du compte source doit disposer des autorisations ModifyImageAttribute sur l'AMI. Exemple de stratégie IAM :

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:ModifyImageAttribute"
            ],
            "Resource": [
                "arn:aws:ec2:us-east-1::image/12345678"
            ]                                                    
        }
    ]
}

Remarque : Remplacez arn:aws:ec2:us-east-1::image/12345678 par l'Amazon Resource Name (ARN) de l’AMI.

Dans le compte source, procédez comme suit pour partager la clé AWS KMS avec le compte de destination :

  1. Ouvrez la console AWS KMS.
  2. Dans le volet de navigation, sélectionnez Clés gérées par le client, puis choisissez votre clé AWS KMS.
  3. Sous Autres comptes AWS, sélectionnez Ajouter d'autres comptes AWS, puis Ajouter un autre compte AWS.
  4. Pour arn:aws:iam::, entrez l'identifiant de votre compte cible. Par exemple, 1234567890.
  5. Sélectionnez Enregistrer les modifications.

Dans le compte cible, vérifiez que l'utilisateur ou le rôle IAM dispose des autorisations de chiffrement requises. Exemple de politique :

{  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:DescribeKey",
        "kms:ReEncrypt*",
        "kms:Decrypt",
        "kms:GenerateDataKeyWithoutPlainText"
      ],
      "Resource": [
        "arn:aws:kms:us-east-1:Source-Account:key/key-id"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "kms:CreateGrant",
      "Resource": [
        "arn:aws:kms:us-east-1:Source-Account:key/key-id"
      ],
      "Condition": {
        "Bool": {
          "kms:GrantIsForAWSResource": true
        }
      }
    }
  ]
}

Remarque : Remplacez us-east-1 par votre région AWS, Source-Account par l'ID du compte source et key-id par l'ID de clé AWS KMS.

Pour tester votre configuration, lancez votre instance EC2 avec l'AMI chiffrée. Lorsque vous utilisez une AMI chiffrée partagée, vous pouvez utiliser votre propre clé AWS KMS ou la source AWS KMS pour le chiffrement des volumes. Il est recommandé d'utiliser un AWS KMS depuis le compte de destination pour rechiffrer les volumes afin de les protéger contre la compromission de la clé source ou les problèmes de révocation des autorisations.

Pour en savoir plus, consultez la section Comment partager des AMI chiffrées entre comptes pour lancer des instances EC2 chiffrées.

AWS OFFICIELA mis à jour il y a 6 mois