サービスを有効または無効にする

Service Usage を使用すると、 Google Cloud プロジェクトで使用できるサービスを有効または無効にできます。これには、公開 Google Cloud サービスCloud Endpoints で作成された非公開サービスが含まれます。一般公開サービスと非公開サービスの違いについては、一般公開サービスと非公開サービスをご覧ください。

ほとんどのユーザーは、 Google Cloud コンソールでサービスを有効または無効にできます。スクリプトの場合は、Google Cloud CLI を使用します。Service Usage API にプログラムでアクセスするには、クライアント ライブラリを使用することをおすすめします。API を試すには、完全な開発環境をセットアップせずにリクエストを送信します。

Service Usage の割り当て上限については、割り当てと上限をご覧ください。課金対象の使用量を制限できます。API に応じて、リクエストの上限を明示的に設定できます。

始める前に

サービスを有効または無効にする前に、Service Usage 用にGoogle Cloud プロジェクトと環境を設定する必要があります。

コンソール

  1. Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. 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.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Service Usage API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  6. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. 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.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Service Usage API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

gcloud

  1. Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
  2. Google Cloud CLI をインストールします。

  3. 外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

  4. gcloud CLI を初期化するには、次のコマンドを実行します。

    gcloud init
  5. 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 プロジェクトの名前に置き換えます。

  6. このガイドで既存のプロジェクトを使用する場合は、このガイドを完了するために必要な権限があることを確認します。新しいプロジェクトを作成した場合は、必要な権限がすでに付与されています。

  7. Google Cloud プロジェクトに対して課金が有効になっていることを確認します

  8. Service Usage API を有効にします。

    API を有効にするために必要なロール

    API を有効にするには、serviceusage.services.enable 権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。ロールを付与する方法を確認する

    gcloud services enable serviceusage.googleapis.com
  9. Google Cloud CLI をインストールします。

  10. 外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。

  11. gcloud CLI を初期化するには、次のコマンドを実行します。

    gcloud init
  12. 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 プロジェクトの名前に置き換えます。

  13. このガイドで既存のプロジェクトを使用する場合は、このガイドを完了するために必要な権限があることを確認します。新しいプロジェクトを作成した場合は、必要な権限がすでに付与されています。

  14. Google Cloud プロジェクトに対して課金が有効になっていることを確認します

  15. Service Usage API を有効にします。

    API を有効にするために必要なロール

    API を有効にするには、serviceusage.services.enable 権限を含む Service Usage 管理者 IAM ロール(roles/serviceusage.serviceUsageAdmin)が必要です。ロールを付与する方法を確認する

    gcloud services enable serviceusage.googleapis.com

必要なロール

サービスの有効化と無効化に必要な権限を取得するには、プロジェクトに対する Service Usage 管理者 roles/serviceusage.serviceUsageAdmin)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。

必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。

サービスの有効化

サービスを有効にするプロセスは、サービスによって異なる場合があります。一部の API では、使用する前に利用規約に同意するか、プレビュー版であるため承認が必要になります。他の API では、組織の連絡先情報やアプリケーションの名前などの追加情報が求められることもあります。リクエストされた情報は、Google 内で機密情報として扱われます。API の使用状況を把握し、必要に応じてお客様に連絡するために使用されます。

コンソール

  1. Google Cloud コンソールで、[API とサービス] > [API ライブラリ] ページに移動します。

    [API ライブラリ] に移動

  2. 最近のプロジェクトを選択するか、コンソールのツールバーにあるリソース セレクタを使用して、API を有効にする Google Cloud プロジェクトを選択します。

  3. 有効にする API をクリックするか、[API とサービスを検索] ボックスを使用して検索します。

  4. [有効にする] をクリックします。

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 を無効にする前に、関連するすべてのデータを削除します。

Google Kubernetes Engine API を無効にすると、プロジェクトで実行中のクラスタが一時停止します。30 日が経過すると、これらの一時停止されたクラスタは削除されます。クラスタを再度有効にするには、GKE API を再度有効にします。クラスタが復元されるまでに、最長で 24 時間ほどかかることがあります。詳細については、クラスタのライフサイクルをご覧ください。

コンソール

  1. Google Cloud コンソールで、[API とサービス] > [API ライブラリ] ページに移動します。

    [API ライブラリ] に移動

  2. 最近のプロジェクトを選択するか、コンソールのツールバーにあるリソース セレクタを使用して、API を無効にする Google Cloud プロジェクトを選択します。

  3. 無効にする API をクリックするか、[API とサービスを検索] ボックスを使用して検索します。

  4. [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 に設定されている場合、オペレーションは完了しています。