エンドポイントの管理と検出

エージェントのフリートを効果的に管理するには、エンドポイントのネットワークを正確に維持する必要があります。このドキュメントでは、使用可能なエンドポイントを検出する方法、接続の詳細を更新する方法、使用しなくなったエンドポイントを削除する方法について説明します。

始める前に

エンドポイントを管理する前に、 Agent Registry にエンドポイントを登録します。 これらのタスクを実行するには、 プロジェクト ID も必要です。

このドキュメントの gcloud CLI コマンドを使用するには、Google Cloud CLI 環境を 設定しておく必要があります。

必要なロール

Agent Registry でエンドポイントを管理するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

ロールの付与の詳細については、プロジェクト、フォルダ、組織へのアクセスを管理するをご覧ください。

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

エンドポイントを検出する

環境に登録されているターゲット URL と REST API を確認するには、使用可能なエンドポイント リソースを一覧表示します。

すべてのエンドポイントを一覧表示する

環境に登録されているすべてのエンドポイントを一覧表示します。

コンソール

  1. コンソール Google Cloud で、[Agent Registry] に移動します。

    Agent Registry に移動

  2. プロジェクト選択ツールから、Agent Registry を設定した Google Cloud プロジェクトを 選択します

  3. [エンドポイント] タブを選択します。

    このページには、登録されているすべてのエンドポイントとその詳細(名前、説明、ロケーションなど)のリストが表示されます。

  4. エンドポイントの完全な接続の詳細を表示するには、エンドポイントの名前を クリックします。

gcloud

特定のロケーションにあるすべてのエンドポイントを一覧表示するには、endpoints list コマンドを使用します。

gcloud agent-registry endpoints list \
  --project=PROJECT_ID \
  --location=REGION

次のように置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • REGION: レジストリ リージョン。

登録済みエンドポイントをフィルタする

複数のエンドポイントがある場合は、エンドポイントのメタデータでリストをフィルタできます。

コンソール

  1. コンソール Google Cloud で、[Agent Registry] に移動します。

    Agent Registry に移動

  2. プロジェクト選択ツールから、Agent Registry を設定した Google Cloud プロジェクトを 選択します

  3. [エンドポイント] タブを選択します。

    このページには、登録されているすべてのエンドポイントとその詳細(名前、説明、ロケーションなど)のリストが表示されます。

  4. ロケーションでフィルタするには、[ロケーション] メニューをクリックして、フィルタするロケーションを選択し、[適用] をクリックします。

    このページには、選択した条件でフィルタされた登録済みエンドポイントのリストが表示されます。

gcloud

--filter フラグを使用して、特定のメタデータに一致するリソースのみを返すようにリストをフィルタします。

gcloud agent-registry endpoints list \
  --project=PROJECT_ID \
  --location=REGION \
  --filter="FILTER_EXPRESSION"

FILTER_EXPRESSION は、フィルタするエンドポイントのフィルタ式に置き換えます。たとえば、表示 名でフィルタするには、displayName='DISPLAY_NAME' を使用します。

Terraform

メタデータに対してフィルタして特定の登録済みエンドポイントを取得するには、filter 引数を使用して google_agent_registry_endpoint データソースを構成します。

data "google_agent_registry_endpoint" "filtered_endpoint" {
  location = "REGION"
  filter   = "displayName=\"DISPLAY_NAME\""
}

次のように置き換えます。

  • REGION: レジストリ リージョン。
  • DISPLAY_NAME: フィルタするエンドポイントの人間が読める名前(Example API Endpoint など)。

エンドポイントの詳細を表示する

特定の接続の詳細やプロトコル バインディングなど、特定のエンドポイントの詳細を表示します。

コンソール

  1. コンソール Google Cloud で、[Agent Registry] に移動します。

    Agent Registry に移動

  2. プロジェクト選択ツールから、Agent Registry を設定した Google Cloud プロジェクトを 選択します

  3. [エンドポイント] タブを選択します。

    このページには、登録されているすべてのエンドポイントとその詳細(名前、説明、ロケーションなど)のリストが表示されます。

  4. 表示するエンドポイントの名前をクリックします。

    [概要] ページには、エンドポイントの名前、説明、ロケーション、接続の詳細(リンク先 URL やプロトコル バインディングなど)が表示されます。

gcloud

特定のエンドポイントの詳細なメタデータ(完全なインターフェース URL やプロトコル バインディングなど)を取得します。

gcloud agent-registry endpoints describe ENDPOINT_NAME \
  --project=PROJECT_ID \
  --location=REGION

次のように置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • REGION: レジストリ リージョン。
  • ENDPOINT_NAME: エンドポイントの名前(my-external-api など)。

Terraform

ID を使用して特定の登録済みエンドポイントの詳細を取得するには、google_agent_registry_endpoint データソースを構成します。

data "google_agent_registry_endpoint" "my_endpoint" {
  location    = "REGION"
  endpoint_id = "ENDPOINT_NAME"
}

output "endpoint_create_time" {
  description = "The timestamp when the endpoint was registered."
  value       = data.google_agent_registry_endpoint.my_endpoint.create_time
}

output "endpoint_update_time" {
  description = "The timestamp when the endpoint was last updated."
  value       = data.google_agent_registry_endpoint.my_endpoint.update_time
}

次のように置き換えます。

  • REGION: レジストリ リージョン。
  • ENDPOINT_NAME: エンドポイントの一意の識別子(my-external-api など)。

エンドポイントを更新する

外部ターゲット エンドポイントの基盤となる URL が変更された場合は、エンドポイント インターフェースの詳細を更新できます。

エンドポイントを更新する手順は次のとおりです。

コンソール

  1. コンソール Google Cloud で、[Agent Registry] に移動します。

    Agent Registry に移動

  2. プロジェクト選択ツールから、Agent Registry を設定した Google Cloud プロジェクトを 選択します

  3. [エンドポイント] タブを選択します。

    このページには、登録されているすべてのエンドポイントとその詳細(名前、説明、ロケーションなど)のリストが表示されます。

  4. 更新するエンドポイントの名前をクリックします。

    [概要] ページには、エンドポイントの名前、説明、ロケーション、接続の詳細(リンク先 URL やプロトコル バインディングなど)が表示されます。

  5. [ Edit] をクリックします。

  6. [サービスの編集] パネルで、エンドポイントの更新された情報(表示名、説明、リンク先 URL など)を入力します。このパネルからエンドポイントへの接続をテストできます。

  7. [保存] をクリックします。

gcloud

Agent Registry API では、検出に Endpoint リソースが使用されます。そのため、登録済みの Service リソースを直接更新する必要があります。

--interfaces フラグを使用して、新しいターゲット URL を指定します。

gcloud agent-registry services update ENDPOINT_NAME \
  --project=PROJECT_ID \
  --location=REGION \
  --interfaces=url=ENDPOINT_URL,protocolBinding=PROTOCOL

次のように置き換えます。

  • ENDPOINT_NAME: エンドポイントの名前(my-external-api など)。
  • PROJECT_ID: プロジェクト ID。
  • REGION: レジストリ リージョン。
  • ENDPOINT_URL: 新しいターゲット URL(https://new-api.example.com/v1/data など)。
  • PROTOCOL: インターフェースのプロトコル バインディング。 有効な値は http-jsongrpcjsonrpc です。

Terraform

Terraform を使用してエンドポイント URL またはプロトコル バインディングを更新するには、構成内の既存の google_agent_registry_service リソースの interfaces ブロックを変更して、terraform apply を実行します。

resource "google_agent_registry_service" "endpoint" {
  location     = "REGION"
  service_id   = "ENDPOINT_NAME"
  display_name = "DISPLAY_NAME"

  interfaces {
    url              = "ENDPOINT_URL"
    protocol_binding = "PROTOCOL"
  }

  endpoint_spec {
    type = "NO_SPEC"
  }
}

次のように置き換えます。

  • REGION: レジストリ リージョン。
  • ENDPOINT_NAME: エンドポイントの名前。
  • DISPLAY_NAME: エンドポイントの人間が読める名前。
  • ENDPOINT_URL: 新しいターゲット URL(https://new-api.example.com/v1/data など)。
  • PROTOCOL: インターフェースのプロトコル バインディング。 有効な値は HTTP_JSONGRPCJSONRPC です。

エンドポイントを削除する

レジストリからエンドポイントを削除するには、基盤となる Service リソースを削除する必要があります。この操作を行うと、検出検索結果からエンドポイントがすぐに削除されます。

レジストリからエンドポイントを削除する手順は次のとおりです。

コンソール

  1. コンソール Google Cloud で、[Agent Registry] に移動します。

    Agent Registry に移動

  2. プロジェクト選択ツールから、Agent Registry を設定した Google Cloud プロジェクトを 選択します

  3. [エンドポイント] タブを選択します。

    このページには、登録されているすべてのエンドポイントとその詳細(名前、説明、ロケーションなど)のリストが表示されます。

  4. 削除するエンドポイントの名前をクリックします。

    [概要] ページには、エンドポイントの名前、説明、ロケーション、接続の詳細(リンク先 URL やプロトコル バインディングなど)が表示されます。

  5. [ [Delete]] をクリックします。

  6. [エンドポイントの削除] ウィンドウで、「 DELETE 」と入力して操作を確定します。

  7. [削除] をクリックします。

gcloud

gcloud agent-registry services delete ENDPOINT_NAME \
  --project=PROJECT_ID \
  --location=REGION

Terraform

エンドポイントを表す google_agent_registry_service リソースを Terraform 構成から削除し、terraform apply を実行します。