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

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

始める前に

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

このドキュメントの gcloud CLI コマンドを使用するには、Google Cloud CLI 環境を設定していることを確認してください。

必要なロール

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

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

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

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

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

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

環境内の登録済みエンドポイントをすべて一覧表示します。

コンソール

  1. Google Cloud コンソールで、[エージェント レジストリ] に移動します。

    Agent Registry に移動

  2. プロジェクト選択ツールから、エージェント レジストリを設定した 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 に移動

  2. プロジェクト選択ツールから、エージェント レジストリを設定した 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 に移動

  2. プロジェクト選択ツールから、エージェント レジストリを設定した 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 に移動

  2. プロジェクト選択ツールから、エージェント レジストリを設定した Google Cloud プロジェクトを選択します。

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

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

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

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

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

  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 に移動

  2. プロジェクト選択ツールから、エージェント レジストリを設定した Google Cloud プロジェクトを選択します。

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

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

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

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

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

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

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

gcloud

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

Terraform

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