Persistência de dados do Amazon EC2

25

De acordo com as Perguntas frequentes do Amazon EC2 , quando uma instância é encerrada, os dados desaparecem. Que etapas posso executar para preservar os dados no caso de minha instância ser reiniciada? Eu estive pesquisando no EBS e S3 - seria útil para armazenar um banco de dados ativo? Com que frequência as instâncias são reiniciadas?

Kyle Cronin
fonte
2
Uma nota lateral sobre terminologia: observe que encerrar uma instância é diferente de simplesmente reiniciá- la. A finalização limpa o armazenamento da instância enquanto a reinicialização não ocorre (consulte, por exemplo, stackoverflow.com/questions/637790/… ). Então você não fizer isso reiniciar realmente média :)
Jonik

Respostas:

25

Como outros já disseram, EBS - Elastic Block Storage. Eu mesmo estou usando agora que é liberado para o público em geral. É melhor que o S3 em vários pontos:

  • O EBS é rápido . Mais rápido do que as montarias locais, de acordo com a Amazon.
  • O EBS é montado como dispositivo adequado . Diferentemente do S3, você precisará de uma lógica de acesso ao objeto S3 personalizada em seu código ou de um middleware (JungleDisk, ElasticDisk, et al) que apresentem seus próprios problemas e custos
  • É fácil fazer backup do EBS . A Amazon oferece a capacidade de tirar fotos instantâneas, que são salvas no S3
  • O EBS é portátil entre instâncias - os volumes podem ser desmontados de uma instância e anexados a outra instância
  • Os dispositivos EBS podem até ser RAID juntos para melhorar a confiabilidade

Minha experiência com o EBS até agora tem sido a coisa mais positiva sobre a AWS com a qual lidei até agora.


Atualização: Embora minha experiência com o EBS tenha sido positiva, outros tiveram problemas. Muito especificamente, o EBS não implementa fsync () corretamente. Ted Dziuba tem algumas palavras interessantes sobre isso em sua postagem no blog Amazon - O Propósito da Dor : Mito 2: A Arquitetura Salvará Você de Falhas na Nuvem

Isso fica ainda mais divertido com o Amazon Elastic Block Store, que, como descobriram os administradores do Reddit, aceita alegremente chamadas para fsync () e fica na sua cara, dizendo que os dados foram gravados no disco, quando podem não ter. fui.

Stu Thompson
fonte
O EBS às vezes é rápido, às vezes lento. O RAID de vários volumes juntos ajuda muito.
ceejayoz
4

O EBS certamente funcionaria para um banco de dados e é um dos exemplos na descrição do EBS da Amazon . "O Amazon EBS é particularmente adequado para aplicativos que exigem um banco de dados ..."

O EBS funcionará como um dispositivo de bloco (pense em disco rígido), oferecendo ampla liberdade e conforto ao usá-lo. O S3 é conceitualmente mais parecido com o FTP muito rápido, com uma API especial. É possível usá-lo como parte de um banco de dados, mas os bancos de dados padrão ainda não são executados (ainda?).

Você deseja revisar as descrições de desempenho da Amazon (EBS> S3), durabilidade (S3> EBS) e preço (depende).

Joshdan
fonte
2

Conforme mencionado em outras respostas, o EBS é a solução padrão para armazenamento em disco persistente e conveniente. Deve ser sua opção padrão. De fato, os tipos de instância mais recentes do EC2 a utilizam por padrão, sobre o armazenamento de instância original e não persistente.

No entanto, ao considerar a persistência, você também deve considerar cuidadosamente a disponibilidade (evitando momentos em que os dados não estão disponíveis) e a durabilidade (evitando a perda de dados) para seus dados.

O EBS abrange os casos de uso básicos, mas lembre-se:

  • O S3 foi projetado para maior durabilidade do que o EBS. Simplificando, eles mantêm mais cópias de seus dados e reivindicam 99,9999999999% de durabilidade extremamente alta para o S3 (consulte as Perguntas frequentes do S3). A probabilidade numérica real aqui (que é tão alta que faz com que invasões marcianas pareçam mais prováveis) não é tão importante quanto o fato de a AWS ter apostado sua reputação na durabilidade do S3 e ter um registro muito bom aqui. O mesmo não se aplica ao EBS.
  • Embora a Amazon não forneça estatísticas diretamente, muitas pessoas acreditam que o armazenamento de instância oferece historicamente maior disponibilidade do que o EBS.

Interrupções recentes da AWS, uma falha grave de vários dias em 2011 e outra em 2012 , dão algumas ilustrações das complexidades do EBS e dos riscos pequenos, mas não desprezíveis, de interrupções e perda de dados.

Conclusão: para ter certeza de que você não perderá seus dados, mantenha os backups de dados no S3 . Os instantâneos do EBS são uma maneira fácil de fazer isso para o EBS. Se a alta disponibilidade for crítica, considere também usar o armazenamento da instância em várias zonas de disponibilidade (além do, ou em vez do EBS).

jlevy
fonte
0

Parece que, se você está preocupado com a perda de dados, precisa do EBS mencionado acima . Há um pouco de introdução aqui .

Pessoalmente, não analisei muito mais o assunto até agora, apenas estou usando o S3 para backups atualmente.

Scott Bennett-McLeish
fonte