ECR

【VPC外リージョンサービス】

ECR(Elastic Container Registry)は、AWSが提供するマネージド型の Docker/OCIレジストリサービス です。

コンテナ イメージ の保存・管理を安全かつ効率的に行うことができ、ECS/EKS、Lambda、および CodeBuild などのサービスと緊密に連携します。

ECRでは、イメージの脆弱性スキャンによるセキュリティチェックを自動で実施でき、ライフサイクルポリシー を設定して不要なイメージを自動的に削除することが可能です。

保存データは KMS(AWS Key Management Service) によって暗号化され、アクセス制御は IAM(Identity and Access Management) により厳密に管理されます。

署名および 署名検証 に対応しており、信頼できるイメージ配布を実現します。

ECR Pull Through Cache Rules(キャッシュ最適化)ECR Enhanced Image Pulls( 高速pull 機能)によって、デプロイのパフォーマンスも向上します。

重要用語

関連サービス

ユースケース

コンテナイメージのプライベートレジストリ社内アプリケーション用のDockerイメージをECRに保存し、ECS・EKS・Fargateから安全にプルして実行する。
CI/CDパイプラインでのイメージ管理CodeBuildやGitHub Actionsなどのビルド結果としてコンテナイメージをECRにpushし、タグ管理でバージョンを識別する。
脆弱性スキャンによるイメージの品質管理ECRのイメージスキャン機能を使い、既知の脆弱性を含むパッケージがないかをチェックしてから本番環境にデプロイする。

ベストプラクティス

イメージスキャンの有効化プッシュ時に脆弱性スキャンを自動実行し、問題を早期検知する。
ライフサイクルポリシー古いイメージを自動削除し、ストレージコストを抑える。
プライベートレジストリへのアクセス制御IAMとVPCエンドポイントでレジストリアクセスを制限する。

高可用性・バックアップ・リトライ

高可用性・バックアップ・リトライ設計のポイント
【デフォルト】AWS内部で冗長化
 ・イメージストレージ(S3ベース)
 ・イメージレイヤーの冗長保存
 ・レジストリメタデータ
 ・APIエンドポイント
 ・認証・認可システム

セキュリティ

関連サービス設定内容
CloudTrail(操作履歴の記録・監査・追跡)【自動記録】
作成・更新・削除・設定変更は自動記録される。(コントロールプレーンAPI)
データ操作は追跡できない(データプレーンAPI)
Config(リソースの構成状態・設定変更を記録)【Configが有効な場合】
リポジトリ設定変更履歴・暗号化/スキャン設定の準拠評価
GuardDuty(脅威を自動検出)ECR
【GuardDutyが有効な場合】
リポジトリ削除・ポリシー変更のAPI異常検知

ログ・監視

ログ出力先ログの種類
CloudWatch LogsAPI呼び出しログ
CloudWatch Logs優先の原則
標準メトリクス
メトリクス名説明
RepositoryPullCountリポジトリプル数
RepositoryPushCountリポジトリプッシュ数

制限値(固定値/ハードリミット/ソフトリミット)

固定値制限値
イメージプッシュレート実質無制限
イメージプルレート実質無制限
付与できるタグ数/イメージ1,000

ハードリミット制限値
ライフサイクルポリシー数/リポジトリ1(最大50ルール)

ソフトリミット制限値
リポジトリ数/リージョン10,000
イメージ数/リポジトリ10,000

AWS CLIのサンプルコード

CloudFormationのサンプルコード

Terraformのサンプルコード

料金計算

課金項目説明
ストレージリポジトリに保存されるイメージ容量
データ転送インターネットへのデータ転送
料金計算ツール

公式ページ

AWSドキュメント ECR