このページでは、Service Directory 名前空間を設定し、名前空間にサービスを登録し、サービスにエンドポイントを追加する方法について説明します。名前空間は、サービスを登録するとき、またはサービスを登録する前に作成できます。
このページに記載されているコマンドを実行する前に、Service Directory の概要のコンセプトと、Service Directory に関連するキー用語を理解しておいてください。
プロジェクトを設定する
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Service Directory API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Service Directory API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
Service Directory リソースを構成する
Service Directory にサービスを入力するには、名前空間を作成し、その名前空間にサービスを登録します。
名前空間を構成する
プロジェクト用に、リージョンに Namespace を作成します。このリージョンは、すべてのサービスとエンドポイントが実行されている場所である必要はありませんが、可能であれば近い場所にする必要があります。
サービスは任意の Service Directory リージョンに登録できます。グローバルに解決可能です。リージョン内で、プロジェクトに複数の名前空間を設定できます。これらの名前空間は異なるリージョンに配置できます。1 つの Namespace を複数のリージョンにまたいで使用することはできません。
Console
Google Cloud コンソールで、[Service Directory Namespace] ページに移動します。
- [名前空間を作成] をクリックします。
- [リージョン] リストで、Namespace のリージョンを選択します。
- [Namespace name] フィールドに、名前空間の名前を入力します。
- [作成] をクリックします。
gcloud
コマンドラインで Service Directory を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
名前空間の作成
gcloud service-directory namespaces create NAMESPACE \ --location REGION
次のように置き換えます。
NAMESPACE
: 作成する Namespace の名前。REGION
: Namespace を含むリージョン。 Google Cloud
省略可: Namespace に IAM ポリシーを設定します。これにより、指定されたユーザーまたはグループに、この Namespace と Namespace に属するすべての Service に対する指定されたロールが付与されます。
gcloud service-directory namespaces add-iam-policy-binding NAMESPACE \ --member user:someone@example.com \ --role ROLE \ --location REGION
次のように置き換えます。
NAMESPACE
: 作成した Namespace の名前。ROLE
: 付与するロール。REGION
: Namespace を含むリージョン。 Google Cloud
C#
このコードを実行するには、まず C# 開発環境を設定し、Service Directory C# SDK をインストールします。
Go
このコードを実行するには、まず Go 開発環境を設定し、Service Directory Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Service Directory Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Service Directory Node.js SDK をインストールします。
PHP
このコードを実行するには、まず PHP 開発環境を設定し、Service Directory PHP SDK をインストールします。
Python
このコードを実行するには、まず Python 開発環境を設定し、Service Directory Python SDK をインストールします。
Ruby
このコードを実行するには、まず Ruby 開発環境を設定し、Service Directory Ruby SDK をインストールします。
サービスの構成
Namespace にサービスを作成します。サービスは、名前とオプションのサービス関連のアノテーションで構成されます。サービス名の形式にはいくつかの制限があります。
- サービス名は名前空間内で一意である必要があります。
- サービス名は、DNS ラベルの命名規則に従っている必要があります。
Private Service Connect 転送ルールを作成し、Service Directory にサービスとして登録するには、Private Service Connect エンドポイントを Service Directory に登録するをご覧ください。
Service Directory に標準サービスを登録する手順は次のとおりです。
Console
Google Cloud コンソールで、[Service Directory] ページに移動します。
- [Register Service] をクリックします。
- [Standard] をクリックし、[次へ] をクリックします。
- サービスを登録するリージョンを選択します。
- サービスを登録するNamespace を選択します。Namespace がない場合は、次の手順で作成します。
- [Namespace] ボックスで、[Create namespace] をクリックします。
- Namespace 名を入力します。
- [作成] をクリックします。
- サービス名を入力します。
- 省略可: サービスにアノテーションを追加する場合は、次の操作を行います。
- [アノテーションを追加] をクリックします。
- キーと値を追加します。
- アノテーションをさらに追加するには、もう一度 [アノテーションを追加] をクリックします。
- [作成] をクリックします。
gcloud
コマンドラインで Service Directory を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
Namespace にサービスを作成します。
gcloud service-directory services create SERVICE \ --annotations KEY_1=VALUE_1,KEY_2=VALUE_2 \ --namespace NAMESPACE \ --location REGION
次のように置き換えます。
SERVICE
: 作成するサービスの名前。NAMESPACE
: サービスを含む Namespace の名前。REGION
: Namespace を含むリージョン。 Google CloudKEY_1
、VALUE_1
、KEY_2
、VALUE_2
: キーと値の文字列をペアで設定します。
省略可: サービスに IAM ポリシーを設定します。これにより、指定されたユーザーまたはグループに、このサービスとサービスに属するすべてのエンドポイントに対する指定されたロールが付与されます。
gcloud service-directory services add-iam-policy-binding SERVICE \ --member user:someone@example.com \ --role ROLE \ --namespace NAMESPACE \ --location REGION
次のように置き換えます。
SERVICE
: サービスに付けた名前。NAMESPACE
: サービスを含む Namespace の名前ROLE
: 付与するロール。REGION
: Namespace を含むリージョン。 Google Cloud
C#
このコードを実行するには、まず C# 開発環境を設定し、Service Directory C# SDK をインストールします。
Go
このコードを実行するには、まず Go 開発環境を設定し、Service Directory Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Service Directory Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Service Directory Node.js SDK をインストールします。
PHP
このコードを実行するには、まず PHP 開発環境を設定し、Service Directory PHP SDK をインストールします。
Python
このコードを実行するには、まず Python 開発環境を設定し、Service Directory Python SDK をインストールします。
Ruby
このコードを実行するには、まず Ruby 開発環境を設定し、Service Directory Ruby SDK をインストールします。
エンドポイントを構成する
サービスを登録したら、エンドポイントを追加します。エンドポイントは、一意の名前、オプションの IP アドレスとポート、Key-Value アノテーションで構成されます。IP アドレスを指定する場合は、有効な IPv4 または IPv6 アドレスにする必要があります。
Console
Google Cloud コンソールで、[Service Directory] ページに移動します。
- サービスをクリックします。
- [エンドポイントを追加] をクリックします。
- エンドポイント名を指定します。
- IPv4 または IPv6 のIP アドレスを入力します。
- ポート番号を入力します。
- 省略可: エンドポイントにアノテーションを追加する場合は、次の操作を行います。
- [メモ] で [アノテーションを追加] をクリックします。
- キーと値を追加します。
- アノテーションをさらに追加するには、もう一度 [アノテーションを追加] をクリックします。
- [作成] をクリックします。
gcloud
コマンドラインで Service Directory を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
サービスが登録されたら、エンドポイントを追加します。
gcloud service-directory endpoints create ENDPOINT \ --address IP_ADDRESS \ --port PORT_NUMBER \ --annotations KEY_1=VALUE_1,KEY_2=VALUE_2 \ --service SERVICE \ --namespace NAMESPACE \ --location REGION
gcloud service-directory endpoints create ENDPOINT2 \ --address IP_ADDRESS2 \ --port PORT_NUMBER2 \ --service SERVICE \ --namespace NAMESPACE \ --location REGION
次のように置き換えます。
ENDPOINT
とENDPOINT2
: サービスで作成するエンドポイントの名前。IP_ADDRESS
とIP_ADDRESS2
: エンドポイントの IPv6 アドレスと IPv4 アドレス。PORT_NUMBER
とPORT_NUMBER2
: エンドポイントが実行されているポート。SERVICE
: エンドポイントを含むサービスの名前。NAMESPACE
: サービスを含む Namespace の名前。REGION
: Namespace を含むリージョン。 Google CloudKEY_1
、VALUE_1
、KEY_2
、VALUE_2
: キーと値の文字列をペアで設定。
C#
このコードを実行するには、まず C# 開発環境を設定し、Service Directory C# SDK をインストールします。
Go
このコードを実行するには、まず Go 開発環境を設定し、Service Directory Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Service Directory Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Service Directory Node.js SDK をインストールします。
PHP
このコードを実行するには、まず PHP 開発環境を設定し、Service Directory PHP SDK をインストールします。
Python
このコードを実行するには、まず Python 開発環境を設定し、Service Directory Python SDK をインストールします。
Ruby
このコードを実行するには、まず Ruby 開発環境を設定し、Service Directory Ruby SDK をインストールします。
サービスを解決する
Service Directory を使用すると、クライアントは DNS、HTTP、gRPC を使用してサービスを解決できます。サービスを解決すると、サービスのすべてのプロパティ、すべてのエンドポイント、すべてのアノテーションが返されます。
gcloud
コマンドラインで Service Directory を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
gcloud service-directory services resolve SERVICE \ --namespace NAMESPACE \ --location REGION
次のように置き換えます。
SERVICE
: 解決するサービスの名前。NAMESPACE
: サービスを含む Namespace の名前。REGION
: Namespace を含むリージョン。 Google Cloud
C#
このコードを実行するには、まず C# 開発環境を設定し、Service Directory C# SDK をインストールします。
Go
このコードを実行するには、まず Go 開発環境を設定し、Service Directory Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Service Directory Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Service Directory Node.js SDK をインストールします。
PHP
このコードを実行するには、まず PHP 開発環境を設定し、Service Directory PHP SDK をインストールします。
Python
このコードを実行するには、まず Python 開発環境を設定し、Service Directory Python SDK をインストールします。
Ruby
このコードを実行するには、まず Ruby 開発環境を設定し、Service Directory Ruby SDK をインストールします。
リソースの削除
リソースが不要な場合は、Service Directory から削除できます。
サービスからエンドポイントを削除する
Console
Google Cloud コンソールで、[Service Directory] ページに移動します。
- エンドポイントを削除するサービスをクリックします。
- 削除するエンドポイントの横にあるチェックボックスをオンにします。
- [削除] をクリックします。
- 確認ダイアログで、もう一度 [削除] をクリックします。
gcloud
コマンドラインで Service Directory を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
gcloud service-directory endpoints delete ENDPOINT \ --service=SERVICE \ --namespace=NAMESPACE \ --location=REGION
次のように置き換えます。
ENDPOINT
: 削除するエンドポイントの名前。SERVICE
: エンドポイントを含むサービスの名前。NAMESPACE
: サービスを含む Namespace の名前。REGION
: Namespace を含むリージョン。 Google Cloud
C#
このコードを実行するには、まず C# 開発環境を設定し、Service Directory C# SDK をインストールします。
Go
このコードを実行するには、まず Go 開発環境を設定し、Service Directory Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Service Directory Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Service Directory Node.js SDK をインストールします。
PHP
このコードを実行するには、まず PHP 開発環境を設定し、Service Directory PHP SDK をインストールします。
Python
このコードを実行するには、まず Python 開発環境を設定し、Service Directory Python SDK をインストールします。
Ruby
このコードを実行するには、まず Ruby 開発環境を設定し、Service Directory Ruby SDK をインストールします。
Namespace からサービスを削除する
エンドポイントがあるサービスは削除できます。サービスを削除すると、そのすべてのエンドポイントも削除されます。
Service Directory ゾーンが参照しているサービスを削除できます。そのサービスに対する以降の DNS クエリは NXDOMAIN
を返します。
Console
Google Cloud コンソールで、[Service Directory] ページに移動します。
- 削除するサービスの横にあるチェックボックスをオンにします。
- [削除] をクリックします。
- 確認ダイアログで、もう一度 [削除] をクリックします。
gcloud
コマンドラインで Service Directory を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
gcloud service-directory services delete SERVICE \ --namespace=NAMESPACE \ --location=REGION
次のように置き換えます。
SERVICE
: 削除するサービスの名前。NAMESPACE
: サービスを含む Namespace の名前。REGION
: Namespace を含むリージョン。 Google Cloud
C#
このコードを実行するには、まず C# 開発環境を設定し、Service Directory C# SDK をインストールします。
Go
このコードを実行するには、まず Go 開発環境を設定し、Service Directory Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Service Directory Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Service Directory Node.js SDK をインストールします。
PHP
このコードを実行するには、まず PHP 開発環境を設定し、Service Directory PHP SDK をインストールします。
Python
このコードを実行するには、まず Python 開発環境を設定し、Service Directory Python SDK をインストールします。
Ruby
このコードを実行するには、まず Ruby 開発環境を設定し、Service Directory Ruby SDK をインストールします。
Namespace を削除する
サービスとエンドポイントがある Namespace は削除できます。Namespace を削除すると、そのすべてのサービスとエンドポイントも削除されます。
Service Directory ゾーンが参照している名前空間は削除できます。以降の DNS クエリ(ゾーン送信元の SOA/NS リクエストを除く)は NXDOMAIN
を返します。
Console
Google Cloud コンソールで、[Service Directory Namespace] ページに移動します。
- 削除する Namespace の横にあるチェックボックスをオンにします。
- [削除] をクリックします。
- 確認ダイアログで、もう一度 [削除] をクリックします。
gcloud
コマンドラインで Service Directory を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
gcloud service-directory namespaces delete NAMESPACE \ --location=REGION
次のように置き換えます。
NAMESPACE
: 削除する Namespace の名前。REGION
: Namespace を含むリージョン。 Google Cloud
C#
このコードを実行するには、まず C# 開発環境を設定し、Service Directory C# SDK をインストールします。
Go
このコードを実行するには、まず Go 開発環境を設定し、Service Directory Go SDK をインストールします。
Java
このコードを実行するには、まず Java 開発環境を設定し、Service Directory Java SDK をインストールします。
Node.js
このコードを実行するには、まず Node.js 開発環境を設定し、Service Directory Node.js SDK をインストールします。
PHP
このコードを実行するには、まず PHP 開発環境を設定し、Service Directory PHP SDK をインストールします。
Python
このコードを実行するには、まず Python 開発環境を設定し、Service Directory Python SDK をインストールします。
Ruby
このコードを実行するには、まず Ruby 開発環境を設定し、Service Directory Ruby SDK をインストールします。
次のステップ
- DNS を使用してサービスをクエリできるように Service Directory ゾーンを構成するには、Service Directory ゾーンを構成するをご覧ください。
- Service Directory の概要については、Service Directory の概要をご覧ください。
- Service Directory の使用時に発生する可能性のある一般的な問題の解決策については、トラブルシューティングをご覧ください。