AWS ECR 组织内跨账号共享仓库

AWS DevOps About 976 words

集中 ECR

同一组织下推荐使用一个账号下的一个ECR作为公共的镜像仓库。测试、UAT、生产账号都从这里拉镜像。

好处

  • 只构建一次,到处部署:测试通过的镜像和上生产的镜像是同一个SHA tag,可以确认是同一个镜像。如果每个账号各自构建一份,就没法保证这一点。
  • GitHub Action减少配置:OIDC Role和workflow都只配一套,不用为每个账号各建一份。
  • 节省一些费用:ECR按存储量收费,同一个镜像不用在每个账号各存一份。不过镜像存储本身很便宜,省下的主要是维护成本,不是钱。
  • 注意region:拉镜像的账号最好和ECR在同一个 region。跨region拉取会产生跨区数据传输费用。

权限

织内的所有账号都能拉取镜像,但不能推送。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowOrgAccountsPull",
      "Effect": "Allow",
      "Principal": "*",
      "Action": [
        "ecr:BatchGetImage",
        "ecr:GetDownloadUrlForLayer",
        "ecr:BatchCheckLayerAvailability"
      ],
      "Condition": {
        "StringEquals": {
          "aws:PrincipalOrgID": "o-xxxxxxxxxx"
        }
      }
    }
  ]
}

组织 ID

o-xxxxxxxxxx是AWS组织的ID,可以在AWS Organizations控制台看到。

可以使用命令查询,但需要管理员权限。(命令行查询时需要先登录:aws sso login)

aws organizations describe-organization --query Organization.Id

链接

https://us-east-1.console.aws.amazon.com/organizations/v2/home?region=us-east-1

Views: 8 · Posted: 2026-10-12

———         Thanks for Reading         ———

Give me a Star, Thanks:)

https://github.com/fendoudebb/LiteNote

扫描下方二维码关注公众号和小程序↓↓↓

扫描下方二维码关注公众号和小程序↓↓↓
Prev Post
Today In History
Browsing Refresh