HAQM Elastic コンテナレジストリのよくある質問
全般
すべて開くHAQM Elastic Container Registry (HAQM ECR) とは何ですか?
HAQM ECR は、フルマネージド型のコンテナレジストリです。このレジストリを使うと、デベロッパーはコンテナイメージを簡単に保存およびデプロイできます。HAQM ECR は、HAQM Elastic Container Service (HAQM ECS) 、HAQM Elastic Kubernetes Service (HAQM EKS) 、および AWS Lambda と統合されるため、開発から本番までのワークフローが簡素化されます。HAQM ECR を使用すると、自前のコンテナリポジトリの運用や、基盤となるインフラストラクチャのスケーリングの検討は不要になります。HAQM ECR は非常に可用性が高くスケーラブルなアーキテクチャでイメージをホストするため、コンテナをアプリケーションに確実にデプロイすることが可能です。AWS Identity and Access Management (IAM) との統合により、各リポジトリのリソースレベルの制御がもたらされ、組織全体または世界中の誰とでもイメージを共有できます。
HAQM ECR を利用すべきなのはなぜですか?
HAQM ECR を使用すると、コンテナレジストリを動かすためのインフラストラクチャの運用やスケーリングが不要になります。HAQM ECR ではストレージとして HAQM Simple Storage Service (S3) が使用され、コンテナイメージの可用性とアクセス可能性が高くなるため、アプリケーションに新しいコンテナを確実にデプロイできます。HAQM ECR では、コンテナイメージは HTTPS 経由で転送され、保管時にはイメージが自動的に暗号化されます。各リポジトリへのアクセス許可を管理するポリシーを設定し、IAM ユーザー、IAM ロール、または他の AWS アカウントへのアクセスを制限できます。HAQM ECR は HAQM ECS、HAQM EKS、AWS Fargate、AWS Lambda、Docker CLI に統合されているため、開発から本稼働までのワークフローを簡略化できます。Docker CLI を使用して開発マシンからコンテナイメージを簡単に HAQM ECR にプッシュでき、HAQM コンテナオーケストレーターまたはコンピューティングはそのコンテナイメージを本番用デプロイにプルできます。
HAQM ECR の料金はどのようになっていますか?
HAQM ECR に前払い料金などの義務はありません。 パブリックリポジトリまたはプライベートリポジトリに保存するデータとインターネットに転送するデータの量に対してのみ、料金をお支払いいただきます。詳細については、料金ページをご覧ください。
HAQM ECR はグローバルサービスですか?
HAQM ECR はリージョンごとのサービスで、イメージのデプロイ方法をお客様が柔軟に決められる設計になっています。最適なパフォーマンスを発揮できるよう、Docker クラスターが実行されている AWS リージョンで、イメージをプッシュおよびプルできるようになっています。また、Docker が実行されていれば、デスクトップやオンプレミス環境など、場所を問わず HAQM ECR にアクセスできます。リージョン間またはインターネット外へイメージをプルするには、別途、データ転送コストが必要になり、レイテンシーも発生します。
HAQM ECR はパブリックコンテナイメージをホストできますか?
はい。HAQM ECR には可用性が高いコンテナレジストリとウェブサイトがあります。これにより、パブリックコンテナソフトウェアを簡単に共有または検索できます。AWS アカウントの有無にかかわらず、誰でも HAQM ECR Public Gallery を使用して、Kubernetes のオペレーティングシステム、AWS 公開イメージ、Helm チャートなどのファイルなど、よく使用されるコンテナイメージを検索してダウンロードできます。
HAQM ECR のパブリックリポジトリとプライベートリポジトリはどのように異なりますか?
プライベートリポジトリはコンテンツ検索機能を提供せず、イメージのプルを許可する前に AWS アカウント認証情報を使用した HAQM IAM ベースの認証を必要とします。パブリックリポジトリには説明的なコンテンツがあり、AWS アカウントを必要とせず、IAM 認証情報を使用しなくても、誰でもどこからでもイメージをプルできます。パブリックリポジトリのイメージは、HAQM ECR パブリックギャラリーでも入手できます。
HAQM ECR ではどのようなコンプライアンス機能を有効にできますか?
HAQM ECR で AWS CloudTrail を使用すると、イメージをプルしたユーザーやイメージ間でタグが移動された時間など、API のすべてのアクションの履歴を提供できます。また、管理者は、どの EC2 インスタンスからどのイメージがプルされたかを確認することもできます。
Using HAQM ECR
すべて開くHAQM ECR の使用を開始するにはどうすればよいですか?
HAQM ECR を開始する一番よい方法は、Docker CLI を使用して最初のイメージをプッシュおよびプルすることです。詳細については、開始方法ページにアクセスしてください。
VPC 内で HAQM ECR にアクセスできますか?
はい。インスタンスがパブリックインターネットを経由せずにプライベートリポジトリからイメージをプルできるように AWS PrivateLink エンドポイントを設定できます。
リポジトリやイメージを管理する最良の方法は何ですか?
HAQM ECR は、リポジトリを作成、モニタリング、および削除し、リポジトリ許可を設定するためのコマンドラインインターフェイスと API を提供します。HAQM ECR コンソールの [Repositories] セクションからアクセスできる HAQM ECR コンソールでも、同じ操作ができます。また、HAQM ECR は Docker CLI と統合されており、開発マシンでイメージのプッシュ、プル、およびタグ付けを行えます。
HAQM ECR を利用してイメージをパブリックに共有するにはどうすればよいですか?
HAQM ECR パブリックギャラリーにイメージを公開するには、AWS アカウントにサインインし、作成したパブリックリポジトリにプッシュします。アカウントごとに一意のエイリアスが割り当てられます。そのエイリアスは、公開するすべてのパブリックイメージを識別するイメージ URL で使用します。
パブリックイメージにカスタムエイリアスを使用できますか?
はい。予約済みのエイリアスでない限り、組織名やプロジェクト名などのカスタムエイリアスをリクエストできます。AWS のサービスであると分かるような名前は予約されています。AWS Marketplace のセラーであると分かるような名前も予約されている可能性があります。エイリアスリクエストが AWS の適正利用規約または他の AWS ポリシーに違反していない限り、数日以内にカスタムエイリアスリクエストを確認して承認します。
HAQM ECR からパブリックイメージをプルするにはどうすればよいですか?
イメージの URL で一般的な「dockerpull」コマンドを使用してプルします。HAQM ECR パブリックギャラリーを使用して発行元のエイリアス、イメージ名、またはイメージの説明を使用してイメージを見つけることにより、この URL を簡単に検索できます。イメージの URL は public.ecr.aws/<alias>/<image>:<tag> の形式です。例: public.ecr.aws/eks/aws-alb-ingress-controller:v1.1.5
HAQM ECR は、AWS リージョン間でイメージをレプリケートしますか?
はい。HAQM ECR は、イメージの保存場所やデプロイ方法を柔軟に選択できるように設計されています。イメージを構築するデプロイパイプラインを作成し、それを 1 つのリージョンの HAQM ECR にプッシュできます。また、HAQM ECR は、イメージを他のリージョンやアカウントに自動的にレプリケートし、マルチリージョンクラスターへのデプロイを考慮します。
ローカル環境およびオンプレミス環境内で HAQM ECR を使用できますか?
はい。Docker が実行されていれば、デスクトップやオンプレミス環境など、場所を問わず HAQM ECR にアクセスできます。
HAQM ECR Public Gallery は AWS が公開したイメージを提供しますか?
はい。HAQM EKS、HAQM SageMaker、AWS Lambda などのサービスは、公式のパブリックユースコンテナイメージとアーティファクトを HAQM ECR に公開します。
HAQM ECR は HAQM ECS で機能しますか?
はい。HAQM ECR は HAQM ECS と統合されているので、HAQM ECS で実行中のアプリケーションのコンテナイメージの保存、実行、管理を簡単に行えます。タスク定義で HAQM ECR リポジトリを指定するだけで、HAQM ECS がアプリケーションに最適なイメージを取得します。
HAQM ECR は AWS Elastic Beanstalk と連携しますか?
はい。AWS Elastic Beanstalk は、シングルコンテナおよびマルチコンテナ Docker 環境の両方で HAQM ECR をサポートしているため、AWS Elastic Beanstalk を使用して HAQM ECR に保存されたコンテナイメージを簡単にデプロイできます。必要な操作は、Dockerrun.aws.json 設定で HAQM ECR リポジトリを指定し、HAQMEC2ContainerRegistryReadOnly ポリシーをコンテナインスタンスロールにアタッチすることのみです。
HAQM ECR は、どのバージョンの Docker Engine をサポートしていますか?
HAQM ECR で現在サポートされているのは、Docker Engine 1.7.0 以上です。
HAQM ECR は、どのバージョンの Docker Registry API をサポートしていますか?
HAQM ECR でサポートされているのは、Docker Registry V2 API 仕様です。
HAQM ECR は、Dockerfile から自動的にイメージを構築しますか?
いいえ。ただし、HAQM ECR は、この機能がある一般的な CI/CD ソリューションのいくつかと統合されています。詳細については、HAQM ECR パートナーページをご覧ください。
HAQM ECR はフェデレーテッドアクセスをサポートしますか?
はい。HAQM ECR は、AWS マネジメントコンソールや AWS API への委任されたアクセスのための ID フェデレーションをサポートする AWS Identity and Access Management (IAM) と統合されます。
HAQM ECR は、Docker イメージマニフェスト仕様のどのバージョンをサポートしていますか?
HAQM ECR では、Docker Image Manifest V2、Schema 2 形式がサポートされています。Schema 1 イメージとの下位互換性を維持するため、HAQM ECR では Schema 1 形式でアップロードされるイメージを引き続き受け入れています。さらに HAQM ECR では、Docker Engine の古いバージョン (1.9 以前) を使用してプルする場合、Schema 2 から Schema 1 イメージに下位変換できます。
HAQM ECR は Open Container Initiative (OCI) 形式をサポートしていますか?
はい。HAQM ECR は、オープンコンテナ規格 (OCI) イメージ仕様と互換性があるため、OCI イメージとアーティファクトをプッシュおよびプルできます。HAQM ECR では、Docker Image Manifest V2、Schema 2 イメージ、OCI イメージ間でもプルする際に変換できます。
セキュリティ
すべて開くHAQM ECR は、コンテナイメージのセキュリティの確保にどのように役立ちますか?
HAQM ECR では、HAQM S3 のサーバー側暗号化または AWS KMS 暗号化を使用して保管中のイメージが自動的に暗号化し、HTTPS を介してコンテナイメージを転送します。AWS Identity and Access Management (IAM) のユーザーとロールを使用してイメージへのアクセス権限の管理やアクセスの制御を行えるようポリシーを設定できるため、認証情報を EC2 インスタンスで直接管理する必要はありません。
許可のために AWS Identity and Access Management (IAM) を使用するにはどうすればよいですか?
IAM のリソースベースのポリシーを使用して、コンテナイメージにアクセスできるユーザーやアクセス元 (EC2 インスタンスなど)、およびアクセスできる方法、時間、場所を制御して、モニタリングすることができます。使用を開始するには、AWS マネジメントコンソールを使用して、リポジトリに対してリソースベースのポリシーを作成します。または、HAQM ECR CLI を使って、サンプルポリシーをリポジトリにアタッチすることもできます。
複数の AWS アカウント間でイメージを共有できますか?
はい。 クロスアカウントのイメージ共有のためにポリシーを作成して設定する方法については、こちらの例をご覧ください。
HAQM ECR はコンテナイメージの脆弱性をスキャンしますか?
HAQM ECR を有効にして、オペレーティングシステムのさまざまな脆弱性についてコンテナイメージを自動的にスキャンできます。API コマンドを使用して画像をスキャンすることもできます。スキャンが完了すると、HAQM ECR が API を介してコンソールに通知します。画像スキャンを強化するために、HAQM Inspector を有効にできます。