+55 11-3294-4214 contato@witec.com.br

Os backups permitem restaurar as falhas de banco de dados e recuperar a corrupção de dados. Para isso, o AWS S3 é uma opção de armazenamento acessível, altamente durável e confiável.

O backup é uma operação importante a ser considerada para qualquer sistema de banco de dados. A tomada de backups não só permite restaurar as falhas de banco de dados, mas também recuperar a corrupção de dados, que pode acontecer por vários motivos ou acidentalmente. No entanto, guardar um backup em armazenamento durável e confiável pode custar caro.  Mas há solução para este problema: serviços em nuvem como o AWS S3 fornecem armazenamento altamente durável e confiável para backups de banco de dados, ao mesmo tempo em que, reduzem os custos com instalações de arquivamento usando o AWS Glacier.

Características que tornam o AWS3 ideal para o armazenamento de backup de banco de dados

Começamos pela durabilidade, o AWS S3 oferece 99,999999999% de durabilidade ao replicar os dados em várias instalações físicas, evitando um único ponto de falha. Em combinação com criptografia de dados em repouso e mecanismos de controle de acesso. O sistema S3 também oferece suporte para padrões de segurança e certificações de conformidade, incluindo PCI-DSS, HIPAA / HITECH, FedRAMP, EU Data Protection Directive e FISMA, o que ajuda a satisfazer os requisitos de conformidade.

 

Criando despejos de banco de dados

Dependendo do sistema de banco de dados, a abordagem na tomada de backups pode ser diferente. Tomando backups de bancos de dados relacionais, como o MySQL, o Postgres, por exemplo, pode ser feito usando ferramentas de despejo de banco de dados que permitem a tomada de instantâneos, ponto-a-tempo, do banco para um arquivo. Os bancos de dados do NoSQL, como o MongoDB, também oferecem esse suporte de despejo.

Vale lembrar que é importante criar periodicamente snapshots de banco de dados de acordo com o RTO (Recovery Time Objectives) e RPO (Recovery Point Objectives) das aplicações.

Ao tomar backups é importante entender que a operação é intensiva em recursos (IO, em particular) e pode causar interrupções para o aplicativo. Portanto, é necessário selecionar intervalos apropriados e usar estratégias como: tirar backups de réplicas somente leitura de bancos de dados relacionais, e de clusters com utilitários de aceleração para bancos de dados NoSQL.

 

Fazendo upload de backups para S3

O carregamento do backup do MySQL, Postgres e MongoDB para o S3 é direto. AWS S3 fornece CLI (interface de linha de comando) com uma direção dedicada a carregar arquivos diretamente para baldes S3.

  • aws s3 cp /tmp/foo/ s3://bucket/ –recursive

 

Se os backups tiverem vários arquivos e apenas a diferença precisar do carregamento, os comandos AWS CLI como sync podem ser usados.

 

  • aws s3 sync . s3://mybucket

 

No entanto, é importante ressaltar que ajuda ter uma convenção de nomeação de arquivo de backup apropriada e o controle de versão habilitado em baldes S3, para reduzir o risco de substituir arquivos existentes. Isso também pode ser alcançado usando o controle de acesso, evitando a exclusão de arquivos usando as políticas de balde e IAM.

Segurança de backup

Os arquivos de backup carregados para S3 são criptografados em trânsito usando HTTPS. O S3 fornece configurações opcionais para criptografar arquivos em repouso, com os seguintes mecanismos de criptografia:

  • Criptografia do lado do servidor : você solicita ao Amazon S3 que criptografe seu objeto, antes de salvá-lo em discos em seus centros de dados e desencriptá-lo, quando baixar os objetos.
  • Criptografia do lado do cliente : você pode criptografar dados do lado do cliente e fazer o upload dos dados criptografados para o Amazon S3. Neste caso, é possível gerenciar o processo de criptografia, as chaves de criptografia e as ferramentas relacionadas.

Reduzindo o tamanho dos backups

Os backups de banco de dados podem ser de vários megabytes para terabytes, o que os faz consumir grandes quantidades de espaço de armazenamento ao longo do tempo. Porém, o conteúdo dentro da maioria dos backups é textual com maiores fatores de compressão. O que torna importante compactar os backups com a utilização de recursos, como o GZip, não só para reduzir o consumo de armazenamento, mas também, para mover os backups de diferentes locais de armazenamento para arquivos de armazenamento de curto e longo prazo.

 

Arquivando Backups

 

Geralmente, o AWS S3 pode ser considerado a solução de arquivamento de backup do banco de dados de primeiro nível. Os custos de backups podem ser mais reduzidos usando as regras do ciclo de vida S3, para mover os backups para a AWS Glacier, reduzindo ainda mais os custos de armazenamento. Porém, depois de mover os backups antigos para a Glacier, o tempo de recuperação pode aumentar para várias horas,  dependendo das configurações de armazenamento e dos planos de recuperação com o Glacier.

%d blogueiros gostam disto: