GHCR vs Amazon ECR: qual registry para CI?
O GHCR integra-se perfeitamente ao GitHub Actions; o ECR integra-se aos deploys da AWS e ao IAM - seu alvo de deploy geralmente decide.
O GitHub Container Registry (GHCR) armazena imagens junto aos seus repositórios GitHub, com auth embutida no Actions. O Amazon ECR é o registry da AWS, fortemente integrado ao IAM e ao compute da AWS (ECS, EKS, Lambda).
| GHCR | Amazon ECR | |
|---|---|---|
| Auth no CI | GITHUB_TOKEN embutido | AWS IAM / OIDC |
| Integração mais forte | GitHub Actions | Compute AWS (ECS/EKS/Lambda) |
| Modelo de custo | Storage/egress do plano GitHub | Storage AWS + transferência de dados |
| Velocidade de pull para AWS | Pela internet | In-region, rápido para a AWS |
| Melhor para | Workflows centrados no GitHub | Deploys na AWS |
No CI
Fazer push e pull via GHCR com o GITHUB_TOKEN embutido é sem atrito dentro do GitHub Actions. O ECR é a escolha natural quando você faz deploy na AWS: as imagens ficam in-region ao lado de ECS/EKS/Lambda para pulls rápidos e com escopo de IAM, e o OIDC do Actions para a AWS evita chaves de longa duração. O fator decisivo geralmente é onde a imagem é implantada.
Escolhendo para pipelines
Fazendo deploy no compute da AWS: ECR para pulls in-region e IAM. Workflows centrados no GitHub ou alvos não-AWS: GHCR pela auth embutida. Algumas equipes constroem uma vez e enviam para os dois - GHCR para compartilhar, ECR para deploys na AWS.
O veredito
Fazendo deploy na AWS: ECR para pulls in-region e com escopo de IAM. Centrado no GitHub ou não-AWS: GHCR pela auth embutida do Actions. Deixe o alvo de deploy escolher e considere enviar para os dois.