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.
Originally published at medium.com on September 27, 2017 by Francisco Edilton.