サービスを有効または無効にする
Service Usage を使用すると、 Google Cloud プロジェクトで使用できるサービスを有効または無効にできます。これには、Cloud Endpoints で作成された非公開サービスが含まれます。一般公開サービスと非公開サービスの違いについては、一般公開サービスと非公開サービスをご覧ください。
ほとんどのユーザーは、 Google Cloud コンソールでサービスを有効または無効にできます。スクリプトの場合は、Google Cloud CLI を使用します。Service Usage API にプログラムでアクセスするには、クライアント ライブラリを使用することをおすすめします。API を試すには、完全な開発環境をセットアップせずにリクエストを送信します。
Service Usage の割り当て上限については、割り当てと上限をご覧ください。課金対象の使用量を制限できます。API に応じて、リクエストの上限を明示的に設定できます。
始める前に
サービスを有効または無効にする前に、Service Usage 用にGoogle Cloud プロジェクトと環境を設定する必要があります。
コンソール
- Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
gcloud
- Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
Google Cloud プロジェクトを作成または選択します。
プロジェクトの選択または作成に必要なロール
- プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
-
プロジェクトを作成する: プロジェクトを作成するには、
resourcemanager.projects.create権限を含むプロジェクト作成者ロール(roles/resourcemanager.projectCreator)が必要です。詳しくは、ロールを付与する方法をご覧ください。
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_IDは、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_IDは、 Google Cloud プロジェクトの名前に置き換えます。
-
このガイドで既存のプロジェクトを使用する場合は、このガイドを完了するために必要な権限があることを確認します。新しいプロジェクトを作成した場合は、必要な権限がすでに付与されています。
-
Google Cloud CLI をインストールします。
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
Google Cloud プロジェクトを作成または選択します。
プロジェクトの選択または作成に必要なロール
- プロジェクトを選択する: プロジェクトの選択に特定の IAM ロールは必要ありません。ロールが付与されているプロジェクトであれば、どのプロジェクトでも選択できます。
-
プロジェクトを作成する: プロジェクトを作成するには、
resourcemanager.projects.create権限を含むプロジェクト作成者ロール(roles/resourcemanager.projectCreator)が必要です。詳しくは、ロールを付与する方法をご覧ください。
-
Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_IDは、作成する Google Cloud プロジェクトの名前に置き換えます。 -
作成した Google Cloud プロジェクトを選択します。
gcloud config set project PROJECT_ID
PROJECT_IDは、 Google Cloud プロジェクトの名前に置き換えます。
-
このガイドで既存のプロジェクトを使用する場合は、このガイドを完了するために必要な権限があることを確認します。新しいプロジェクトを作成した場合は、必要な権限がすでに付与されています。
REST API
API を有効または無効にする Google Cloud プロジェクトがある。
このガイドを完了するために必要な権限があることを確認します。作成したプロジェクトを使用している場合は、通常、必要な権限がすでに付与されています。
必要なロール
サービスを有効または無効にするために必要な権限を取得するには、プロジェクトに対する Service Usage 管理者 (roles/serviceusage.serviceUsageAdmin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
サービスの有効化
サービスを有効にするプロセスは、サービスによって異なる場合があります。一部の API では、使用する前に利用規約に同意する必要があります。また、プレビュー版の API では、使用する前に承認が必要になる場合があります。他の API では、組織の連絡先情報やアプリケーションの名前などの追加情報が求められることもあります。リクエストされた情報は、Google 内で機密情報として扱われます。API の使用状況を把握し、必要に応じてお客様に連絡するために使用されます。
コンソール
Google Cloud コンソールで、[API とサービス] > [API ライブラリ] ページに移動します。
最近のプロジェクトを選択するか、コンソールのツールバーにあるリソース セレクタを使用して、API を有効にする Google Cloud プロジェクトを選択します。
有効にする API をクリックするか、[API とサービスを検索] ボックスを使用して検索します。
[有効にする] をクリックします。
gcloud
gcloud services enable コマンドは、現在のプロジェクトで指定された名前のサービスを有効にします。
後述のコマンドデータを使用する前に、次のように置き換えます。
-
SERVICE: 有効にするサービスの名前。
gcloud services enable コマンドを実行します。
Linux、macOS、Cloud Shell
gcloud services enable SERVICE
Windows(PowerShell)
gcloud services enable SERVICE
Windows(cmd.exe)
gcloud services enable SERVICE
次のようなレスポンスが返されます。
Waiting for async operation operations/OPERATION_ID to complete...
Operation finished successfully.
複数のサービスを有効にするには、スペースで区切られたサービス名を使用します。たとえば、次のコマンドは BigQuery サービスと Pub/Sub サービスの両方を有効にします。
gcloud services enable bigquery.googleapis.com pubsub.googleapis.com
オペレーションの詳細を取得するには、gcloud services operations describe コマンドを使用します。
gcloud services operations describe operations/OPERATION_ID
OPERATION_ID は、元のリクエストに対するレスポンスで受け取ったオペレーション ID に置き換えます。
REST API
単一のサービスを有効にする
単一のサービスを有効にするには、services.enable メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID: 実際の Google Cloudプロジェクト ID。SERVICE: 有効にするサービスの名前。
リクエストを送信するには、次のいずれかのオプションを展開します。
成功した場合、レスポンスの本文には、新しく作成された Operation のインスタンスが含まれます。
{
"name": "operations/OPERATION_ID"
}
複数のサービスを有効にする
1 回のオペレーションで最大 20 個のサービスを有効にするには、services.batchEnable メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID: 実際の Google Cloudプロジェクト ID。SERVICE1: 有効にするサービスの名前。SERVICE2: 有効にする別のサービスの名前。
リクエストの本文(JSON):
{
"serviceIds": ["SERVICE1", "SERVICE2"]
}
リクエストを送信するには、次のいずれかのオプションを展開します。
成功した場合、レスポンスの本文には、新しく作成された Operation のインスタンスが含まれます。
{
"name": "operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.api.serviceusage.v1.OperationMetadata"
}
}
サービスの無効化
プロジェクトの API はいつでも無効にできます。ただし、保留中の料金とプロジェクト内の課金対象 API の使用に対しては引き続き請求されます。詳細については、Cloud APIs のスタートガイドをご覧ください。
Cloud Storage や BigQuery などの多くのサービスでは、データ ストレージに対して課金されます。これらのサービスの API を無効にしても、データは削除されません。これらのサービスでは、API が無効になった後もデータ ストレージの料金が引き続き請求されます。一方、Cloud Run API を無効にすると、Cloud Run に関連付けられたリソースが削除されます。これは意図しない動作である可能性があります。
どちらの場合も、一般的なベスト プラクティスとして、サービスを無効にする前に、サービスに関連付けられているリソースのインベントリを作成する必要があります。Cloud Storage や BigQuery などのサービスでは、今後の課金を停止してサービスの使用を中止するには、API を無効にする前に、関連するすべてのデータを削除します。Cloud Run の場合は、既存の Cloud Run リソースを安全に削除できることを確認するまで、API を無効にしないでください。
Kubernetes Engine API を無効にすると、プロジェクトで実行中のクラスタが一時停止します。30 日が経過すると、一時停止されたクラスタは削除されます。クラスタを再アクティブ化するには、GKE API を再度有効にします。クラスタが復元されるまでに、最長で 24 時間ほどかかることがあります。詳細については、クラスタのライフサイクルをご覧ください。
コンソール
Google Cloud コンソールで、[API とサービス] > [API ライブラリ] ページに移動します。
最近使用したプロジェクトを選択するか、コンソールのツールバーにあるリソース セレクタを使用して、API を無効にする Google Cloud プロジェクトを選択します。
無効にする API をクリックするか、[API とサービスを検索] ボックスを使用して検索します。
[API を無効にする] をクリックします。
gcloud
gcloud services disable コマンドは、現在のプロジェクトで指定された名前のサービスを無効にします。
後述のコマンドデータを使用する前に、次のように置き換えます。
-
SERVICE: 無効にするサービスの名前。
gcloud services disable コマンドを実行します。
Linux、macOS、Cloud Shell
gcloud services disable SERVICE
Windows(PowerShell)
gcloud services disable SERVICE
Windows(cmd.exe)
gcloud services disable SERVICE
次のようなレスポンスが返されます。
Waiting for async operation operations/OPERATION_ID to complete...
Operation finished successfully.
複数のサービスを無効にするには、スペース区切りのサービス名を使用します。たとえば、次のコマンドは BigQuery サービスと Pub/Sub サービスの両方を無効にします。
gcloud services disable bigquery.googleapis.com pubsub.googleapis.com
オペレーションの詳細を取得するには、gcloud services operations describe コマンドを使用します。
gcloud services operations describe operations/OPERATION_ID
OPERATION_ID は、元のリクエストに対するレスポンスで受け取ったオペレーション ID に置き換えます。
REST API
サービスを無効にするには、services.disable メソッドを使用します。
リクエストのデータを使用する前に、次のように置き換えます。
PROJECT_ID: 実際の Google Cloudプロジェクト ID。SERVICE: 無効にするサービスの名前。
リクエストを送信するには、次のいずれかのオプションを展開します。
成功した場合、レスポンスの本文には、新しく作成された Operation のインスタンスが含まれます。
{
"name": "operations/OPERATION_ID"
}
長時間実行オペレーションのステータスを確認する
有効化または無効化メソッドを使用すると、長時間実行オペレーション(LRO)が返されます。LRO は、リクエストのステータスを追跡し、サービスの変更が完了したかどうかを示します。
リクエストのデータを使用する前に、次のように置き換えます。
OPERATION_ID: オペレーション ID。この ID は、元のリクエストに対するレスポンスで受け取ります。リクエストを送信するには、次のいずれかのオプションを展開します。
次のような JSON レスポンスが返されます。
{
"name": "operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.protobuf.Empty"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.api.serviceusage.v1.EnableServiceResponse",
"service": {
"name": "projects/PROJECT_NUMBER/services/SERVICE",
"config": {
"name": "SERVICE",
"title": "TITLE",
"documentation": {},
"quota": {},
"authentication": {},
"usage": {
"requirements": [
"serviceusage.googleapis.com/tos/cloud"
]
},
"monitoring": {}
},
"state": "ENABLED",
"parent": "projects/PROJECT_NUMBER"
}
}
}
done フィールドが true に設定されている場合、オペレーションは完了しています。