Amazon ECR
Docker コンテナイメージを安全に保存・管理・配布できるフルマネージドレジストリ
何ができるか
Amazon ECR (Elastic Container Registry) は、Docker コンテナイメージを保存、管理、デプロイするためのフルマネージドなコンテナレジストリサービスです。イメージの暗号化、アクセス制御、脆弱性スキャンを標準で提供し、ECS、EKS、Lambda などの AWS サービスとシームレスに連携します。高可用性と耐久性を備えたストレージ基盤で、イメージのプッシュとプルを高速に処理できます。
どのような場面で使うか
CI/CD パイプラインでのコンテナイメージのビルドと保存、ECS や EKS へのアプリケーションデプロイ用イメージの管理、マルチリージョンへのイメージレプリケーション、コンテナイメージの脆弱性スキャンとセキュリティ管理、チーム間でのベースイメージの共有と標準化など、コンテナイメージのライフサイクル管理全般で利用されています。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
身近な例え
図書館の書庫に例えるとわかりやすいでしょう。本 (コンテナイメージ) を整理して保管し、必要なときにすぐ取り出せる仕組みです。書庫には鍵 (アクセス制御) がかかっており、許可された人だけが本を出し入れできます。さらに、本の状態 (脆弱性) を定期的にチェックし、傷んだ本があれば知らせてくれます。
ECR とは
Amazon Elastic Container Registry (ECR) は、AWS が提供するフルマネージドの Docker コンテナレジストリです。Docker Hub のようなパブリックレジストリとは異なり、プライベートなイメージ管理に特化しています。イメージは Amazon S3 上に保存され、高い耐久性と可用性が保証されます。IAM と統合されたきめ細かなアクセス制御により、誰がどのイメージにアクセスできるかを厳密に管理できます。
主な特徴
ECR の特徴は、セキュリティと運用の自動化です。保存されるイメージは AWS KMS による暗号化で保護されます。イメージスキャン機能により、プッシュ時または定期的にコンテナイメージの脆弱性を自動検出できます。ライフサイクルポリシーを設定すれば、古いイメージや未使用のイメージを自動的に削除し、ストレージコストを最適化できます。また、クロスリージョンレプリケーションにより、複数のリージョンにイメージを自動複製し、グローバルなデプロイを高速化できます。
プライベートとパブリック
ECR にはプライベートレジストリとパブリックレジストリの 2 種類があります。プライベートレジストリは IAM で認証されたユーザーのみがアクセスでき、企業のアプリケーションイメージの管理に適しています。パブリックレジストリ (ECR Public) は誰でもイメージをプルでき、オープンソースプロジェクトや共有ライブラリの配布に利用されます。ECR Public Gallery では、AWS が提供する公式イメージや、コミュニティが公開するイメージを検索・利用できます。
料金体系
ECR の料金は、保存するイメージのデータ量とデータ転送量に基づきます。プライベートレジストリでは、ストレージが 1 GB あたり月額 0.10 USD です。同一リージョン内の ECS や EKS へのイメージプルは無料で、リージョン間の転送にはデータ転送料金がかかります。パブリックレジストリでは、匿名ユーザーに月間 500 GB、AWS アカウント認証済みユーザーには無制限のデータ転送が無料で提供されます。ライフサイクルポリシーで不要なイメージを自動削除すれば、ストレージコストを効果的に抑えられます。
はじめかた
ECR を使い始めるには、AWS マネジメントコンソールまたは AWS CLI でリポジトリを作成します。リポジトリはイメージを格納する論理的な単位で、アプリケーションごとに作成するのが一般的です。ローカルで Docker イメージをビルドした後、aws ecr get-login-password コマンドで認証トークンを取得し、docker push コマンドでイメージをプッシュします。ECS のタスク定義や EKS の Pod 定義で ECR のイメージ URI を指定すれば、デプロイ時に自動的にイメージがプルされます。
注意点
- ライフサイクルポリシーを設定しないと古いイメージが蓄積してストレージコストが増加するため、不要なイメージの自動削除ルールを必ず設定すること
- イメージスキャン機能を有効にし、脆弱性が検出されたイメージを本番環境にデプロイしない運用ルールを整備すること
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。