Pourquoi une erreur se produit-elle lorsque j'essaie de créer un hook de cycle de vie Amazon EC2 Auto Scaling ?

Date de la dernière mise à jour : 10/02/2021

Je reçois une erreur de validation lorsque j'essaie de créer un hook de cycle de vie Amazon Elastic Compute Cloud (Amazon EC2) Auto Scaling. L'erreur « Impossible de publier le message de test vers la cible de la notification »ou « Veuillez vérifier la configuration de votre cible et de votre rôle et essayez de placer de nouveau le hook de cycle de vie ». Comment résoudre ces erreurs ?

Brève description

Pour publier un message dans Amazon Simple Queue Service (Amazon SQS), le rôle AWS Identity and Access Management (IAM) du hook de cycle de vie doit :

  • être différent du rôle IAM affecté à l'instance ;
  • être répertorié en tant qu'utilisateur clé de la stratégie de clé AWS Key Management Service (AWS KMS) ;
  • avoir un stratégie d'approbation attachée pour le service Auto Scaling ,
  • inclure des actions de stratégie gérée spécifiques ,
  • être associé au groupe Amazon EC2 Auto Scaling ;
  • avoir accès à la clé de chiffrement utilisée par Amazon SQS.

Résolution

1.    Vérifiez que vous utilisé un rôle IAM pour le hook de cycle de vie différent de celui que vous avez attribué à l'instance.

Remarque : Vous pouvez créer un rôle IAM ou utiliser le rôle géré par AWS suivant qui dispose de toutes les autorisations nécessaires :

arn:aws:iam::aws:policy/service-role/AutoScalingNotificationAccessRole

2.    Vérifiez que le rôle est inclus en tant qu'utilisateur clé dans la stratégie de clé KMS. Pour ce faire :

Ouvrez la console AWS KMS.
Sélectionnez la clé KMS.
Vérifiez que le rôle est répertorié sous Utilisateurs clés de l'onglet Stratégie de clé . Si le rôle n'est pas répertorié, recherchez-le, puis sélectionnez Ajouter.

3.    Veillez à ce que le rôle IAM du hook de cycle de vie ait une stratégie d'approbation attachée pour le service Amazon EC2 Auto Scaling.

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "autoscaling.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

4.    Vérifiez que la stratégie gérée du rôle IAM du hook de cycle de vie contient les actions suivantes :
Pour les messages SQS
sqs:SendMessage
sqs:GetQueueUrl

Pour les notifications SNS
sns:Publish

5.    Dans l'interface de ligne de commande AWS (CLI AWS), exécutez la commande aws autoscaling put-lifecycle-hook.

6.    Exécutez la commande suivante pour vérifier que le hook de cycle de vie est associé au groupe Auto Scaling.

aws autoscaling describe-lifecycle-hooks --auto-scaling-group-name "ExampleSQSQueueName"

Remarque : Si vous recevez des erreurs lors de l'exécution de commandes depuis AWS CLI, assurez-vous que vous utilisez la version la plus récente d'AWS CLI.


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


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