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 interrompus par Amazon ECS Task
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 des événements de tâche dotés d'une stoppedReason
propriété spécifique à la SNS rubrique Amazon 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 SNS rubrique et votre EventBridge règle Amazon.
Prérequis : configurer les autorisations pour Amazon SNS
EventBridge Pour autoriser la publication sur un SNS sujet Amazon, utilisez les commandes aws sns get-topic-attributes et aws sns set-topic-attributes.
Pour plus d'informations sur la façon d'ajouter l'autorisation, consultez SNSles autorisations Amazon 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 un SNS sujet Amazon et s'y abonner
Dans le cadre de ce didacticiel, vous allez configurer une SNS rubrique Amazon qui servira de cible d'événement pour votre nouvelle règle d'événement.
Pour savoir comment créer une SNS rubrique Amazon et s'y abonner, consultez Getting started with Amazon SNS dans le manuel Amazon Simple Notification Service Developer Guide 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 SNS rubrique Amazon, consultez la section Créer une règle dans Amazon EventBridge 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 |
Motif personnalisé (JSONéditeur) |
Modèle d'événement |
|
Type de cible |
AWS service |
Cible | SNSsujet |
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 Créer une nouvelle définition de tâche, Créer une nouvelle définition de tâche avec JSON.
-
Dans la boîte de l'JSONéditeur, modifiez votre JSON fichier, 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).