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à.
Puoi utilizzare Amazon EBS e Amazon EventBridge per automatizzare il flusso di lavoro di backup dei dati. Ciò richiede la creazione di una policy IAM, una AWS Lambda funzione per gestire l'evento e una EventBridge regola che abbini gli eventi in arrivo e li indirizzi alla funzione Lambda.
La seguente procedura utilizza l'evento createSnapshot
per copiare automaticamente uno snapshot completato in un'altra regione per il disaster recovery.
Per copiare uno snapshot completato in un'altra regione
-
Crea una policy IAM, come quella mostrata nell'esempio seguente, per fornire le autorizzazioni per utilizzare l'
CopySnapshot
azione e scrivere nel registro. EventBridge Assegna la policy all'utente che gestirà l' EventBridge evento.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow", "Action": [ "ec2:CopySnapshot" ], "Resource": "*" } ] }
-
Definisci una funzione in Lambda che sarà disponibile dalla EventBridge console. La funzione Lambda di esempio riportata di seguito, scritta in Node.js, viene richiamata da EventBridge quando Amazon EBS emette un
createSnapshot
evento corrispondente (a indicare che uno snapshot è stato completato). Quando viene richiamata, la funzione copia lo snapshot daus-east-2
inus-east-1
.// Sample Lambda function to copy an EBS snapshot to a different Region var AWS = require('aws-sdk'); var ec2 = new AWS.EC2(); // define variables var destinationRegion = '
us-east-1
'; var sourceRegion = 'us-east-2
'; console.log ('Loading function'); //main function exports.handler = (event, context, callback) => { // Get the EBS snapshot ID from the event details var snapshotArn = event.detail.snapshot_id.split('/'); const snapshotId = snapshotArn[1]; const description = `Snapshot copy from ${snapshotId} in ${sourceRegion}.`; console.log ("snapshotId:", snapshotId); // Load EC2 class and update the configuration to use destination Region to initiate the snapshot. AWS.config.update({region: destinationRegion}); var ec2 = new AWS.EC2(); // Prepare variables for ec2.modifySnapshotAttribute call const copySnapshotParams = { Description: description, DestinationRegion: destinationRegion, SourceRegion: sourceRegion, SourceSnapshotId: snapshotId }; // Execute the copy snapshot and log any errors ec2.copySnapshot(copySnapshotParams, (err, data) => { if (err) { const errorMessage = `Error copying snapshot ${snapshotId} to Region ${destinationRegion}.`; console.log(errorMessage); console.log(err); callback(errorMessage); } else { const successMessage = `Successfully started copy of snapshot ${snapshotId} to Region ${destinationRegion}.`; console.log(successMessage); console.log(data); callback(null, successMessage); } }); };Per assicurarti che la tua funzione Lambda sia disponibile dalla EventBridge console, creala nella regione in cui si EventBridge verificherà l'evento. Per ulteriori informazioni, consulta la Guida per gli sviluppatori di AWS Lambda.
Apri la EventBridge console Amazon all'indirizzo https://console.aws.amazon.com/events/
. -
Nel riquadro di navigazione scegli Rules (Regole), quindi Create rule (Crea regola).
-
Per Step 1: Define rule detail (Fase 1: Definisci i dettagli della regola), effettua le seguenti operazioni:
-
Immetti i valori per Nome (Nome) e Description (Descrizione).
-
Per Event bus (Router di eventi), mantieni default (impostazione predefinita).
-
Verifica che l'opzione Enable the rule on the selected event bus (Abilita la regola sul router di eventi selezionato) sia attivata.
-
Per Event type (Tipo di evento), scegli Rule with an event pattern (Regola con un modello di eventi).
-
Scegli Next (Successivo).
-
-
Per Step 2: Build event pattern (Fase 2: Crea modello di eventi), procedi come segue:
-
Per Event source, seleziona AWS eventi o eventi EventBridge dei partner.
-
Nella sezione Schema dell'evento, per Origine dell'evento, assicurati che il AWS servizio sia selezionato e, per il AWS servizio, seleziona EC2.
-
Per Event type (Tipo di evento), seleziona EBS Snapshot Notification (Notifica snapshot EBS), seleziona Specific event(s) (Eventi specifici), quindi scegli createSnapshot.
-
Selezionare Specific result(s) Risultati specifici, quindi scegliere succeeded (riuscito).
-
Scegli Next (Successivo).
-
-
Per Step 3: Select targets (Fase 3: Seleziona destinazioni), esegui queste operazioni:
-
Per Target types (Tipi di destinazione), scegli AWS service (Servizio ).
-
For Select target (Seleziona destinazione), scegli Lambda function (Funzione Lambda) e per Function (Funzione) seleziona la funzione creata in precedenza.
-
Seleziona Next (Successivo).
-
-
Per Step 4: Configure tags (Fase 4: Configura i tag), specifica i tag per la regola, se necessario, quindi scegli Next (Successivo).
-
Per Step 5: Review and create (Fase 5: Rivedi e crea), rivedi la regola e scegli Create rule (Crea regola).
La regola ora viene visualizzata nella scheda Rules (Regole). Nell'esempio visualizzato, l'evento configurato deve essere inviato da EBS alla successiva copia di uno snapshot.