07 Aug
07Aug

Uma função útil do DynamoDB é a capacidade de fazer backups (e subsequentes restores) da base, sem interrupção do serviço e sem delays (praticamente instantâneos). A questão é que não há uma forma configurável de fazer o backup automaticamente, mas brincando de lego na AWS fica fácil.


A little help from my friends - Lambda

A função lambda abaixo (minha-lambda) fará a chamada à API do DynamoDB no horário definido no Cloudwatch Events Rule, realizando o backup das tabelas. 

Código Lambda que será executado as 00:00am diariamente para realizar o backup


A little help from my friends - Cloudwatch

O CloudWatch Events Rule permite criar um evento que é disparado de acordo com as regras de uma Cron Expression. Associando o evento a uma função Lambda, podemos criar uma funcionalidade de backup automático que roda de acordo com a periodicidade desejada (diário, semanal, mensal etc).

Dashboard do CloudWatch Events Rule


Ao selecionar o botão "Create Rule", somos apresentados a um wizard que guia-nos ao longo do processo de criação de uma nova rule, a qual deverá disparar diariamente as 00:00am (cron expression 0 0 ? * * *)


Uma vez preenchidas as informações, incluindo as informações da função Lambda e qual alias a ser executado, nossa rule fica assim:


Rule depois de configurada para executar função Lambda diariamente às 00:00h

Um site útil para determinar a cron expression com facilidade é o https://www.freeformatter.com/cron-expression-generator-quartz.html.


Após selecionar o botão "Configure details", a tela seguinte é exibida, solicitando o nome da rule:


Dica: Forneça um nome significativo, colocando, por exemplo, o nome do projeto como prefixo ou sufixo.


Após selecionar o botão "Create rule" será exibida a tela do dashboard com mensagem semelhante a esta, confirmando a criação com sucesso:


Backup em ação:


Considerações finais

Automatizar as rotinas de backups poupa tempo e evita desastres. Um processo mais sofisticado poderia mover os backups após uma semana para um bucket do S3 e depois de um mês para o Glacier. Utilizando o S3 como um ponto intermediário teríamos acesso aos backups de forma praticamente instantâneas, ao contrário do Glacier que no processo mais básico (e barato) pode levar horas para recuperar um arquivo.


Comentários
* O e-mail não será publicado no site.
ESTE SITE FOI CRIADO USANDO