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: Registra lo stato di un gruppo di Auto Scaling usando EventBridge
Puoi eseguire una funzione AWS Lambda che registra eventi ogni volta che un gruppo con dimensionamento automatico avvia o termina un'istanza Amazon EC2 che indica se l'evento è stato eseguito correttamente.
Per informazioni su altri scenari che utilizzano gli eventi di Amazon EC2 Auto Scaling, EventBridge consulta Use to handle Auto Scaling events nella Amazon EC2 Auto Scaling User Guide.
In questo tutorial, crei una funzione Lambda e crei una regola nella EventBridge console che richiama tale funzione quando un gruppo Amazon EC2 Auto Scaling avvia o termina un'istanza.
Fasi:
Prerequisiti
Per completare questo tutorial, avrai bisogno delle seguenti risorse:
Un gruppo con dimensionamento automatico. Per ulteriori informazioni sulla creazione di un gruppo con dimensionamento automatico, consulta Creazione di un gruppo con dimensionamento automatico utilizzando una configurazione di avvio nella Guida per l'utente di Dimensionamento automatico Amazon EC2.
Fase 1: creare una funzione Lambda
Crea una funzione Lambda per la registrazione degli eventi di dimensionamento orizzontale e verticale per il gruppo Auto Scaling.
Come creare una funzione Lambda
Apri la console all'indirizzo. AWS Lambda https://console.aws.amazon.com/lambda/
-
Selezionare Create function (Crea funzione).
-
Scegli Author from scratch (Crea da zero).
-
Immetti un nome per la funzione Lambda. Ad esempio, denomina la funzione
LogAutoScalingEvent. -
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('LogAutoScalingEvent'); console.log('Received event:', JSON.stringify(event, null, 2)); callback(null, 'Finished'); }; -
Selezionare Deploy (Distribuisci).
Fase 2: Creazione di una regola
Crea una regola per eseguire la funzione Lambda creata nella sezione Passaggio 1. La regola viene eseguita quando il gruppo con dimensionamento automatico avvia o arresta un'istanza.
Per creare una regola
Apri la EventBridge console Amazon all'indirizzo https://console.aws.amazon.com/events/
. -
Nel pannello di navigazione, scegli Regole.
-
Scegli Crea regola.
-
Inserisci un nome e una descrizione per la regola. Ad esempio, assegnale il nome
TestRule. -
Per Router di eventi, scegli quello 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 Tipo di regola, scegli Regola con un modello di eventi.
-
Scegli Next (Successivo).
-
Per Origine evento, scegli Servizi AWS .
-
Per Event pattern (Modello di eventi), procedi come segue:
-
In Origine evento, seleziona Auto Scaling dall'elenco a discesa.
-
In Tipo di evento, seleziona Avvia e termina istanza dall'elenco a discesa.
-
Scegli Qualsiasi evento relativo all'istanza e Qualsiasi nome di gruppo.
-
-
Scegli Next (Successivo).
-
Per Tipi di destinazione, scegli servizio AWS .
-
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
LogAutoScalingEvent. -
Scegli Next (Successivo).
-
Scegli Next (Successivo).
-
Rivedi i dettagli della regola e scegli Crea regola.
Fase 3: Test della regola
Puoi testare la regola dimensionando manualmente un gruppo con dimensionamento automatico in modo che avvii un'istanza. Attendi alcuni minuti per l'evento di scalabilità orizzontale, quindi verifica che la funzione Lambda sia stata richiamata.
Per testare la regola tramite un gruppo Auto Scaling
-
Per aumentare le dimensioni del gruppo con dimensionamento automatico, procedi come segue:
-
Apri la console Amazon EC2 all'indirizzo https://console.aws.amazon.com/ec2/
. -
Nel riquadro di navigazione, selezionare Auto Scaling, Auto Scaling Groups (Gruppi Auto Scaling).
-
Seleziona la casella di controllo accanto al gruppo Auto Scaling.
-
Nella scheda Dettagli, seleziona Modifica. In Desired (Desiderato), aumenta la capacità desiderata di una unità. Ad esempio, se il valore corrente è 2, immetti 3. La capacità desiderata deve essere minore o uguale alla dimensione massima del gruppo. Se il nuovo valore di Desired (Desiderato) è superiore a Max, devi aggiornare Max. Al termine, seleziona Salva.
-
-
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 -
Seleziona il nome del flusso di log per visualizzare i dati forniti dalla funzione per l'istanza avviata.
-
(Facoltativo) Al termine, puoi diminuire la capacità desiderata di una unità, in modo che il gruppo con dimensionamento automatico torni alle dimensioni precedenti.
Passaggio 4: 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.
Passaggio 5: 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).
-
Scegli Delete (Elimina).