このページでは、Service Directory 名前空間の設定、名前空間へのサービスの登録、サービスへのエンドポイントの追加を行う方法について説明します。名前空間は、サービスを登録するとき、またはサービスを登録する前に作成できます。
このページに記載されているコマンドを実行する前に、Service Directory の概要と Service Directory に関連するキータームのコンセプトを理解しておいてください。
プロジェクトを設定する
-
In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.
-
Verify that billing is enabled for your Trusted Cloud project.
-
Enable the Service Directory API.
-
Install the Google Cloud CLI.
-
フェデレーション ID を使用するように gcloud CLI を構成します。
詳細については、フェデレーション ID を使用して gcloud CLI にログインするをご覧ください。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init
Service Directory リソースを構成する
Service Directory にサービスを入力するには、名前空間を作成し、その名前空間にサービスを登録します。
名前空間を構成する
プロジェクトのリージョンに Namespace を作成します。このリージョンは、すべてのサービスとエンドポイントが実行されている場所である必要はありませんが、可能であれば近い場所にする必要があります。
サービスは任意の Service Directory リージョンに登録できますが、グローバルに解決可能です。リージョン内では、プロジェクトに複数の名前空間を設定でき、これらの名前空間は異なるリージョンに存在できます。1 つの Namespace を複数のリージョンにまたがって配置することはできません。
コンソール
Trusted Cloud コンソールで、[Service Directory 名前空間] ページに移動します。
- [名前空間を作成] をクリックします。
- [リージョン] リストで、Namespace のリージョンを選択します。
- [名前空間名] フィールドに、名前空間の名前を指定します。
- [作成] をクリックします。
gcloud
コマンドラインで Service Directory を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
名前空間の作成
gcloud service-directory namespaces create NAMESPACE \ --location REGION
次のように置き換えます。
NAMESPACE
: 作成する Namespace の名前。REGION
: Namespace を含む Trusted Cloud リージョン。
省略可: Namespace に IAM ポリシーを設定します。これにより、指定されたユーザーまたはグループに、この Namespace とその Namespace に属するすべてのサービスに対する指定されたロールが付与されます。
gcloud service-directory namespaces add-iam-policy-binding NAMESPACE \ --member user:someone@example.com \ --role ROLE \ --location REGION
次のように置き換えます。
NAMESPACE
: 作成した Namespace の名前。ROLE
: 付与するロール。REGION
: Namespace を含む Trusted 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 内で一意である必要があります。
- サービス名は、DNS ラベルの命名規則に従う必要があります。
Private Service Connect 転送ルールを作成し、Service Directory にサービスとして登録するには、Private Service Connect エンドポイントを Service Directory に登録するをご覧ください。
標準サービスを Service Directory に登録する手順は次のとおりです。
コンソール
Trusted Cloud コンソールで、[サービス ディレクトリ] ページに移動します。
- [Register Service] をクリックします。
- [標準] をクリックし、[次へ] をクリックします。
- サービスを登録するリージョンを選択します。
- サービスを登録する名前空間を選択します。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 を含む Trusted Cloud リージョン。KEY_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 を含む Trusted 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 アドレスを指定する必要があります。
コンソール
Trusted Cloud コンソールで、[サービス ディレクトリ] ページに移動します。
- サービスをクリックします。
- [エンドポイントを追加] をクリックします。
- [エンドポイント名] を指定します。
- 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 を含む Trusted Cloud リージョン。KEY_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 を含む Trusted 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 から削除できます。
サービスからエンドポイントを削除する
コンソール
Trusted Cloud コンソールで、[サービス ディレクトリ] ページに移動します。
- エンドポイントを削除するサービスをクリックします。
- 削除するエンドポイントの横にあるチェックボックスをオンにします。
- [削除] をクリックします。
- 確認ダイアログで、もう一度 [削除] をクリックします。
gcloud
コマンドラインで Service Directory を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
gcloud service-directory endpoints delete ENDPOINT \ --service=SERVICE \ --namespace=NAMESPACE \ --location=REGION
次のように置き換えます。
ENDPOINT
: 削除するエンドポイントの名前。SERVICE
: エンドポイントを含むサービスの名前。NAMESPACE
: サービスを含む Namespace の名前。REGION
: Namespace を含む Trusted 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
を返します。コンソール
Trusted Cloud コンソールで、[サービス ディレクトリ] ページに移動します。
- 削除するサービスの横にあるチェックボックスをオンにします。
- [削除] をクリックします。
- 確認ダイアログで、もう一度 [削除] をクリックします。
gcloud
コマンドラインで Service Directory を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
gcloud service-directory services delete SERVICE \ --namespace=NAMESPACE \ --location=REGION
次のように置き換えます。
SERVICE
: 削除するサービスの名前。NAMESPACE
: サービスを含む Namespace の名前。REGION
: Namespace を含む Trusted 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
を返します。コンソール
Trusted Cloud コンソールで、[Service Directory 名前空間] ページに移動します。
- 削除する名前空間の横にあるチェックボックスをオンにします。
- [削除] をクリックします。
- 確認ダイアログで、もう一度 [削除] をクリックします。
gcloud
コマンドラインで Service Directory を使用するには、まず Google Cloud CLI の最新バージョンをインストールまたはアップグレードします。
gcloud service-directory namespaces delete NAMESPACE \ --location=REGION
次のように置き換えます。
NAMESPACE
: 削除する Namespace の名前。REGION
: Namespace を含む Trusted 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 の使用時に発生する可能性のある一般的な問題の解決策については、トラブルシューティングをご覧ください。