CRM Docs

ECR

Elastic Container Registry — registro privado de imagens Docker

O Amazon ECR (Elastic Container Registry) é o repositório privado de imagens Docker usadas pelo ECS. Cada ambiente (ou cada serviço) costuma ter um ou mais repositórios, com tags como latest, v1.2.3 ou o hash do commit do Git.

Por que usar ECR no CRM

BenefícioDescrição
Integração nativaECS puxa imagens sem expor registry público
IAMPush/pull controlado por políticas AWS
Scan de vulnerabilidadesOpcional: análise da imagem após push
LifecycleRegras para apagar tags antigas e economizar storage

Estrutura típica

<account-id>.dkr.ecr.<region>.amazonaws.com/<repositorio>:<tag>
ElementoExemploSignificado
Registry123456789.dkr.ecr.sa-east-1.amazonaws.comEndpoint da conta/região
Repositóriocrm-apiNome lógico do serviço
Tag20240520-abc123Versão imutável ou latest

Fluxo CI/CD → ECS

  1. Pipeline faz docker build da API ou worker.
  2. Autentica no ECR (usuário IAM ou role do pipeline).
  3. docker push com tag versionada.
  4. Task definition atualizada com URI ...@sha256:... ou tag específica.
  5. ECS faz pull ao subir nova task.

Tags: boas práticas

EstratégiaPrósContras
Tag por commit (git sha)Rastreável, imutávelMuitas tags sem lifecycle
Tag semver (1.4.2)Legível para releasesRequer disciplina de release
latestSimples em devPerigoso em produção (sobrescreve)

Em produção, prefira referenciar na Task Definition a tag imutável ou o digest (@sha256:...) gerado no push, não apenas latest, para que rollback e auditoria sejam previsíveis.

Permissões (IAM)

AçãoQuem precisa
ecr:GetAuthorizationTokenCI e desenvolvedores que fazem push local
ecr:BatchCheckLayerAvailability, PutImage, InitiateLayerUpload, ...Pipeline de build
ecr:BatchGetImage, GetDownloadUrlForLayerRole da task execution do ECS (pull na subida da task)

A task role (runtime da aplicação) não precisa de permissão ECR se a imagem já foi puxada na inicialização — ela precisa de permissões para S3, SQS, etc., conforme o app.

Lifecycle e custos

  • Imagens são cobradas por GB-mês armazenado.
  • Políticas de lifecycle podem manter, por exemplo, as últimas 30 tags e expirar o resto.
  • Scanning (se habilitado) gera custo adicional por imagem analisada.

Relação com outros serviços

ServiçoRelação
ECSConsome imagens no deploy
TDCampo image aponta para URI do ECR
CI/CD (externo)Origem dos pushes

On this page