Come Utilizzare CloudWatch Eventi per AWS Automazione

0
35

Ur è comunemente utilizzato per l’elaborazione del registro e del monitoraggio dei AWS risorse, ma ha anche potenti strumenti per l’automazione da all’interno del tuo account. Vi mostreremo come impostare e lavorare con Ur Eventi.

Che Cosa È CloudWatch Eventi?

CloudWatch Eventi è un servizio da AWS che fondamentalmente mappe causa per effetto di azioni che accadono nel tuo account. È in grado di instradare API eventi, come un’istanza EC2 arresto di un oggetto, o essere caricato su un S3 secchio, e di inviarli ad altri servizi, come le funzioni Lambda o code di messaggistica.

Usando delle semplici regole, è possibile abbinare gli eventi in base al servizio che è venuto da. Gli eventi sono oggetti JSON, inviato a Ur a causa di azioni che accadono nel tuo account. Per esempio, un evento per la chiusura di un’istanza EC2 potrebbe essere simile al seguente:

{
“versione”: “0”,
“id”: “6a7e8feb-b491-4cf7-a9f1-bf3703467718”,
“dettaglio-tipo”: “Istanza EC2 Stato-Notifica di modifica”,
“source”: “aws.ec2”,
“account”: “111122223333”,
“time”: “2017-12-22T18:43:48Z”,
“regione”: “ci-west-1”,
“resources”: [
“arn:aws:ec2:usa-west-1:123456789012:istanza/ i-1234567890abcdef0”
],
“dettaglio”: {
“istanza id”: “i-1234567890abcdef0”,
“state”: “terminata”
}
}

È possibile ascoltare per questi eventi, e di inviarli ad altri servizi, a obiettivi. Questi possono essere le funzioni Lambda costruito per gestire questo payload, SNS argomento, un SQS coda, o altre azioni come ECS compiti e CodePipeline. Con la capacità di rotta per Lambda, è possibile programmare tutte le funzionalità che si desidera, facendo di questo una funzione molto utile per conto di automazione.

Per esempio, se si desidera eseguire una ECS compito, come foto o video di elaborazione, ogni volta che un oggetto viene caricato un S3 secchio, è possibile ottenere questo con Ur Eventi abbastanza facilmente. Basta impostare l’origine dell’evento di match PutObject operazioni, e inviare l’evento ad una ECS attività per l’elaborazione.

Un sacco di altre AWS strumenti di uso CloudWatch eventi, in modo da miight già alcune regole. Se si utilizza CodePipeline, utilizza un CloudWatch evento per monitorare il repository di origine per le modifiche, e scatenare la CI/CD pipeline in risposta.

Gli eventi non hanno bisogno di essere innescato da un’azione nel tuo account. In alternativa, è possibile impostare gli eventi in un intervallo di tempo fisso, in sostanza che agisce come il cron di AWS. È possibile utilizzare questo per pianificare le funzioni Lambda per eseguire automaticamente.

Impostazione di una Regola di Evento

Dal CloudWatch Console, fare clic su “Regole” nella barra laterale e creare una nuova regola.

A meno che non si desidera che questo evento eseguire automaticamente, impostare l’Origine dell’Evento per Evento “Pattern”. È possibile scegliere un nome di servizio qui di filtro per diversi tipi di eventi.

Per S3, è possibile scegliere “Oggetto di Operazioni a Livello di,” e selezionare uno specifico tipo di operazione, come PutObject. È anche possibile scegliere un secchio (o secchi) per nome.

Sulla destra, è possibile selezionare la destinazione. Il valore predefinito è “Funzione Lambda,” hai solo bisogno di selezionare una funzione integrata per la gestione dell’evento.

Per la Lambda, l’evento viene passato come evento variabile. È possibile utilizzare questo per i dati di accesso su PutObject operazione, come un riferimento all’oggetto in sé che è possibile utilizzare per l’accesso.

Se sei solo alla sperimentazione di Ur Eventi, è possibile utilizzare una funzione come la seguente semplicemente registrare l’evento passato. Troverete Lambda funzione registri sotto il “Monitoraggio” scheda per la funzione.

‘severe’;

le esportazioni.handler = (evento, contesto, callback) => {
console.log(‘LogCloudWatchEvent’);
console.log(‘Ricevuto evento:’, JSON.stringify(evento, null, 2));
richiamata(null, “Finito”);
};

Voi, naturalmente, non sono limitate alle funzioni Lambda. Per un più intenso di calcolo, è possibile indirizzare l’evento in una ECS compito, che può utilizzare tutta la potenza di Fargate e EC2 per eseguire containerizzato applicazioni.

Sono disponibili anche altre opzioni, di solito a che fare con il routing caso da qualche altra parte, come un Kinesis stream, SNS argomento, o SQS coda.

Le regole sono gestibili dal CloudWatch console, tra cui una scheda di monitoraggio per mostrare le metriche per quanto spesso la regola è richiamato.