Criando um AWS EFS (Elastic File System)

Acredito que uma das aplicações mais utilizadas é o Wordpress. E em geral ele possui bons plugins para armazenar conteúdo estático no S3. Porém alguns (outros) plugins gravam arquivos no servidor e muitas vezes esses plugins não são compatíveis, com aqueles que armazenam no S3.

Então imagina o cenário, você possui dois servidores rodando, em determinado momento o seu auto-scalling comanda a criação de mais 1 servidor que roda por algumas horas, cria alguns arquivos e é destruído. Tchau arquivos. Sem contar que durante a execução se esse servidor precisou acessar arquivos que só existem em outro servidor não teve sucesso.

Para resolver isso a AWS lançou o EFS que nada mais é que um NFS-as-a service. O interessante é que diferente do EBS, você não diz o espaço que precisa. Você simplesmente vai enviando os arquivos e ele vai ampliando automaticamente. Quanto mais espaço você utilizar, mais IOPS estarão disponíveis.

No momento você só pode usar o EFS dentro de um VPC, ou na sua rede caso você tenha um AWS Direct Connect.

Criar um EFS é bem simples, após clicar em criar você verá uma imagem semelhante a essa:

Você pode deixar tudo no automático se quiser, ou customizar de acordo com a sua demanda. Minha recomendação é apenas para que mude o security group. Ele pega o padrão do seu VPC, recomendo que crie um somente para o seu mount point. Política "least privilege" quanto menos acesso, melhor.

Outro item que para alguns casos é interessante é fixar um IP, mas isso só para quem não quer depender de DNS, ou faz um planejamento de IP e quer padronizar.

Na próxima tela temos as seguintes opções:

Tags: Para sua organização, segurança e controle de custos.

Perfomance: Caso você tenha menos de 10 máquinas escolha o general purpose. O Max I/O tem um aumento de latência em algumas operações, mas os acessos paralelos serão privilegiados. Lembrando que isso não pode ser alterado depois.

Encryption: Recomendo SEMPRE. Seus arquivos estarão criptografados nos storages da AWS.

Após isso vá para a tela de revisão e criei o seu EFS. No final você terá uma tela semelhante a esta:

Clicando no seu EFS, aparecerá uma série de informações. Entre elas um link chamado: Amazon EC2 mount instructions. Clique neste link e terá uma tela semelhante a esta:

Agora é só seguir os seguintes passos:

  • Colocar o Security group padrão na sua instância
  • Logar na instância e criar a pasta efs
  • Montar o efs com o comando recomendado

Feito isto para digitar "df -h" e você verá uma linha semelhante a esta:

fs-0d19f174.efs.us-east-2.amazonaws.com:/ 8.0E 0 8.0E 0% /mnt/efs

Agora é só começar a colocar os arquivos.

OBS: Sim, ele está dizendo que tem 8 Exabytes = 8 milhões de TB

No próximo post, vou mostrar como automatizar a montagem do EFS na sua instância.

Espero ter ajudado a esclarecer o assunto. Caso tenha alguma dúvida, escreve aqui em baixo. Caso esteja testando, não esqueça de remover os recursos criados.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.