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 : 09/05/2019

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 « Unable to publish test message to notification target » (Impossible de publier le message de test vers la cible de la notification) ou « Please check your target and role configuration and try to put lifecycle hook again. » (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 (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
  • 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 Auto Scaling

Solution

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

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

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

3.    Vérifiez que la stratégie gérée du rôle IAM du hook de cycle de vie contient les actions suivantes :
sqs:SendMessage
sqs:GetQueueUrl
sns:Publish

Important : la cible est une file d'attente SQS et non pas une ressource Amazon Simple Notification Service (Amazon SNS). Cependant, vous devez quand même inclure l'action sns:Publish pour publier un message dans la file d'attente SQS.

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

5.    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"

Cette page vous a-t-elle été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?