このページでは、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 リソースの構成
Namespace の構成
選択したリージョンのプロジェクトに名前空間を作成します。このリージョンはすべてのサービスとエンドポイントが稼働している場所である必要はありませんが、可能であれば閉じる必要があります。サービスを任意の Service Directory リージョンに登録できます。グローバルに解決可能です。プロジェクトは、リージョン内に複数の名前空間を持つことができ、複数のリージョンには名前空間を含めることができます。1 つの名前空間にリージョンにまたがることはできません。
Console
- Google Cloud Console の [サービス ディレクトリ] 名前空間ページに移動します。
[Service Directory 名前空間] ページに移動 - [名前空間を作成] をクリックします。
- [リージョン] プルダウン メニューで、名前空間のリージョンを選択します。
- [Namespace name] フィールドに名前空間の名前を入力します。
- [作成] をクリックします。
gcloud
コマンドラインで Service Directory を使用するには、Cloud SDK の最新バージョンをインストールするか、アップグレードします。
名前空間の作成
gcloud service-directory namespaces create NAMESPACE \ --location REGION
以下を置き換えます。
NAMESPACE
: 作成する名前空間の名前。REGION
: 名前空間を含む Google Cloud リージョン。
(省略可): 名前空間に IAM ポリシーを設定します。これにより、指定したユーザーまたはグループが、この名前空間と名前空間に属するすべてのサービスに指定した役割を付与します。
gcloud service-directory namespaces add-iam-policy-binding NAMESPACE \ --member user:someone@example.com \ --role ROLE \ --location REGION
以下を置き換えます。
NAMESPACE
: 作成した名前空間の名前。ROLE
: 付与する役割。REGION
: 名前空間を含む 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 ラベルの命名規則に従う必要があります。
Console
- Google Cloud Console の [サービス ディレクトリ] 名前空間ページに移動します。
[Service Directory 名前空間] ページに移動 - 名前空間をクリックします。
- [サービスを追加] をクリックします。
- [サービス名] を入力します。
- 省略可。サービスにメタデータを追加する場合は、次の手順を行います。
- [サービス メタデータ] をクリックします。
- [メタデータを追加] をクリックします。
- キーと値を追加します。
- メタデータペアをさらに追加するには、もう一度 [メタデータを追加] をクリックします。
- [作成] をクリックします。
gcloud
コマンドラインで Service Directory を使用するには、Cloud SDK の最新バージョンをインストールするか、アップグレードします。
名前空間にサービスを作成する。
gcloud service-directory services create SERVICE \ --metadata KEY_1=VALUE_1,KEY_2=VALUE_2 \ --namespace NAMESPACE \ --location REGION
以下を置き換えます。
SERVICE
: 作成するサービスの名前。NAMESPACE
: サービスを含む名前空間に指定した名前。REGION
: 名前空間を含む Google 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
: 作成した名前空間の名前。ROLE
: 付与する役割。REGION
: 名前空間を含む 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 をインストールします。
エンドポイントの構成
サービスを登録したら、エンドポイントを追加します。エンドポイントは一意の名前と、アドレス、ポート、Key-Value メタデータのオプション フィールドで構成されます。指定する場合、有効な IPv4 または IPv6 アドレスを指定する必要があります。
Console
- Google Cloud Console の [サービス ディレクトリ] 名前空間ページに移動します。
[Service Directory 名前空間] ページに移動 - 名前空間をクリックします。
- サービスをクリックします。
- [エンドポイントを追加] をクリックします。
- [エンドポイント名] を入力します。
- IPv4 または IPv6 IP アドレスを入力します。
- 番号を入力します。
- 省略可。エンドポイントにメタデータを追加する場合は、次のようにします。
- [エンドポイント メタデータ] をクリックします。
- [メタデータを追加] をクリックします。
- キーと値を追加します。
- メタデータペアをさらに追加するには、もう一度 [メタデータを追加] をクリックします。
- [作成] をクリックします。
gcloud
コマンドラインで Service Directory を使用するには、Cloud SDK の最新バージョンをインストールするか、アップグレードします。
サービスを登録したら、エンドポイントを追加します。
gcloud service-directory endpoints create ENDPOINT \ --address IP_ADDRESS \ --port PORT_NUMBER \ --metadata 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
: サービスを含む名前空間に指定した名前。REGION
: 名前空間を含む Google 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 を使用するには、Cloud SDK の最新バージョンをインストールするか、アップグレードします。
gcloud service-directory services resolve SERVICE \ --namespace NAMESPACE \ --location REGION
以下を置き換えます。
SERVICE
: 作成するサービスの名前。NAMESPACE
: サービスを含む名前空間に指定した名前。REGION
: 名前空間を含む 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 をインストールします。
リソースの削除
サービスからエンドポイントを削除する
Console
- Google Cloud Console の [サービス ディレクトリ] 名前空間ページに移動します。
[Service Directory 名前空間] ページに移動 - エンドポイントを削除する名前空間をクリックします。
- エンドポイントを削除するサービスをクリックします。
- 削除するエンドポイントの横にあるチェックボックスをオンにします。
- [削除] をクリックします。
- 確認のダイアログ ボックスで、[削除] をもう一度クリックします。
gcloud
コマンドラインで Service Directory を使用するには、Cloud SDK の最新バージョンをインストールするか、アップグレードします。
gcloud service-directory endpoints delete ENDPOINT \ --service=SERVICE \ --namespace=NAMESPACE \ --location=REGION
以下を置き換えます。
SERVICE
: 作成するサービスの名前。NAMESPACE
: サービスを含む名前空間に指定した名前。REGION
: 名前空間を含む 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 ゾーンを持つサービスを削除できます。そのサービスでさらに DNS クエリを行うと、NXDOMAIN
が返されます。
Console
- Google Cloud Console の [サービス ディレクトリ] 名前空間ページに移動します。
[Service Directory 名前空間] ページに移動 - サービスを削除する名前空間をクリックします。
- 削除するサービスの横にあるチェックボックスをクリックします。
- [削除] をクリックします。
- 確認ダイアログ ボックスでもう一度 [削除] をクリックします。
gcloud
コマンドラインで Service Directory を使用するには、Cloud SDK の最新バージョンをインストールするか、アップグレードします。
gcloud service-directory services delete SERVICE \ --namespace=NAMESPACE \ --location=REGION
以下を置き換えます。
SERVICE
: 作成するサービスの名前。NAMESPACE
: サービスを含む名前空間に指定した名前。REGION
: 名前空間を含む 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 ゾーンを持つ名前空間を削除できます。それ以降の DNS クエリ(ゾーンの SOA/NS リクエストを除く)は NXDOMAIN
を返します。
Console
- Google Cloud Console の [サービス ディレクトリ] 名前空間ページに移動します。
[Service Directory 名前空間] ページに移動 - 削除する名前空間の横にあるチェックボックスをオンにします。
- [削除] をクリックします。
- 確認のダイアログ ボックスで、もう一度 [削除] をクリックします。
gcloud
コマンドラインで Service Directory を使用するには、Cloud SDK の最新バージョンをインストールするか、アップグレードします。
gcloud service-directory namespaces delete NAMESPACE \ --location=REGION
以下を置き換えます。
NAMESPACE
: サービスを含む名前空間に指定した名前。REGION
: 名前空間を含む 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 の使用時に発生する可能性のある一般的な問題の解決策については、トラブルシューティングをご覧ください。