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à.
Creazione di una regola che si attiva su un evento Amazon RDS
Amazon EventBridge consente di automatizzare i servizi AWS e di rispondere a eventi di sistema, come i problemi relativi alla disponibilità delle applicazioni o alle modifiche delle risorse.
Argomenti
Creazione di regole per inviare eventi Amazon RDS ad Amazon EventBridge
Puoi scrivere semplici regole che indichino quali eventi Amazon RDS ti interessano e quali operazioni automatizzate eseguire quando si verifica un evento previsto da una regola. Puoi impostare un'ampia gamma di destinazioni, ad esempio una funzione AWS Lambda o un argomento Amazon SNS, che ricevono gli eventi in formato JSON. Ad esempio, è possibile configurare Amazon RDS per inviare eventi ad Amazon EventBridge ogni volta che un’istanza database viene creata o eliminata. Per ulteriori informazioni, consulta la Guida per l'utente di Amazon CloudWatch Events e la Guida per l'utente di Amazon EventBridge.
Per creare una regola che si attiva su un evento RDS:
Aprire la console CloudWatch all'indirizzo https://console.aws.amazon.com/cloudwatch/
. -
In Events (Eventi) nel pannello di navigazione, scegli Rules (Regole).
-
Scegli Create rule (Crea regola).
-
Per Event Source (Origine evento) procedi nel seguente modo:
-
Seleziona Event Pattern (Modello di eventi).
-
Per Service Name (Nome servizio), scegli Relational Database Service (RDS).
-
Per Event Type (Tipo di evento), scegli il tipo di risorsa Amazon RDS che attiva l'evento. Ad esempio, se un'istanza database attiva l'evento, scegli RDS DB Instance Event (Evento istanza database RDS).
-
-
In Targets (Target) seleziona Add Target (Aggiungi target) e scegli il servizio AWS che deve intervenire quando viene rilevato un evento del tipo selezionato.
-
Negli altri campi di questa sezione, inserisci informazioni specifiche di questo tipo di destinazione, se necessarie.
-
Per molti tipi di target, EventBridge necessita di autorizzazioni per l'invio degli eventi. In questi casi, EventBridge può creare il ruolo IAM necessario per l’esecuzione dell’evento:
-
Per creare un ruolo IAM automaticamente, seleziona Create a new role for this specific resource (Crea un nuovo ruolo per questa risorsa specifica).
-
Per utilizzare un ruolo IAM creato in precedenza, seleziona Use existing role (Utilizza un ruolo esistente).
-
-
Facoltativamente, ripeti le fasi 5-7 per aggiungere un'altra destinazione per questa regola
-
Scegli Configure details (Configura dettagli). In Rule definition (Definizione regola), digita un nome e una descrizione della regola.
Il nome della regola deve essere univoco all'interno di questa regione.
-
Scegli Create rule (Crea regola).
Per ulteriori informazioni, consulta Creazione di una regola EventBridge che attivi un evento nella Guida per l’utente di Amazon CloudWatch.
Tutorial: Registrazione delle modifiche dello stato di un'istanza database tramite Amazon EventBridge
In questo tutorial, crei una funzione AWS Lambda che registri le modifiche dello stato per un'istanza Amazon RDS. Successivamente crei una regola che esegua la funzione ogni volta che si verifica un cambiamento di stato di un'istanza database RDS esistente. Il tutorial presuppone che si dispone di una piccola istanza di test in esecuzione che è possibile arrestare temporaneamente.
Importante
Non eseguire questo tutorial su un'istanza database di produzione in esecuzione.
Argomenti
Fase 1. Creazione di una funzione AWS Lambda
Crea una funzione Lambda per registrare gli eventi di modifica dello stato. È necessario specificare questa funzione alla creazione della regola.
Per creare una funzione Lambda
Apri la console AWS Lambda all'indirizzo https://console.aws.amazon.com/lambda/
. -
Se è la prima volta che utilizzi Lambda, verrà visualizzata una pagina di benvenuto. Selezionare Get Started Now (Inizia subito). Altrimenti, scegliere Create function (Crea funzione).
-
Scegli Author from scratch (Crea da zero).
-
Nella pagina Create function (Crea funzione), procedere come segue:
-
Digitare un nome e una descrizione per la funzione Lambda. Ad esempio, denomina la funzione
RDSInstanceStateChange. -
In Runtime, seleziona Node.js 16x.
-
In Architecture (Architettura), scegli x86_64.
-
In Execution role (Ruolo di esecuzione), esegui una delle operazioni seguenti:
-
Scegliere Create a new role with basic Lambda permissions (Crea un nuovo ruolo con le autorizzazioni Lambda di base).
-
In Execution role (Ruolo di esecuzione), sceglie Use an existing role (Utilizza un ruolo esistente). Scegli il ruolo che desideri usare.
-
-
Selezionare Create function (Crea funzione).
-
-
Sulla pagina RDSInstanceStateChange, effettua le seguenti operazioni:
-
In Origine codice, seleziona index.js.
-
Nel riquadro di index.js, elimina il codice esistente.
-
Immetti il seguente codice:
console.log('Loading function'); exports.handler = async (event, context) => { console.log('Received event:', JSON.stringify(event)); }; -
Selezionare Deploy (Distribuisci).
-
Fase 2: Creazione di una regola
Crea una regola per l'esecuzione della funzione Lambda ogni volta che avvii un'istanza Amazon RDS.
Per creare la regola EventBridge
Aprire la console Amazon EventBridge 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, specifica
RDSInstanceStateChangeRule. -
Scegli Rule with an event pattern (Regola con un modello di eventi), quindi seleziona Next (Successivo).
-
Per Event source (Origine evento), scegli AWS events or EventBridge partner events (Eventi o eventi di partner EventBridge).
-
Scorri verso il basso fino alla sezione Event pattern (Modello di eventi).
-
In Event source (Origine eventi), selezionare Servizi AWS.
-
In AWS service (Servizio AWS), scegli Relational Database Service (RDS).
-
Per Tipo di evento, seleziona Evento istanza database RDS.
-
Lascia il modello di eventi predefinito. Quindi scegli Successivo.
-
Per Target types (Tipi di destinazione), scegli AWS service (Servizio ).
-
Per Select a target (Seleziona destinazione), scegli Lambda function (Funzione Lambda).
-
In Function (Funzione), seleziona la funzione Lambda che hai creato. Quindi scegli Successivo.
-
In Configure tags (Configura tag), scegli Next (Successivo).
-
Esamina i passaggi nella regola. Quindi scegli Create rule (Crea regola).
Fase 3: Test della regola
Per verificare la regola, arresta un'istanza database RDS. Dopo aver atteso alcuni minuti perché l'istanza venga avviata e inizializzata, verifica che la funzione Lambda sia stata richiamata.
Per effettuare il test della regola arrestando un'istanza database
Apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/
. -
Arresta un'istanza database RDS.
Aprire la console Amazon EventBridge all'indirizzo https://console.aws.amazon.com/events/
. -
Nel pannello di navigazione, seleziona Regole, scegli il nome della regola creata.
-
In Dettagli della regola scegli Monitoraggio.
Sarai reindirizzato alla console Amazon CloudWatch. Se non vieni reindirizzato, fai clic su Visualizza i parametri in CloudWatch.
-
In Tutti i parametri, seleziona il nome della regola creata.
Il grafico deve indicare che la regola è stata richiamata.
-
Nel pannello di navigazione, selezionare Log groups (Gruppi di log).
-
Scegli il nome del gruppo di log per la funzione Lambda (/aws/lambda/
nome-funzione). -
Scegliere il nome del flusso di log per visualizzare i dati forniti dalla funzione per l'istanza avviata. Sarà visualizzato un evento ricevuto simile a quello seguente:
{ "version": "0", "id": "12a345b6-78c9-01d2-34e5-123f4ghi5j6k", "detail-type": "RDS DB Instance Event", "source": "aws.rds", "account": "111111111111", "time": "2021-03-19T19:34:09Z", "region": "us-east-1", "resources": [ "arn:aws:rds:us-east-1:111111111111:db:testdb" ], "detail": { "EventCategories": [ "notification" ], "SourceType": "DB_INSTANCE", "SourceArn": "arn:aws:rds:us-east-1:111111111111:db:testdb", "Date": "2021-03-19T19:34:09.293Z", "Message": "DB instance stopped", "SourceIdentifier": "testdb", "EventID": "RDS-EVENT-0087" } }Per altri esempi di eventi RDS in formato JSON, vedere Panoramica degli eventi per Amazon RDS.
-
(Facoltativo) Al termine, puoi aprire la console Amazon RDS e avviare l'istanza terminata.