Como os administradores estão gerenciando seus EBS e snapshots do EC2?

30

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?

ahanson
fonte
11
+1 ótima pergunta. Eu antecipo as respostas das comunidades.
egorgry

Respostas:

3

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.

cyberx86
fonte
2

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.

EEAA
fonte
1

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.

gareth_bowles
fonte
1

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á.

jedberg
fonte
1

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.)

Dirk Taggesell
fonte
1

Utilizamos o chef para gerenciar todos os nossos recursos EC2.

ctennis
fonte
Atualmente, não sou usuário de chef, mas estou procurando uma solução para resolver esse problema. Você poderia fazer referência à receita / livro de receitas / recurso que usa para fazer backups automáticos?
John Hinnegan
0

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)

Daniel Lopez
fonte