Qual é a maneira mais fácil de fazer backup automático de uma instância do EC2? [duplicado]

6

Eu tenho uma instância do Amazon EC2 apoiada pelo EBS. Eu gostaria de criar um cronograma de backup diário e manter, digamos, uma semana de backups diários, além de algumas imagens antigas (de 2,3,4 semanas atrás). Eu não me importo de criar os backups na hora, com o mecanismo de snapshot, mas eu gostaria de um wrapper fácil para gerenciá-lo para mim.

Qual é a maneira mais simples de configurar isso? Quanto isso me custaria, por uma micro instância?

    
por ripper234 21.02.2011 / 09:07

4 respostas

2

Eu tenho todo o código do meu aplicativo, banco de dados, configuração e arquivos de log localizados em um volume separado do EBS que eu montei em / dev / sdf. Você pode criar um instantâneo inicial disso e montá-lo no seu sistema operacional no tempo de execução. Meu ami contém apenas o material relevante para iniciar automaticamente o ambiente.

ec2-run-instances ami-id <other options> --block-device-mapping '/dev/sdf=snap-id::false'

O volume que isso cria pode ser copiado com bastante facilidade usando crontab e ec2-create-snapshot ou o que for. ec2-describe-snapshot dá a data da criação do instantâneo, de modo que pode ser usado com o awk ou o que quer que seja para descobrir qual deles deletar. Embora os instantâneos registrem apenas a mudança entre as versões, então, após o primeiro, eles não ocupam muito espaço.

    
por 07.03.2011 / 08:34
4

Eu sugiro dar uma chance à minha ferramenta "ec2-automate-backup" e executar isso no cron. Você executaria o comando da seguinte forma: ec2-automate-backup -v your_volumeid -k 7 -p . As opções aqui dizem à ferramenta: quais volumes fazer backup (-v your_volumeid) o número de dias que você deseja manter backups (-k 7) e limpar volumes antigos (-p). A ferramenta está disponível gratuitamente e em código aberto.

Se você precisar fazer backup de mais de um volume, "marcará" cada volume usando as tags da AWS e depois executará da seguinte forma ec2-automate-backup -s tag -t "Backup=your_tag" -k 7 -p . As opções aqui são: -s tag (tag -s informa ec2-automate-backup para selecionar volumes para backup por tag) e -t "Backup = your_tag" informa ec2-automate-backup aos volumes de backup marcados como "your_tag".

O

ec2-automate-backup faz parte do AWS-Missing-Tools, disponível no link

    
por 12.11.2012 / 02:16
1

Eu criei um pequeno script de wrapper que faz o seguinte:

-dumps o DB (é pequeno, leva segundos)

-cria um tarball, mas apenas a diferença entre ontem e hoje ou um backup completo se o dia for domingo

-invokes hg addremove & & hg commit em / etc e o webroot (ignorar arquivo é bastante inteligente)

-carrega os arquivos criados anteriormente para o S3

Este não é um backup completo porque exclui o sistema operacional. Mas como todos os meus arquivos de configuração são salvos, não me importo. Essa é uma maneira econômica de garantir que tudo esteja disponível, até mesmo o histórico de certas coisas, como o banco de dados.

Espero que ajude.

    
por 04.03.2011 / 01:01
0

Aqui está um script python curto que criei que cuida da manutenção (exclui backups antigos, etc ...)

    
por 17.03.2011 / 18:28