As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Você pode usar o Amazon EBS e a Amazon EventBridge para automatizar seu fluxo de trabalho de backup de dados. Isso exige que você crie uma política do IAM, uma AWS Lambda função para lidar com o evento e uma EventBridge regra que corresponda aos eventos recebidos e os encaminhe para a função Lambda.
O procedimento a seguir usa o evento createSnapshot
para copiar automaticamente um snapshot concluído em outra região para recuperação de desastres.
Como copiar um snapshot concluído em outra região
-
Crie uma política do IAM, como a mostrada no exemplo a seguir, para fornecer permissões para usar a
CopySnapshot
ação e gravar no EventBridge registro. Atribua a política ao usuário que tratará do 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": "*" } ] }
-
Defina uma função no Lambda que estará disponível no EventBridge console. O exemplo da função Lambda abaixo, escrito em Node.js, é invocado EventBridge quando um
createSnapshot
evento correspondente é emitido pelo Amazon EBS (significando que um snapshot foi concluído). Quando invocada, a função copia o snapshot deus-east-2
emus-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); } }); };Para garantir que sua função Lambda esteja disponível no EventBridge console, crie-a na região em que o EventBridge evento ocorrerá. Para obter mais informações, consulte o Guia do desenvolvedor do AWS Lambda.
Abra o EventBridge console da Amazon em https://console.aws.amazon.com/events/
. -
No painel de navegação, escolha Rules (Regras) e Create rule (Criar regras).
-
Em Step 1: Define rule detail (Etapa 1: definir detalhe da regra), faça o seguinte:
-
Insira valores para Name (Nome) e Description (Descrição).
-
Em Event bus (Barramento de eventos), mantenha o valor default (padrão).
-
Certifique-se de que Enable the rule on the selected event bus (Habilitar a regra nos barramentos de eventos selecionados) esteja ativada.
-
Em Rule type (Tipo de regra), escolha Rule with an event pattern (Regra com um padrão de evento).
-
Escolha Próximo.
-
-
Em Step 2: Build event pattern (Etapa 2: criar padrão de evento), faça o seguinte:
-
Em Origem do evento, selecione AWS eventos ou eventos de EventBridge parceiros.
-
Na seção Padrão do evento, em Origem do evento, verifique se o AWS serviço está selecionado e, para o AWS serviço, selecione EC2.
-
Em Event type (Tipo de evento), selecione EBS Snapshot Notification (Notificação de snapshot de EBS), selecione Specific event(s) (Eventos específicos) e, em seguida, selecione createSnapshot.
-
Selecione Specific result(s) (Resultados específicos) e depois escolha succeeded (com êxito).
-
Escolha Próximo.
-
-
Em Etapa 3: Select targets (Etapa 3: selecionar destinos), faça o seguinte:
-
Em Tipos de destino, escolha Serviço da AWS .
-
Em Select target (Selecionar destino), escolha Lambda function (Função do Lambda) e, em Function (Função), selecione a função criada anteriormente.
-
Escolha Next (Avançar).
-
-
Em Step 4: Configure tags (Etapa 4: configurar etiquetas), especifique as etiquetas para a regra, se necessário e, em seguida, escolha Next (Avançar).
-
Em Step 5: Review and create (Etapa 5: revisar e criar), revise a regra e escolha Create rule (Criar regra).
A regra agora deve aparecer na guia Rules (Regras). No exemplo mostrado, o evento que você configurou deve ser emitido pelo EBS na próxima vez você copiar um snapshot.