AWS入門 — ECR

ECR

コンテナイメージの倉庫

© 2026 genba support
AWS入門 — ECR

ECR — Elastic Container Registry

AWSマネージドの プライベートDockerレジストリ

  • IAMで権限管理ができる、AWS内のDocker Hub
  • ECS / EKS / Lambda(コンテナimage)から 直接pull 可能
  • イメージスキャン(脆弱性検査)を標準で実行できる

Docker Hubの公開リポジトリと違い、社内専用で安全に置ける

© 2026 genba support
AWS入門 — ECR

なぜDocker Hubではなく ECR か

観点 Docker Hub ECR
権限管理 アカウント単位 IAM で細かく制御
通信経路 公衆経由 VPCエンドポイントで内部経路
pull速度 リージョン外から 同リージョン で高速
pull制限 レート制限あり なし(自前のクォータ)

AWS上でコンテナを動かすなら ECR が事実上の標準

© 2026 genba support
AWS入門 — ECR

ビルドからpushまで

ログイン / build / tag / push

© 2026 genba support
AWS入門 — ECR

push の典型フロー

# 1. ECR にログイン
aws ecr get-login-password | docker login --username AWS \
  --password-stdin <account>.dkr.ecr.ap-northeast-1.amazonaws.com

# 2. イメージを build
docker build -t myapp .

# 3. ECR形式のタグを付ける
docker tag myapp:latest \
  <account>.dkr.ecr.ap-northeast-1.amazonaws.com/myapp:latest

# 4. push
docker push \
  <account>.dkr.ecr.ap-northeast-1.amazonaws.com/myapp:latest

あとはECS / Lambdaがこのイメージをpullして起動

© 2026 genba support
AWS入門 — ECR

CI/CDから push する

GitHub Actions の例(抜粋)

- uses: aws-actions/configure-aws-credentials@v4
  with:
    role-to-assume: arn:aws:iam::...:role/gha-ecr-push
    aws-region: ap-northeast-1
- uses: aws-actions/amazon-ecr-login@v2
- run: |
    docker build -t $ECR_URI:${{ github.sha }} .
    docker push  $ECR_URI:${{ github.sha }}

OIDC連携 で長期キーを持たずにIAMロールを引き受け

© 2026 genba support
AWS入門 — ECR

運用機能

ライフサイクル / タグ / スキャン / レプリケーション

© 2026 genba support
AWS入門 — ECR

ライフサイクルポリシー

古いイメージを 自動で削除 してストレージ課金を抑える

{
  "rules": [{
    "rulePriority": 1,
    "selection": {
      "tagStatus": "untagged",
      "countType": "sinceImagePushed",
      "countUnit": "days",
      "countNumber": 14
    },
    "action": { "type": "expire" }
  }]
}

「タグなしは14日で削除」「最新10件のみ保持」など定型で運用

© 2026 genba support
AWS入門 — ECR

イミュータブルタグ

同じタグの 上書きpushを禁止 する設定

  • IMMUTABLE を有効化すると latest の上書きができなくなる
  • 「いつ・どのコミットで作られたか」を タグから常に追跡可能
  • 本番運用では コミットSHAやセマンティックバージョン を推奨

「latest が指すイメージが昨日と違う」事故を防ぐ

© 2026 genba support
AWS入門 — ECR

イメージスキャン

push時に 脆弱性を自動検査 (CVE単位で結果が返る)

種類 エンジン 特徴
Basic Scanning Clair 無料、push時に1回
Enhanced Scanning Amazon Inspector 継続的に再スキャン
  • 結果は ECRコンソール / EventBridge から確認・通知
  • 致命的CVEを検知したら デプロイを止める CIに組み込める
© 2026 genba support
AWS入門 — ECR

クロスリージョンレプリケーション

ap-northeast-1 にpushしたイメージを us-east-1 に自動コピー

  • マルチリージョン運用での pull遅延 を回避
  • DR(災害対策)目的でも有効
  • レプリケーション先のリージョンで 個別の課金 が発生

必要なリージョンだけに絞って設定する

© 2026 genba support
AWS入門 — ECR

コスト管理のコツ

  • ストレージ料金 はGB単位で日割り課金 → 不要イメージは削除
  • データ転送 は同リージョン内なら無料、リージョン跨ぎで課金
  • ライフサイクルポリシーを 最初に設定 しておくと事故が減る

イメージは「資産」であり「コスト」 タグ運用は最初に決める

© 2026 genba support