Post

Amazon Elastic Container Registry: O que é, para que serve e por que você deveria usar?

Entenda o Amazon ECR de forma simples: o que é, para que serve, quando e por que usar.

Amazon Elastic Container Registry: O que é, para que serve e por que você deveria usar?

Sabe quando você “perde” horas montando uma imagem Docker para sua aplicação otimizando imagem, ajustando todas as dependências, passando raiva e depois a aplicação roda liso na sua máquina, e ai você pensa: “Beleza, agora eu só preciso guardar isso em algum lugar para meu poder baixar seja no ECS, EKS etc…, como faço?”

Você pode até pensar em subir a imagem para Docker Hub, mas toda sua stack esta na AWS ou você quer alguma forma de guardar isso de maneira privada dentro da AWS, é exatamente aqui que o AWS ECR.

Afinal, o que é o AWS ECR?

O ECR é nada mais, nada menos do que o um lugar onde você insere suas imagens de contêiner gerenciado da AWS.

Ele funciona como um deposito para poder enviar suas imagens na nuvem onde você faz o push das suas imagens Docker e deixa elas salvas com segurança para quando o seu cluster de computação precisar fazer o pull.

Agora imagina se não tivesse algo assim? Como você iria gerenciar suas imagens? Como iria baixar imagens? Criar um registry “na mão” ter que dar manutenção ? Isso é praticamente inviavel nos dias de hoje.

Para que serve na prática?

Resumindo: o ECR serve para guardar suas imagens Docker privadas (ou públicas, se você quiser) com total integração ao ecossistema AWS.

Então vamos levantar alguns pontos importantes de por que utilizar o ECR no ecossitema da AWS.

  • Integração nativa com a AWS: Se você roda suas aplicações no ECS, no EKS **, no **App Runner ou até no AWS Lambda, o ECR se conecta com eles de forma quase transparente.
  • Controle de acesso(IAM): Você através de policies pode criar regras e definiar o controle de acesso.
  • Escaneamento de segurança: Ele inspeciona suas imagens em busca de vulnerabilidades conhecidas (CVEs).
  • Lifecycle Policies: Você pode criar regras: “Mantenha apenas as últimas 10 imagens” ou “Delete imagens após 7 dias”.

E tudo funciona de forma bem simples, vamos dar um exemplo:

A Garagem Privativa do Prédio: O Docker Hub público é como aquele estacionamento público no centro da cidade qualquer um vê, qualquer um entra. O ECR é a garagem privativa da sua empresa, com portaria 24 horas, tag no para-brisa e cancela vinculada ao IAM da AWS. Só entra carro (imagem) autorizado.

Quando vale a pena usar?

Nem todo cenário exige o ECR, mas se você se encaixa em algum desses pontos, ele é praticamente obrigatório:

  • Você já roda cargas de trabalho na AWS: Se suas aplicações vão rodar no ECS, EKS ou Lambda, usar o ECR é o caminho natural para ter menor latência e maior velocidade no download das imagens.
  • Você tem um Pipeline de CI/CD automatizado: Seu GitHub Actions, GitLab CI ou AWS CodePipeline faz o build da imagem, roda os testes, faz o login via AWS CLI e envia a imagem novinha para o ECR.
  • Conformidade e segurança: Se o código da sua empresa não pode rodar em repositórios públicos por questões de segurança ou compliance, o ECR garante o isolamento total.

Como é o fluxo no dia a dia?

O ciclo de vida de uma imagem trabalhando com o ECR é:

  1. Build: Você constrói sua imagem localmente ou na sua esteira de CI/CD (docker build).
  2. Auth: Você se autentica no registro da AWS usando o AWS CLI.
  3. Tag & Push: Você coloca a tag com o endereço do seu repositório ECR e faz o envio (docker push).
  4. Deploy: Seu serviço na AWS (ECS/EKS) lê o repositório, baixa a imagem atualizada e sobe a nova versão da aplicação.

Conclusão

O AWS ECR não tenta reinventar nada, e é exatamente por isso que ele é tão bom. Ele pega o conceito que já existe e que todo mundo já conhece e adiciona a camada de segurança, governança e integração na AWS.

Se você está começando a mover suas aplicações em contêineres para a nuvem da AWS, colocar o ECR no meio da sua arquitetura é um dos passos mais simples e eficientes que você pode dar.

E é isso ECR não tem complicação é é nosso registry da AWS.

Referências e Documentação Oficial

This post is licensed under CC BY 4.0 by the author.