Invio di avvisi di Amazon Simple Notification Service per eventi di interruzione delle attività di Amazon ECS - Amazon Elastic Container Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Invio di avvisi di Amazon Simple Notification Service per eventi di interruzione delle attività di Amazon ECS

Configura una regola di EventBridge evento Amazon che acquisisca solo gli eventi delle attività in cui l'attività ha smesso di essere eseguita perché uno dei suoi contenitori essenziali è terminato. L'evento invia solo eventi di processo con una specifica proprietà stoppedReason all'argomento Amazon SNS designato.

Prerequisito: configurazione di un cluster di verifica

Se non disponi di un cluster in esecuzione da cui acquisire eventi, segui la procedura descritta in Nozioni di base sull'utilizzo della console con i container Linux su AWS Fargate per crearne uno. Alla fine di questo tutorial, esegui un'attività su questo cluster per verificare di aver configurato correttamente l'argomento e la EventBridge regola di Amazon SNS.

Prerequisito: configurazione delle autorizzazioni per Amazon SNS

EventBridge Per consentire la pubblicazione su un argomento Amazon SNS, usa i comandi aws sns get-topic-attributes e aws sns. set-topic-attributes

Per ulteriori informazioni su come aggiungere l'autorizzazione, consulta la sezione Amazon SNS permissions (Autorizzazioni di Amazon SNS) nella Guida per gli sviluppatori di Servizio di notifica semplice Amazon.

Aggiungi le autorizzazioni seguenti:

{ "Sid": "PublishEventsToMyTopic", "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sns: Publish", "Resource": "arn:aws:sns:region:account-id:TaskStoppedAlert", }

Fase 1: Creazione e sottoscrizione a un argomento Amazon SNS

In questo tutorial, configuri un argomento Amazon SNS che funga da destinazione evento per la nuova regola di evento.

Per informazioni sulla creazione e l'abbonamento a un argomento Amazon SNS, consulta Nozioni di base su Amazon SNS nella Guida per gli sviluppatori di Servizio di notifica semplice Amazon e utilizza la tabella seguente per determinare quali opzioni selezionare.

Opzione Valore

Type

Standard
Nome

TaskStoppedAvviso

Protocollo E-mail
Endpoint

Un indirizzo e-mail a cui hai attualmente accesso

Fase 2: Registrazione di una regola di evento

Successivamente, registra una regola dell'evento che acquisisca solo eventi di arresto dell'attività per attività con container interrotti.

Per informazioni su come creare e sottoscrivere un argomento di Amazon SNS, consulta Create a rule EventBridge in Amazon nella Amazon EventBridge User Guide e utilizza la tabella seguente per determinare quali opzioni selezionare.

Opzione Valore

Tipo di regola

Regola con un modello di evento

Origine eventi AWS eventi o eventi per i EventBridge partner
Modello di evento

Modello personalizzato (editor JSON)

Modello di evento
{ "source":[ "aws.ecs" ], "detail-type":[ "ECS Task State Change" ], "detail":{ "lastStatus":[ "STOPPED" ], "stoppedReason":[ "Essential container in task exited" ] } }
Target type (Tipo di destinazione)

AWS servizio

Target Argomento SNS
Argomento

TaskStoppedAlert (L'argomento che hai creato nel passaggio 1)

Fase 3: Test del tuo articolo

Verificare che la regola funzioni eseguendo un'attività che termine poco dopo l'avvio. Se la regola dell'evento è configurata correttamente, riceverai una e-mail contenente il testo dell'evento entro pochi minuti. Se si dispone di una definizione di attività esistente in grado di soddisfare i requisiti della regola, eseguire un'attività utilizzando tale definizione. In caso contrario, le fasi seguenti descrivono la procedura di registrazione di una definizione di attività Fargate e la relativa esecuzione.

  1. Apri la console all'indirizzo https://console.aws.amazon.com/ecs/v2.

  2. Nel pannello di navigazione, scegli Task Definitions (Definizioni di processo).

  3. Scegli Create new task definition (Crea nuova definizione di attività), Create new task definition with JSON (Crea nuova definizione di attività con JSON).

  4. Nella casella dell'editor JSON, modifica il file JSON e copia quanto segue nell'editor.

    { "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" ] }
  5. Scegli Crea.

Per eseguire un'attività dalla console
  1. Apri la console all'indirizzo https://console.aws.amazon.com/ecs/v2.

  2. Nella pagina Cluster, scegli il cluster che hai creato nei prerequisiti.

  3. Dalla scheda Processi, scegli Esegui nuovo processo.

  4. Per Tipo di applicazione, scegli Processo.

  5. Per Definizione dell'attività, seleziona fargate-task-definition.

  6. Per Desired tasks (Attività desiderate), specifica il numero di attività da avviare.

  7. Scegli Crea.