
【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 Logs | API呼び出しログ |
標準メトリクス
| メトリクス名 | 説明 |
|---|---|
| RepositoryPullCount | リポジトリプル数 |
| RepositoryPushCount | リポジトリプッシュ数 |
制限値(固定値/ハードリミット/ソフトリミット)
| 固定値 | 制限値 |
|---|---|
| イメージプッシュレート | 実質無制限 |
| イメージプルレート | 実質無制限 |
| 付与できるタグ数/イメージ | 1,000 |
| ハードリミット | 制限値 |
|---|---|
| ライフサイクルポリシー数/リポジトリ | 1(最大50ルール) |
| ソフトリミット | 制限値 |
|---|---|
| リポジトリ数/リージョン | 10,000 |
| イメージ数/リポジトリ | 10,000 |
AWS CLIのサンプルコード
CloudFormationのサンプルコード
Terraformのサンプルコード
料金計算
| 課金項目 | 説明 |
|---|---|
| ストレージ | リポジトリに保存されるイメージ容量 |
| データ転送 | インターネットへのデータ転送 |