Amazon ECRでコンテナイメージを安全に管理する|ライフサイクルポリシー・イメージスキャン・クロスリージョンレプリケーション

現場実践|ECRコンテナレジストリ管理
Amazon ECRでコンテナイメージを安全に管理する|ライフサイクルポリシー・イメージスキャン・クロスリージョンレプリケーション
「ECRってただのイメージ置き場じゃないの?」「古いイメージを自動で削除したい」——Amazon ECRのライフサイクルポリシー・脆弱性スキャン・クロスリージョンレプリケーションまで実践的に解説します。
💡 ECRは単なるDockerイメージの置き場ではなく、脆弱性スキャン・ライフサイクル管理・アクセス制御が統合されたエンタープライズグレードのコンテナレジストリです。本番環境では適切な設定が必要です。
1. ECRの基本設定
- プライベートリポジトリを使う:本番環境のイメージはパブリックリポジトリではなくプライベートECRに保管する。IAMポリシーでアクセス制御する
- イメージタグの命名規則:「latest」タグのみを使うのは危険。GitのコミットSHA(git rev-parse –short HEAD)をタグにすることでどのコードからビルドしたかを追跡できる
- リポジトリポリシーでクロスアカウントアクセスを設定:マルチアカウント環境では本番アカウントのECSが開発アカウントのECRからイメージをプルする設定が必要になることがある
2. ライフサイクルポリシーで古いイメージを自動削除
{
"rules": [
{
"rulePriority": 1,
"description": "最新10イメージのみ保持",
"selection": {
"tagStatus": "tagged",
"tagPrefixList": ["v"],
"countType": "imageCountMoreThan",
"countNumber": 10
},
"action": { "type": "expire" }
},
{
"rulePriority": 2,
"description": "タグなし(untagged)イメージを7日後に削除",
"selection": {
"tagStatus": "untagged",
"countType": "sinceImagePushed",
"countUnit": "days",
"countNumber": 7
},
"action": { "type": "expire" }
}
]
}3. ECR Inspectorによる脆弱性スキャン
ベーシックスキャン(無料)
OSパッケージの既知CVEをスキャン。プッシュ時に自動スキャンするよう設定できる。スキャン結果はECRコンソールで確認できる。
拡張スキャン(Amazon Inspector)
OSパッケージに加えてアプリケーション言語ライブラリ(Node.js・Python等)も継続的にスキャン。新しいCVEが公開されると自動で再スキャンされる。
📌 この記事のポイント
- ECRはilatestタグのみでなくGitコミットSHAをタグに使い、どのコードからビルドしたかを追跡できるようにする
- ライフサイクルポリシーで最新10イメージのみ保持・タグなしイメージを7日後に削除することで容量コストを管理する
- ECR InspectorでOSパッケージとアプリライブラリの脆弱性を継続的にスキャンして本番イメージを安全に保つ
キャリアの疑問、一緒に解決しませんか?
Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
ABOUT ME




