Como implementar o AWS EFS para compartilhar o sistema de arquivos entre o EC2?

Se você estiver trabalhando em um ambiente de aplicativo multi-servidor onde você tem um requisito para compartilhar um sistema de arquivos entre vários servidores, você precisa configurar o NFS (Network File System).

O NFS permite compartilhar o sistema de arquivos em mais de um servidor, mas a implementação requer algumas habilidades de administração.

Em um ambiente de infraestrutura tradicional, pode ser necessário envolver várias equipes e levaria tempo para criar o NFS. Mas se você estiver usando a AWS, poderá fazer isso em alguns minutos com o serviço EFS (Elastic File System).

AWS EFS permite criar armazenamento de arquivos escalável para ser usado no EC2. Você não precisa se preocupar com a previsão de capacidade, pois ela pode aumentar ou diminuir sob demanda.

Uma ilustração rápida foi tirada da página da AWS para dar uma ideia de como funciona.

Algumas das vantagens do EFS são:

  • Totalmente gerenciado pela AWS.
  • Baixo custo, pague pelo que usar.
  • Alta disponibilidade e durável
  • Aumente ou diminua a escala automaticamente.
  • Desempenho escalável
  Como criar toques grátis diretamente no seu iPhone

Tenho duas instâncias do EC2 Ubuntu em execução e, neste tutorial, criarei um EFS e o montarei nos dois servidores EC2.

Vamos começar.

  • Faça login no console da AWS
  • Vá para Serviços e selecione EFS em armazenamento (link direto)
  • Clique em “Criar sistema de arquivos”.

  • A AWS atribuirá automaticamente um endereço IP na zona de disponibilidade. Você pode fazê-lo na próxima tela se precisar alterá-lo.

  • Adicione a tag se precisar e selecione o modo de desempenho entre General Purpose ou Max I/O

  • Revise a configuração e, se tudo estiver bem, clique em “Criar sistema de arquivos”.

Pode levar alguns segundos e, uma vez feito, você receberá uma mensagem de sucesso.

Sucesso!

Você criou um sistema de arquivos. Você pode montar seu sistema de arquivos a partir de uma instância do EC2 com um cliente NFSv4.1 instalado. Você também pode montar seu sistema de arquivos a partir de um servidor local por meio de uma conexão do AWS Direct Connect.

  As cinco melhores atualizações de PC para melhorar o desempenho

Você poderá ver o sistema de arquivos elástico recém-criado na lista.

Isso conclui que você criou o EFS e está pronto para ser montado em instâncias do EC2.

Montagem do EFS no EC2

Antes de montar, você precisa instalar o cliente NFS. Se você expandir a lista e clicar em “Instruções de montagem do Amazon EC2”, você obterá os detalhes.

Mas vamos ver como vai.

  • Faça login nas duas instâncias do EC2 e instale o cliente NFS. Eu tenho o Ubuntu, então vou usar o seguinte.
apt-get install nfs-common
  • Vamos criar uma pasta onde você deseja montar o EFS.

Exemplo: /apps

cd / 
mkdir apps

Monte o sistema de arquivos com o comando fornecido nas instruções.

Ex:

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

Nota: Se você encontrar algum problema durante a montagem, consulte este guia de solução de problemase não se esqueça de verificar os grupos de segurança para garantir o seguinte.

  • A porta NFS (2049) é permitida nas regras de entrada da instância do EC2
  • Grupos de segurança EC2 são permitidos em grupos de segurança EFS
  Como configurar um servidor de banco de dados PostgreSQL com Webmin no Ubuntu Server

Levará alguns segundos e você notará que /apps está montado se você fizer o comando df -h

[email protected]:/# df -h | grep apps 
fs-4fd14a06.efs.us-east-1.amazonaws.com:/  8.0E     0  8.0E   0% /apps 
[email protected]:/#

Agora, você precisa fazer login em outro servidor em que deseja ter /apps disponível e repetir a criação de uma pasta e a montagem do EFS.

Para verificar, montei meu EFS em outro servidor e posso ver que /apps estão acessíveis em ambos os servidores.

[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#

Isso é fácil, não é?

Tentei criar alguns arquivos e, no geral, o desempenho parece bom. O AWS EFS parece promissor e, se você precisar de compartilhamento de sistema de arquivos em instâncias do EC2, experimente e tenho certeza de que você vai gostar.

Você está interessado em saber mais sobre a AWS? Veja isso Curso Udemy.

Gostou de ler o artigo? Que tal compartilhar com o mundo?