Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Envoi d'alertes Amazon Simple Notification Service pour les événements d'arrêt des tâches Amazon ECS
Configurez une règle d' EventBridge événement Amazon qui capture uniquement les événements de tâche lorsque la tâche a cessé de s'exécuter parce que l'un de ses conteneurs essentiels s'est arrêté. L'événement envoie uniquement les événements de tâche ayant une propriété spécifique stoppedReason
à la rubrique Amazon SNS désignée.
Prérequis : Configuration d'un cluster test
Si vous ne possédez pas de cluster en cours d'exécution à partir duquel capturer des événements, suivez les étapes dans Mise en route avec la console à l'aide de conteneurs Linux sur AWS Fargate pour en créer un. À la fin de ce didacticiel, vous exécuterez une tâche sur ce cluster pour vérifier que vous avez correctement configuré votre rubrique et votre EventBridge règle Amazon SNS.
Prérequis : configurer les autorisations pour Amazon SNS
EventBridge Pour autoriser la publication sur une rubrique Amazon SNS, utilisez les commandes aws sns get-topic-attributes et aws sns. set-topic-attributes
Pour obtenir des informations sur l’ajout de l’autorisation, consultez Autorisations Amazon SNS dans le Guide du développeur Amazon Simple Notification Service.
Ajoutez les autorisations suivantes :
{ "Sid": "PublishEventsToMyTopic", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sns: Publish", "Resource": "arn:aws:sns:
region
:account-id
:TaskStoppedAlert", }
Étape 1 : Créer une rubrique Amazon SNS et s'y abonner
Pour ce didacticiel, vous configurez une rubrique Amazon SNS à utiliser comme une cible de l'événement pour votre nouvelle règle d'événement.
Pour plus d'informations sur la façon de créer et de s'abonner à une rubrique Amazon SNS, consultez Démarrer avec Amazon SNS dans le Guide du développeur Amazon Simple Notification Service et utilisez le tableau suivant pour déterminer les options à sélectionner.
Option | Valeur |
---|---|
Type |
Standard |
Nom |
TaskStoppedAlert |
Protocole | E-mails |
Point de terminaison |
Une adresse e-mail à laquelle vous avez actuellement accès |
Étape 2 : Enregistrer une règle d'événement
Ensuite, vous enregistrez une règle d'événement qui capture uniquement les événements d'arrêt de la tâche pour les tâches avec des conteneurs arrêtés.
Pour plus d'informations sur la création et l'abonnement à une rubrique Amazon SNS, consultez la section Créer une règle EventBridge dans Amazon dans le guide de EventBridge l'utilisateur Amazon et utilisez le tableau suivant pour déterminer les options à sélectionner.
Option | Valeur |
---|---|
Type de règle |
Règle avec un modèle d'événement |
Source de l’événement | AWS événements ou événements EventBridge partenaires |
Modèle d'événement |
Modèle personnalisé (éditeur JSON) |
Modèle d'événement |
|
Type de cible |
AWS service |
Cible | Rubrique SNS |
Rubrique |
TaskStoppedAlert (Le sujet que vous avez créé à l'étape 1) |
Étape 3 : Test de la règle
Vérifiez que la règle fonctionne en exécutant une tâche qui se ferme peu après son démarrage. Si votre règle d'événement est configurée correctement, vous recevez un message électronique en quelques minutes avec le texte de l'événement. Si vous disposez d'une définition de tâche existante qui peut satisfaire aux exigences de la règle, exécutez une tâche à l'aide de celle-ci. Si vous ne le faites pas, les étapes suivantes vous permettront d'enregistrer une définition de tâche Fargate et de l'exécuter.
Ouvrez la console à la https://console.aws.amazon.com/ecs/version 2
. -
Dans le panneau de navigation, choisissez Task definitions (Définition des tâches).
-
Choisissez Create new task definition (Créer une nouvelle définition de tâche), puis Create new task definition with JSON (Créer une nouvelle définition de tâche avec JSON).
-
Dans la zone de l'éditeur JSON, modifiez votre fichier JSON, copiez ce qui suit dans l'éditeur.
{ "containerDefinitions":[ { "command":[ "sh", "-c", "sleep 5" ], "essential":true, "image":"amazonlinux:2", "name":"test-sleep" } ], "cpu":"256", "executionRoleArn":"arn:aws:iam::
012345678910
:role/ecsTaskExecutionRole
", "family":"fargate-task-definition", "memory":"512", "networkMode":"awsvpc", "requiresCompatibilities":[ "FARGATE" ] } -
Sélectionnez Create (Créer).
Pour exécuter une tâche à partir de la console
Ouvrez la console à la https://console.aws.amazon.com/ecs/version 2
. -
Sur la page Clusters, choisissez le cluster que vous avez créé dans les conditions préalables.
-
Sous l'onglet Tasks (Tâches), choisissez Run new task (Exécuter une nouvelle tâche).
-
Pour Application type (Type d'application), choisissez Task (Tâche).
-
Pour Définition de la tâche, sélectionnez fargate-task-definition.
-
Pour Desired tasks (Tâches souhaitées), saisissez le nombre de tâches à lancer.
-
Sélectionnez Create (Créer).