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à.
Tutorial: crea una EventBridge regola che reagisca alle AWS API chiamate tramite CloudTrail
Puoi utilizzare EventBridge le regole di Amazon per reagire alle API chiamate effettuate da un AWS servizio registrato da AWS CloudTrail.
In questo tutorial, crei un AWS CloudTrailtrail, una funzione Lambda e una regola nella EventBridge console. La regola richiama la funzione Lambda quando un'istanza Amazon EC2 viene interrotta.
Fasi:
Fase 1: Creare un percorso AWS CloudTrail
Se un trail è già configurato, vai al passaggio 2.
Per creare un trail
Apri la CloudTrail console all'indirizzo https://console.aws.amazon.com/cloudtrail/
. -
Scegliere Trails (Trail), Create trail (Crea trail).
-
In Trail name (Nome trail), digita un nome per il trail.
-
In Posizione archiviazione, in Crea un nuovo bucket S3, scegli Sì.
-
Per l'AWS KMS alias, digita un alias per la KMS chiave.
-
Seleziona Successivo.
-
Seleziona Successivo.
-
Scegliere Create trail (Creare trail).
Passaggio 2: creare una funzione AWS Lambda
Crea una funzione Lambda per registrare gli eventi delle API chiamate.
Per creare una funzione Lambda
Apri la AWS Lambda console all'indirizzo https://console.aws.amazon.com/lambda/
. -
Selezionare Create function (Crea funzione).
-
Scegli Author from scratch (Crea da zero).
-
Digitare un nome e una descrizione per la funzione Lambda. Ad esempio, denomina la funzione
LogEC2StopInstance
. -
Per le altre opzioni, mantieni il valore predefinito e scegli Crea funzione.
-
Nella scheda Codice della pagina della funzione, fai doppio clic su index.js.
-
Sostituisci il codice esistente con il seguente.
'use strict'; exports.handler = (event, context, callback) => { console.log('LogEC2StopInstance'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); };
-
Seleziona Deploy (Implementa).
Passaggio 3: creare una regola
Crea una regola per eseguire la funzione Lambda creata nel passaggio 2 ogni volta che interrompi un'istanza AmazonEC2.
Per creare una regola
Apri la EventBridge console Amazon all'indirizzo https://console.aws.amazon.com/events/
. -
Nel pannello di navigazione, scegli Regole.
-
Scegli Create rule (Crea regola).
-
Immettere un nome e una descrizione per la regola. Ad esempio, assegnale il nome
TestRule
. -
Per Select event bus (Seleziona bus di eventi), scegli il bus di eventi che desideri associare a questa regola. Se vuoi che questa regola corrisponda agli eventi provenienti dal tuo account, seleziona Predefinito. Quando un servizio di AWS nell'account emette un evento, passa sempre al bus di eventi predefinito dell'account.
-
Per Rule type (Tipo di regola), scegli Rule with an event pattern (Regola con un modello di eventi).
-
Seleziona Successivo.
-
Per Origine evento, scegli Servizi AWS .
-
Per Event pattern (Modello di eventi), procedi come segue:
-
Per Event source, seleziona EC2dall'elenco a discesa.
-
Per Tipo di evento, seleziona AWS APIChiama tramite CloudTrail dall'elenco a discesa.
-
Scegli Operazioni specifiche e immetti
StopInstances
.
-
-
Seleziona Successivo.
-
Per Target types (Tipi di destinazione), scegli AWS service (Servizio ).
-
In Seleziona una destinazione, scegli la funzione Lambda dall'elenco a discesa.
-
In Funzione, seleziona la funzione Lambda che hai creato nella sezione Passaggio 1: creare una funzione Lambda. In questo esempio, seleziona
LogEC2StopInstance
. -
Seleziona Successivo.
-
Seleziona Successivo.
-
Rivedi i dettagli della regola e scegli Create rule (Crea regola).
Passaggio 4: testare la regola
Puoi testare la tua regola interrompendo un'EC2istanza Amazon utilizzando la EC2 console Amazon. Attendi qualche minuto che l'istanza si interrompa, quindi controlla le AWS Lambda metriche sulla CloudWatch console per verificare che la funzione funzioni.
Test della regola arrestando un'istanza
Apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/
. -
Avvia un'istanza. Per ulteriori informazioni, consulta Launch Your Instance nella Amazon EC2 User Guide.
-
Arrestare l'istanza. Per ulteriori informazioni, consulta Stop and Start Your Instance nella Amazon EC2 User Guide.
-
Per visualizzare l'output della funzione Lambda, procedi nel seguente modo:
Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/
. -
Nel riquadro di navigazione scegli Logs (Log).
-
Seleziona il nome del gruppo di log per la funzione Lambda (
/aws/lambda/
).function-name
-
Selezionare il nome del flusso di log per visualizzare i dati forniti dalla funzione per l'istanza arrestata.
-
(Facoltativo) Al termine, terminare l'istanza arrestata. Per ulteriori informazioni, consulta Terminate Your Instance nella Amazon EC2 User Guide.
Passaggio 5: verificare il corretto completamento del tutorial
Se vedi l'evento Lambda nei CloudWatch log, significa che hai completato con successo questo tutorial. Se l'evento non è presente nei tuoi CloudWatch registri, inizia la risoluzione dei problemi verificando che la regola sia stata creata correttamente e, se la regola sembra corretta, verifica che il codice della tua funzione Lambda sia corretto.
Fase 6: eliminare le risorse
Ora è possibile eliminare le risorse create per questo tutorial, a meno che non si voglia conservarle. Eliminando AWS le risorse che non utilizzi più, eviti addebiti inutili sul tuo account. AWS
Per eliminare la/le EventBridge regola/e
-
Apri la pagina Regole
della EventBridge console. -
Seleziona la regola che hai creato.
-
Scegliere Delete (Elimina).
-
Scegliere Delete (Elimina).
Per eliminare la funzione Lambda
-
Aprire la pagina Funzioni
della console Lambda. -
Seleziona la funzione creata.
-
Scegliere Actions (Operazioni), Delete (Elimina).
-
Scegliere Delete (Elimina).
Per eliminare i CloudTrail percorsi
-
Apri la pagina Trails
della CloudTrail console. -
Seleziona il trail creato.
-
Scegliere Delete (Elimina).
-
Scegli Delete (Elimina).