Container Registry は非推奨で、提供終了となります。2024 年 5 月 15 日以降、Artifact Registry は、Container Registry の使用歴がない Google Cloud プロジェクトで gcr.io ドメインのイメージをホストします。2025 年 3 月 18 日以降、Container Registry はシャットダウンされます。
非推奨とシャットダウンのタイムラインの詳細については、Container Registry のサポート終了と Container Registry のシャットダウンの準備をご覧ください。
Artifact Registry は、Google Cloud でのコンテナ イメージの保存と管理に推奨されるサービスです。Artifact Registry は Container Registry と同じコンテナ管理機能を備えており、その他の機能と利点があります。コンテナ イメージとコンテナ以外のアーティファクトの両方をサポートするフルマネージド サービスとして、Artifact Registry は Container Registry の機能を拡張します。
新機能の概要
Artifact Registry は、次の機能を使用して Container Registry の機能を拡張します。
- リポジトリ レベルのアクセス制御。
- レイテンシとデータ転送コストを削減し、データ所在地の要件を遵守するために、リージョンでアーティファクトをホストする。
- ワークロードの起動時間を短縮するために、イメージを Google Kubernetes Engine と Dataproc Serverlessにストリーミングする。
- ソースから Cloud Run にデプロイする。
- リポジトリのアクティビティについての監査ログ記録。
- 顧客管理の暗号鍵(CMEK)を使用した暗号化やロケーションの制約などの組織のポリシーの適用。
- コンテナの OS の脆弱性に加えて、Go と Java の脆弱性のスキャンを行う。
- 1 つのホストの背後にある複数のリポジトリを集約する仮想リポジトリ(プレビュー)。
- Docker Hub や Maven Central(プレビュー)などのアップストリーム ソースのアーティファクトをキャッシュに保存するリモート リポジトリ。
これらの機能の詳細については、機能の比較をご覧ください。
mirror.gcr.io
でキャッシュされた Docker Hub のイメージ
Artifact Registry は、頻繁にアクセスされる公開 Docker Hub イメージを mirror.gcr.io
でキャッシュに保存します。mirror.gcr.io
の使用の詳細については、キャッシュに保存された Docker Hub イメージの pull をご覧ください。
移行オプションを選択する
Artifact Registry への移行に使用できるリポジトリには、次の 2 種類があります。
- gcr.io ドメインをサポートするリポジトリ
Container Registry の
gcr.io
ホスト名にマッピングされた特殊なリポジトリ。Artifact Registry では、Container Registry ホストに対するgcr.io
リクエストを、同じ Google Cloud プロジェクト内の対応する Artifact Registry リポジトリにリダイレクトできます。このオプションは、次の場合に使用します。
- 既存のイメージと自動化を Artifact Registry に移行するために必要な設定と構成の量を最小限に抑える場合。
- 別の Google Cloud プロジェクトまたはリージョンで Artifact Registry リポジトリを設定する必要はありません。
- 標準リポジトリ
すべての機能をサポートし、既存の Container Registry ホストから完全に独立している、通常の Artifact Registry リポジトリ。
次の場合は、代わりに標準リポジトリを使用してください。
- 特定のリージョンにデータを保存するコンプライアンス要件があります。
gcr.io
ドメインをサポートするリポジトリは、Container Registry ホストと同じマルチリージョン(asia
、eu
、us
)でのみ使用できます。 - Container Registry を使用しているプロジェクトとは異なるプロジェクトで Artifact Registry リポジトリを設定する必要がある。
画像を保存する方法と場所を再設計するとします。次に例を示します。
- Cloud Run や Google Kubernetes Engine などのランタイムを含む、他の Google Cloud リージョン リソースと同じリージョンにリポジトリを作成する。
- チームにより近いリージョンにリポジトリを設定する。たとえば、
asia
マルチリージョンの代わりにオーストラリア リージョン、またはus
マルチリージョンではなく南アメリカ リージョンにリポジトリを作成できます。 - 異なる Identity and Access Management ポリシーを使用して、同じプロジェクトとロケーションに複数の Docker リポジトリを作成します。たとえば、
us-east1
リージョンに開発リポジトリと本番環境リポジトリを設定し、デベロッパーごとに異なるアクセスレベルを設定できます。
複数のアップストリーム標準リポジトリからのダウンロード用の単一のエンドポイントとして機能する仮想リポジトリを作成します。
- 特定のリージョンにデータを保存するコンプライアンス要件があります。
両方のタイプのリポジトリが共存できます。たとえば、Artifact Registry で gcr.io リポジトリを作成して既存の Container Registry の設定を移行し、新しい作業用の標準リポジトリを作成できます。
移行ツールを使用する
次のツールを使用して、Container Registry を使用しているプロジェクトを識別し、Container Registry から Artifact Registry にイメージをコピーして、複数のプロジェクトを Container Registry から Artifact Registry に自動的に移行します。
- Container Registry の使用状況を確認します。
- 移行ツールを使用して、Container Registry から Artifact Registry にプロジェクトを移行し、イメージをコピーして、好みの移行リポジトリ タイプを選択します。
- 自動移行ツール、gcrane、Docker、または gcloud CLI を使用して、Container Registry から Artifact Registry にイメージをコピーします。
機能の比較
次の表に、Container Registry と Artifact Registry の違いの概要を示します。
特徴 | Container Registry | Artifact Registry |
---|---|---|
サポートされているファイル形式 | コンテナ イメージのみ | コンテナ イメージ、言語パッケージ、OS パッケージなど、複数のアーティファクト形式。 |
ドメイン名 | gcr.io |
pkg.dev
gcr.io ドメイン サポートを設定している場合は、Artifact Registry で |
リポジトリ モード | 該当なし |
|
レジストリの作成 | レジストリ ホストを作成するには、最初のイメージを push します。
Container Registry は、Google Cloud プロジェクトの Cloud Storage バケットにイメージを保存します。レジストリ固有の権限を付与するなどのアクションは、バケットに直接適用する必要があります。 |
リポジトリの作成は、push と pull とは別のオペレーションです。これにより、リポジトリの管理とリポジトリの使用を明確に分離できます。
Artifact Registry には、Google Cloud プロジェクトで管理する Cloud Storage バケットはありません。リポジトリに対してイメージ管理アクションを直接実行します。 |
レジストリの場所 | Google Cloud プロジェクトで使用できるマルチリージョン レジストリのホストは 4 つのみです。 | リージョンまたはマルチリージョンに複数の個別に制御されたリポジトリを作成します。 |
アクセス制御 |
|
|
Authentication | サードパーティのクライアントがイメージを push および pull するための複数の認証方法を提供します。 | Artifact Registry は、Container Registry と同じ認証方法をサポートしています。詳細については、Docker の認証の設定をご覧ください。 |
顧客管理の暗号鍵(CMEK) | CMEK を使用して、イメージを含むストレージ バケットを暗号化します。 | CMEK を使用して、個々のリポジトリを暗号化します。 |
Google Cloud コンソールの使用 | Google Cloud コンソールの [Container Registry] セクションで、Container Registry イメージを表示して管理します。 | Google Cloud コンソールの [Artifact Registry] セクションで、Artifact Registry リポジトリと Container Registry リポジトリのリストを表示します。このページから Artifact Registry リポジトリとイメージを管理します。
Container Registry リポジトリをクリックすると、Google Cloud コンソールの [Container Registry] セクションのイメージのリストに誘導されます。 |
gcloud CLI と API コマンドの使用 | gcloud container images コマンドを使用します。コマンドでは、短縮されたダイジェストがサポートされています。完全なダイジェスト文字列を指定しなかった場合、Container Registry は部分文字列に基づいて正しいイメージを探そうとします。
Container Registry 用の REST API や RPC API はありません。 |
gcloud artifacts docker コマンドを使用します。コマンドは、短縮されたダイジェストをサポートしていません。Container Registry と Artifact Registry の gcloud CLI コマンドの比較については、gcloud CLI コマンドの比較をご覧ください。 Artifact Registry には、リポジトリとアーティファクトを管理するための REST API と RPC API が用意されています。 |
Pub/Sub 通知 | gcr トピックへの変更を公開します。 |
gcr トピックへの変更を公開します。既存の Container Registry サービスと同じプロジェクトにリポジトリを作成すると、既存の Pub/Sub 構成が自動的に機能します。
詳細については、Pub/Sub 通知の設定をご覧ください。 |
監査ロギング | Container Registry は、レジストリ アクティビティ用の監査ログを提供していません。 | Cloud Logging を使用して、リポジトリへの変更を追跡します。 |
キャッシュされた Docker Hub のイメージ | mirror.gcr.io は、すべてのユーザーによって最も頻繁にリクエストされる Docker Hub イメージを保存する pull スルー キャッシュです。
mirror.gcr.io が Artifact Registry でホストされるようになりました。 |
mirror.gcr.io が Artifact Registry でホストされるようになりました。VPC Service Controls の境界で mirror.gcr.io を使用している場合を除き、何もする必要はありません。VPC Service Controls の境界で mirror.gcr.io を使用する方法の詳細については、VPC Service Controls で Artifact Registry を使用するをご覧ください。 |
VPC Service Controls | サービス境界に Container Registry を追加できます。 | サービス境界に Artifact Registry を追加できます。 |
Artifact Analysis を使用したメタデータの保存と分析 | サポートされている OS のイメージのオンデマンド スキャンで、OS と言語パッケージの脆弱性をスキャンします。自動スキャンでは、OS の脆弱性情報のみが返されます。
スキャンの種類について学習します。
|
オンデマンド スキャンと自動スキャンの両方を使用して、OS や言語パッケージの脆弱性をスキャンします。
スキャンの種類について学習します。
|
イメージ ストリーミング | 使用不可 | Artifact Registry のイメージを GKE または Dataproc Serverless にストリーミングして、自動スケーリングの高速化、Pod の起動の高速化、大規模なイメージを pull する際のレイテンシの短縮を実現します。 |
Cloud Run ソースのデプロイ | 使用不可 | ソースデプロイを使用すると、単一の gcloud CLI コマンドでソースコードからコンテナ イメージをビルドし、Artifact Registry にイメージを保存して、Cloud Run にデプロイできます。 |
料金 | Container Registry の料金は、ストレージとネットワーク データ転送を含む Cloud Storage の使用量に基づいています。レジストリ ホストはマルチリージョンでのみ使用可能なため、データ転送の費用には、Google Cloud へのイメージのデプロイが含まれます | Artifact Registry では、ストレージとネットワーク データ転送に基づいた独自の料金が設定されています。 |
割り当て | Container Registry には一定のリクエスト上限があります。Cloud Storage の割り当ても適用されます。詳細については、割り当てと上限のドキュメントをご覧ください。 | Artifact Registry には、プロジェクトごと、およびユーザーごとの割り当てがあります。デフォルトでは、ユーザーごとの割り当てに上限はありませんが、1 人のユーザーがプロジェクト レベルの割り当てを過剰に消費しないように、ユーザーごとの上限を構成できます。 |
gcloud コマンドの比較
次の表に、gcloud CLI の Container Registry コマンドと同等の Artifact Registry コマンドの概要を示します。表内のリンクをクリックすると、コマンドのリファレンス ページが表示されます。
この表には、Container Registry に同等のコマンドが存在しない、使用可能な Artifact Registry コマンドがすべて記載されているわけではありません。すべての Artifact Registry コマンド リファレンスについては、gcloud artifacts
のドキュメントをご覧ください。
オペレーション | Container Registry | Artifact Registry |
---|---|---|
リポジトリを作成する | なし | gcloud artifacts repositories create
|
リポジトリを削除する | 該当なし | gcloud artifacts repositories delete
|
イメージの一覧取得 |
gcloud container images list
|
gcloud artifacts docker images list
|
タグの一覧表示 |
gcloud container images list-tags
|
gcloud artifacts docker tags list
|
タグを追加 |
gcloud container images add-tag
|
gcloud artifacts docker tags add
|
タグを削除する |
gcloud container images untag
|
gcloud artifacts docker tags delete
|
イメージの説明を入力 |
gcloud container images describe
|
gcloud artifacts docker images list --include-tags
|