DEV Community

Paulo Ponciano
Paulo Ponciano

Posted on • Originally published at Medium

Utilizando EFS para persistência de arquivos do container ECS/Fargate

Caso esteja executando sua aplicação em container docker utilizando o ECS/Fargate e tenha a necessidade de persistir arquivos de um determinado diretório, o EFS pode ser útil.

Dessa forma, pode ter a tranquilidade de caso o container seja destruído, estes arquivos não serão perdidos.

Com esse recurso, é possível também executar vários containers utilizando o mesmo respositório de persistência e compartilhando os mesmos dados.


Topologia de referência

Pré-requisitos

  • Acesso ao console AWS e ao serviço ECS

  • Cluster ECS/Fargate já configurado

  • EFS já criado

Considerações

  • Foi utilizado uma imagem httpd do Docker Hub

  • Um bastion host Linux pode ser útil para administração e deploy no EFS

  • O diretório padrão do httpd (/usr/local/apache2/htdocs) será consumido no EFS

  • Foi feito upload de uma nova index.html através do bastion host para o diretório raiz do EFS que será montado no WORKDIR do container


Execução

  • Visualização do EFS criado — Lembre-se de permitir NFS no security group:

  • Na task definition do ECS, crie uma nova revisão para adicionar as configurações de volume:

  • Ainda na task definition, será necessário ajustar container definitions:

  • Atualize o service para utlizar a revisão correspondente aos ajustes realizados:

  • It works!

Conclusão

Foi utilizado uma função básica de web server para demonstrar a funcionalidade do EFS como repositório de persistência. Assim cada container proveniente da task definition que foi atualizada pode consumir o repositório, podendo ser parado e iniciado a qualquer momento sem ocasionar perda de dados (no caso do exemplo, a index.html).

Happy building!

Top comments (0)