Compartilhando Sistemas de Arquivos com AWS EFS
Se você opera em um ambiente de aplicativos com múltiplos servidores e necessita compartilhar um sistema de arquivos entre eles, configurar o NFS (Network File System) pode parecer a solução padrão. O NFS permite essa partilha, mas sua implementação tradicional pode exigir conhecimentos específicos em administração de sistemas.
Em uma configuração de infraestrutura convencional, o processo de configuração do NFS pode demandar a coordenação de várias equipes e consumir um tempo considerável. Contudo, se você estiver utilizando a AWS, o serviço EFS (Elastic File System) oferece uma alternativa mais rápida e simplificada, permitindo realizar essa configuração em poucos minutos.
O AWS EFS possibilita a criação de um armazenamento de arquivos escalável, ideal para uso com instâncias EC2. Com ele, você não precisa se preocupar com a previsão de capacidade, já que o sistema ajusta-se automaticamente às suas necessidades, expandindo ou diminuindo conforme a demanda.
Para ilustrar o funcionamento do EFS, veja esta representação esquemática:
Alguns dos benefícios do EFS incluem:
- Gerenciamento total pela AWS.
- Custo otimizado, com pagamento apenas pelo uso.
- Alta disponibilidade e durabilidade dos dados.
- Escalabilidade automática, ajustando-se à demanda.
- Desempenho escalável, sem gargalos.
Neste tutorial, vamos demonstrar como criar um EFS e montá-lo em duas instâncias EC2 Ubuntu.
Passos para Configuração
- Acesse o console da AWS.
- Vá para “Serviços” e selecione “EFS” em “Armazenamento” (link direto).
- Clique em “Criar sistema de arquivos”.
- A AWS alocará um endereço IP em uma zona de disponibilidade automaticamente, mas você pode customizar isso na tela seguinte, caso necessário.
- Adicione tags, se precisar, e escolha o modo de desempenho: “General Purpose” ou “Max I/O”.
- Confira as configurações e, se estiver tudo certo, clique em “Criar sistema de arquivos”.
Após alguns instantes, você verá uma mensagem de confirmação de sucesso.
Parabéns! Seu sistema de arquivos foi criado e está pronto para ser montado a partir de instâncias EC2 que possuam um cliente NFSv4.1. Também é possível montá-lo de servidores locais através de uma conexão AWS Direct Connect.
Você poderá visualizar o sistema de arquivos elástico recém-criado na lista.
Com isso, o EFS está criado e preparado para ser montado em suas instâncias EC2.
Montagem do EFS em Instâncias EC2
Antes de montar, é necessário instalar o cliente NFS. Os detalhes de instalação podem ser encontrados ao expandir a lista e clicar em “Instruções de montagem do Amazon EC2”.
Vamos ver como realizar essa montagem.
- Conecte-se às duas instâncias EC2 e instale o cliente NFS. No caso do Ubuntu, utilize o comando abaixo:
apt-get install nfs-common
- Agora, crie um diretório onde o EFS será montado. Por exemplo: /apps
cd /
mkdir apps
Monte o sistema de arquivos utilizando o comando fornecido nas instruções:
Exemplo:
mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 fs-4fd14a06.efs.us-east-1.amazonaws.com:/ apps
Importante: Se encontrar problemas durante a montagem, consulte este guia de solução de problemas. Também, verifique os grupos de segurança, garantindo que:
- A porta NFS (2049) esteja liberada nas regras de entrada da instância EC2.
- Grupos de segurança EC2 estejam permitidos nos grupos de segurança EFS.
Após alguns instantes, ao executar o comando df -h
, você deverá observar que o diretório /apps foi montado:
[email protected]:/# df -h | grep apps
fs-4fd14a06.efs.us-east-1.amazonaws.com:/ 8.0E 0 8.0E 0% /apps
[email protected]:/#
Repita o processo de criação do diretório e montagem do EFS em todos os outros servidores em que você deseja ter o /apps disponível.
Para verificar, montei o EFS em outro servidor e pude confirmar que o diretório /apps está acessível em ambas as instâncias:
[email protected]:/apps# df -h | grep apps
fs-4fd14a06.efs.us-east-1.amazonaws.com:/ 8.0E 0 8.0E 0% /apps
[email protected]:/apps#
Simples, não é?
Após alguns testes, o desempenho pareceu bastante satisfatório. O AWS EFS demonstra ser uma solução promissora para o compartilhamento de sistemas de arquivos entre instâncias EC2. Experimente e comprove os benefícios.
Interessado em aprofundar seus conhecimentos sobre a AWS? Veja este curso na Udemy.
Gostou do artigo? Compartilhe com seus colegas!