Minha empresa está mudando nossa hospedagem para a Amazon e estou trabalhando com todos os problemas de migração. Foi um grande desafio fazer a transição do hardware físico para as máquinas virtuais transitórias.
Um dos últimos desafios é descobrir como gerenciar nossos EBS e snapshots. Como atualmente não existe uma maneira de nomeá-los descritivamente ou adicionar significado, estou me perguntando como os administradores estão gerenciando seus recursos. Não é um problema muito grande com um ou dois servidores, mas como os que estão executando vários servidores lidam com as coisas. Todo mundo está usando ferramentas de terceiros (como RightScale / Scalr) quando supera um punhado de servidores? Ou você está mantendo wikis ou outra documentação auxiliar?
fonte
Respostas:
Uso ec2-consistente-instantâneo ( http://alestic.com/2009/09/ec2-consistent-snapshot ) para tirar meus instantâneos (no Linux da Amazon, derivado de RHEL / CentOS) - ele é escrito em Perl e usa a API diretamente . Você especifica os volumes que deseja capturar e permite adicionar uma descrição.
(No console da AWS, você pode adicionar tags se precisar de um controle mais refinado, mas para um backup simples que talvez não seja necessário e ainda não seja suportado pelo módulo Perl usado acima (Net :: Amazon :: EC2)).
O script acima não exclui snapshots (apenas cria novos - de forma consistente (ou seja, pode congelar o disco / db antes do snapshot). Como é bastante usado e não consegui encontrar um script Perl compatível para excluir snapshots antigos que escrevi ( http://www.thatsgeeky.com/2011/06/rotating-ebs-snapshots-ec2-prune-snapshots/ ). Faz bem o trabalho (rotação avô-pai-filho) e usa as mesmas dependências e parâmetros como o script acima.
Obviamente, ambos estão configurados para serem executados via Cron.
(Em teoria, deve ser fácil conectar alguns scripts semelhantes (existem os escritos em PHP e Ruby, por exemplo) a um banco de dados e manter seu próprio log dos volumes e instantâneos obtidos - cada instantâneo possui um ID exclusivo, desde que registre que, qualquer outra organização interna deve ser facilmente possível. [No entanto, para fins de backup, a identificação do volume e a data geralmente são suficientes])
Não use as ferramentas da CLI - elas são escritas em Java e são ridiculamente lentas em comparação com quaisquer implementações diretas da API.
fonte
Gradualmente, a Amazon está adicionando todos os recursos necessários para um gerenciamento eficaz, necessário para atrair o mercado corporativo. Tags foram adicionadas e aprimoramentos para permitir que um usuário tenha acesso apenas a determinados recursos. No futuro, certamente os scripts e a implantação serão tratados. Estou adicionando esses recursos à minha ferramenta gratuita ElastDream.
fonte
Antes de escrever sua própria ferramenta para indexar o EBS e os IDs de snapshots nos rótulos de texto, descobri que usar uma conta gratuita do RightScale e atribuir apelidos é a melhor maneira de gerenciar nossos volumes e snapshots do EBS.
Pessoalmente, acho que a incapacidade de atribuir um rótulo fácil de lembrar a uma instância do EC2, AMI ou volume é um grande buraco na atual oferta da Amazon - apenas me parece um acéfalo.
fonte
Eu uso o ElasticFox para gerenciar meus instantâneos (e todos os meus servidores também). Possui marcação, o que facilita o controle de qual é qual.
Também uso a biblioteca boto quando quero fazer coisas programaticamente. No entanto, se você fizer isso, precisará criar seu próprio armazenamento de dados. SQS e Sqlite são boas opções lá.
fonte
O ElasticFox é certamente uma das ferramentas mais convenientes para gerenciar (manualmente) o EC2. Mas a parte principal é - criar imagens de suas instâncias regularmente - configurar algumas inicializações automáticas assim que uma nova instância for iniciada: - particionar e montar as unidades efêmeras - montar o volume do EBS assim que estiver disponível - restaurar arquivos e bancos de dados do EBS, armazenamento compartilhado ou S3. - inicie os serviços (MySQL, Apache, Tomcat, o nome dele.)
fonte
Utilizamos o chef para gerenciar todos os nossos recursos EC2.
fonte
O console da AWS é de nível muito baixo para muitas tarefas diárias, embora esteja melhorando rapidamente. Se você precisar dessa funcionalidade agora, precisará dar uma olhada e escrever seus próprios scripts, utilizando as ferramentas ec2 cli para gerenciar os instantâneos ou usar uma ferramenta de terceiros. Para o gerenciamento de volume do EBS, os mencionados acima são bons; outra opção é a ferramenta de gerenciamento do EBS, para que você possa agendar backups, nomeá-los, restaurá-los, etc. do BitNami Cloud Hosting (existe um nível gratuito)
fonte
Eu tenho meu próprio script para fazer backups rotativos (avô - pai - filho) no meu blog http://three99.com/posts/python-grandfather-father-son-snapshots-backup-for-ec2/
fonte