Escrito por Thiago Marques.
26/11/2024
Se você precisa que múltiplos servidores acessem o mesmo volume EBS ao mesmo tempo, o Multi-Attach pode ser a solução ideal. Vamos entender como ele funciona, os benefícios que oferece e como configurá-lo.
O que é o EBS Multi-Attach?
O Amazon EBS Multi-Attach permite que um único volume EBS seja anexado a várias instâncias do Amazon EC2 simultaneamente, dentro da mesma zona de disponibilidade. Essa funcionalidade é especialmente útil em cenários onde várias instâncias precisam acessar os mesmos dados em tempo real.
Principais Benefícios do EBS Multi-Attach:
- Acesso simultâneo: Várias instâncias EC2 podem ler e gravar no mesmo volume simultaneamente, sendo útil para aplicativos que exigem compartilhamento de dados em tempo real.
- Alta disponibilidade: Em situações de failover, você pode anexar o volume EBS a várias instâncias EC2, garantindo redundância e minimizando o tempo de inatividade.
- Desempenho: Mesmo com múltiplos servidores conectados, o desempenho não é prejudicado, pois cada instância EC2 acessa o volume com baixa latência.
Casos de uso
- Sistemas distribuídos: Em clusters distribuídos de leitura/escrita, como sistemas de processamento de dados ou servidores de jogos, o EBS Multi-Attach permite que o mesmo volume de dados seja compartilhado entre os nós do cluster, facilitando o acesso em tempo real.
- Alta disponibilidade: Para cenários em que a alta disponibilidade é crítica, como em aplicativos de missão crítica ou serviços de banco de dados distribuído, o EBS Multi-Attach pode ser anexado a múltiplas instâncias. Assim, se uma instância falhar, outra poderá continuar acessando os dados sem interrupção.
- Ambientes de desenvolvimento e teste: Em ambientes de desenvolvimento, onde várias instâncias EC2 são utilizadas para testes paralelos, o Multi-Attach permite que os desenvolvedores compartilhem o mesmo volume EBS, facilitando o uso colaborativo dos dados em tempo real.
Limitações do EBS Multi-Attach
Apesar das vantagens, é importante considerar algumas limitações do EBS Multi-Attach:
- Compatível apenas com volumes io1 e io2: O Multi-Attach está disponível somente para volumes de alta performance (io1 e io2), que permitem o provisionamento de IOPS.
- Consistência de dados: Como várias instâncias podem gravar simultaneamente no volume, a consistência dos dados é responsabilidade da aplicação. Para evitar corrupção de dados, pode ser necessário usar um sistema de arquivos compartilhado (como NFS) ou um banco de dados distribuído.
- Zonas de disponibilidade (AZs): O Multi-Attach funciona apenas dentro de uma mesma zona de disponibilidade (AZ). Se as instâncias EC2 estão distribuídas em várias AZs, será necessário buscar outra solução de compartilhamento de dados.
Utilizando Scripts
Vamos agora para um exemplo prático de como configurar o EBS Multi-Attach em um ambiente EC2.
Criando um volume EBS compatível
Primeiro, precisamos criar um volume EBS com suporte ao Multi-Attach. Para isso, usaremos o tipo de volume io1 ou io2.
- No console da AWS, vá para Elastic Block Store > Volumes.
- Clique em Create Volume.
- Escolha um volume io1 ou io2.
- Em Multi-Attach Enabled, marque Yes.
- Clique em Create Volume.
Anexando o volume a várias instâncias EC2
Agora que criamos o volume com suporte ao Multi-Attach, vamos anexá-lo a várias instâncias EC2.
- No console do Amazon EC2, selecione o volume criado.
- Clique em Actions e escolha Attach Volume.
- Selecione a primeira instância EC2 à qual deseja anexar o volume.
- Repita o processo para a segunda instância EC2, selecionando o mesmo volume.
Montando o volume em cada instância
Agora precisamos montar o volume EBS em cada uma das instâncias EC2. Vamos usar o comando a seguir:
Considerações finais
O Amazon EBS Multi-Attach é uma ferramenta poderosa para casos de uso em que múltiplas instâncias precisam acessar o mesmo volume EBS em tempo real. Ele permite maior flexibilidade para arquiteturas distribuídas e oferece alta disponibilidade em cenários de failover. No entanto, devido à possibilidade de inconsistência de dados, ele deve ser utilizado com cautela e com sistemas que suportam múltiplos gravadores simultâneos.
Se você precisa de compartilhamento de dados em tempo real entre várias instâncias EC2 e está em busca de uma solução simples e eficaz, experimente o EBS Multi-Attach e veja como ele pode otimizar sua infraestrutura na nuvem.
Xero no suvaco!!
Be Happy!!!
Thiago Marques
Technical Account Manager
thiago.marques@darede.com.br
Technical Account Manager da Darede, formato em Rede de Computadores, e pós graduado em Segurança da Informação. Possui ampla experiência em Datacenters e Service Providers, além de ser um entusiasta em DevOps e mercado financeiro.