このツールを実行して、Google Cloud プロジェクト、フォルダ、組織内で Container Registry が使用されているかどうかを確認します。
始める前に
-
Install the Google Cloud CLI.
-
外部 ID プロバイダ(IdP)を使用している場合は、まずフェデレーション ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init
必要なロール
Google Cloud プロジェクト、フォルダ、または組織で Container Registry の使用状況を確認するために必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
Google Cloud プロジェクト、フォルダ、または組織に対する Cloud Asset 閲覧者 (
roles/cloudasset.viewer
) -
Google Cloud プロジェクト、フォルダ、または組織に対するストレージ オブジェクト閲覧者 (
roles/storage.objectViewer
)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Container Registry の使用状況を確認する
ツールは、単一の Google Cloud プロジェクト、フォルダ、組織にスコープを設定して実行できます。
project
次のコマンドを実行して、Google Cloud プロジェクトで Container Registry が使用されているかどうかを確認します。
gcloud container images list-gcr-usage \
--project=PROJECT
ここで、PROJECT は Google Cloud プロジェクト ID です。プロジェクト ID を確認する方法については、プロジェクトの識別をご覧ください。
このツールは、指定されたプロジェクトのホスト ロケーションとその使用状況のリストを返します。使用状況の状態は次のように定義されます。
ACTIVE
: 過去 30 日間に Container Registry の使用量が発生しています。ホストの場所とプロジェクトはリダイレクトされません。INACTIVE
: 過去 30 日間に Container Registry の使用状況はありません。ホストのロケーションとプロジェクトはリダイレクトされません。REDIRECTED
: プロジェクトは Artifact Registry にリダイレクトされましたが、Container Registry Cloud Storage バケットがまだ存在します。このプロジェクトは Container Registry の提供終了後も引き続き機能するため、追加の対応は必要ありません。Container Registry の Cloud Storage バケットを削除することで、費用を削減できます。REDIRECTION_INCOMPLETE
: リクエストは Artifact Registry にリダイレクトされますが、データは Container Registry からコピーされています。LEGACY
: Container Registry の使用状況が不明です。この状態は、コンテナ イメージのメタデータ ファイルを Cloud Storage バケットに保存する、以前の Container Registry プロジェクトが原因で発生します。以前の Container Registry プロジェクトの詳細については、コンテナ イメージのメタデータ ストレージの変更をご覧ください。
Cloud Storage バケットまたは Container Registry プロジェクトを表示する権限がないなどのエラーが発生すると、次のようなエラー メッセージが表示されます。
repository: us.gcr.io/my-project
usage: |-
response: {'status': 401}
Operation on project 'no-gcr-permission' failed. Caller does not have permission 'storage.objects.list'. To configure permissions, follow instructions at: https://cloud.google.com/container-registry/docs/access-control: None
フォルダ
次のコマンドを実行して、Google Cloud フォルダで Container Registry が使用されているかどうかを確認します。
gcloud container images list-gcr-usage \
--folder=FOLDER
ここで、FOLDER は Google Cloud フォルダ ID です。組織内のフォルダを一覧表示する方法については、フォルダを一覧表示するをご覧ください。
このツールは、次の使用状況のリストを返します。
ACTIVE
: 過去 30 日間に Container Registry の使用量が発生しています。ホストの場所とプロジェクトはリダイレクトされません。INACTIVE
: 過去 30 日間に Container Registry の使用状況はありません。ホストのロケーションとプロジェクトはリダイレクトされません。REDIRECTED
: プロジェクトは Artifact Registry にリダイレクトされましたが、Container Registry Cloud Storage バケットがまだ存在します。このプロジェクトは Container Registry の提供終了後も引き続き機能するため、追加の対応は必要ありません。Container Registry の Cloud Storage バケットを削除することで、費用を削減できます。REDIRECTION_INCOMPLETE
: リクエストは Artifact Registry にリダイレクトされますが、データは Container Registry からコピーされています。LEGACY
: Container Registry の使用状況が不明です。この状態は、コンテナ イメージのメタデータ ファイルを Cloud Storage バケットに保存する、以前の Container Registry プロジェクトが原因で発生します。以前の Container Registry プロジェクトの詳細については、コンテナ イメージのメタデータ ストレージの変更をご覧ください。
Cloud Storage バケットまたは Container Registry プロジェクトを表示する権限がないなどのエラーが発生すると、次のようなエラー メッセージが表示されます。
repository: us.gcr.io/my-project
usage: |-
response: {'status': 401}
Operation on project 'no-gcr-permission' failed. Caller does not have permission 'storage.objects.list'. To configure permissions, follow instructions at: https://cloud.google.com/container-registry/docs/access-control: None
組織
次のコマンドを実行して、Google Cloud 組織で Container Registry が使用されているかどうかを確認します。
gcloud container images list-gcr-usage \
--organization=ORGANIZATION
ORGANIZATION は Google Cloud 組織 ID です。組織 ID を確認する方法については、組織リソース ID の取得をご覧ください。
このツールは、次の使用状況のリストを返します。
ACTIVE
: 過去 30 日間に Container Registry の使用量が発生しています。ホストの場所とプロジェクトはリダイレクトされません。INACTIVE
: 過去 30 日間に Container Registry の使用状況はありません。ホストのロケーションとプロジェクトはリダイレクトされません。REDIRECTED
: プロジェクトは Artifact Registry にリダイレクトされましたが、Container Registry Cloud Storage バケットがまだ存在します。このプロジェクトは Container Registry の提供終了後も引き続き機能するため、追加の対応は必要ありません。Container Registry の Cloud Storage バケットを削除することで、費用を削減できます。REDIRECTION_INCOMPLETE
: リクエストは Artifact Registry にリダイレクトされますが、データは Container Registry からコピーされています。LEGACY
: Container Registry の使用状況が不明です。この状態は、コンテナ イメージのメタデータ ファイルを Cloud Storage バケットに保存する、以前の Container Registry プロジェクトが原因で発生します。以前の Container Registry プロジェクトの詳細については、コンテナ イメージのメタデータ ストレージの変更をご覧ください。
Cloud Storage バケットまたは Container Registry プロジェクトを表示する権限がないなどのエラーが発生すると、次のようなエラー メッセージが表示されます。
repository: us.gcr.io/my-project
usage: |-
response: {'status': 401}
Operation on project 'no-gcr-permission' failed. Caller does not have permission 'storage.objects.list'. To configure permissions, follow instructions at: https://cloud.google.com/container-registry/docs/access-control: None
結果をフィルタする
表示するリソース アイテムを制御するには、--filter=EXPRESSION
フラグを渡します。特定のアイテムの式が true と評価された場合、そのアイテムがリストされます。
組織内のアクティブな Container Registry の使用状況をすべて一覧表示するには、アクティブな使用状況でフィルタできます。
gcloud container images list-gcr-usage \
--organization=ORGANIZATION \
--filter="usage=ACTIVE"
まだリダイレクトされていないすべてのプロジェクトを見つけるには、usage!=REDIRECTED
でフィルタできます。
gcloud container images list-gcr-usage \
--organization=ORGANIZATION \
--filter="usage!=REDIRECTED"
フィルタ式の詳細については、gcloud topic filters
を実行するか、リファレンス ドキュメントをご覧ください。