Servidor Web no armazenamento de dimensionamento automático do AWS EC2

3

Por isso, estou tentando aprender mais sobre o AWS EC2 Auto Scaling e tentando descobrir exatamente como o armazenamento funciona entre as instâncias. Ao criar novas instâncias, parece um novo volume do EBS para cada instância.

Se eu estiver executando um servidor Web no EC2 Auto Scaling, como faço para que meu conteúdo seja transferido para cada nova instância do EC2 criada. Existe uma maneira de ter um volume do EBS usado em todas as instâncias do Auto Scaling do EC2? Li sobre o Elastic File System, mas não tenho certeza de como você anexaria o volume a novas instâncias à medida que elas são criadas.

Agradecemos antecipadamente por sua ajuda.

    
por Charlie Fish 10.07.2016 / 01:31

1 resposta

5

Não, o EBS pode ser conectado a apenas uma instância do EC2. Você pode imaginá-lo como um disco rígido normal - ele também pode ser conectado a apenas uma máquina. Você pode alternar o EBS entre suas instâncias, mas não pode anexá-lo a mais de um.

EFS é apenas um sistema de arquivos de rede como nfs ou samba, você pode montá-lo com o fstab. Mas você precisa verificar se o EFS está disponível em sua região!

Pelo que entendi, você está tentando compartilhar o armazenamento de arquivos entre todas as suas máquinas. Neste caso, você tem várias maneiras de alcançá-lo:

  • se você não precisa de um sistema de arquivos regular, você pode usar o S3. É recomendado o caminho na AWS. Mas o S3 não é o sistema de arquivos, é o armazenamento de objetos com a API de descanso, então você não pode usar o método regular para acessar arquivos nele, mas você tem que usar o SDK da Amazon. O S3 tem tamanho ilimitado e não tem problemas com múltiplos acessos. Você pode até usar o S3 como back-end para o CloudFront CDN.

  • Se você precisa de um sistema de arquivos regular, você tem várias maneiras. Você pode usar o EFS está disponível ou pode construir algumas VMs de armazenamento com gluster e montá-lo em sua instância. Você definitivamente precisará de AMI customizada com montagens em fstab, preparar HA, backups etc. Mas funciona como FS regular? é compartilhado e o instant-file criado na máquina A pode ser acessado instantaneamente na máquina B

  • Se você precisar apenas implantar seu aplicativo no EC2 recém-iniciado, poderá usar o CodeDeploy ou o OpsWorks para informar ao grupo de autocalocação a implantação do seu aplicativo no novo EC2. Mas funciona apenas com um número limitado de distribuições, acho que apenas com o Amazon Linux, RHEL e Ubuntu.

  • Se você precisar que o armazenamento seja sincronizado em todo o seu EC2 e não queira configurar algum armazenamento do EC2, basta executar o cluster do rsync. Desta forma é pouco complicado e pode ser problemático em caso de grande número de instâncias. Você não pode conseguir o compartilhamento instantâneo com o rsync também.

As soluções recomendadas dependem das suas necessidades. Estou usando duas instâncias do EC2 com EBS grande e volumes gluster replicados montados em todos os meus servidores de aplicativos. Isso funciona bem.

    
por 10.07.2016 / 01:49