Enregistrer des points de terminaison

Dans Agent Registry, un point de terminaison représente une URL cible, généralement une API REST, à laquelle vos agents accèdent. En enregistrant ces destinations en tant que composants agentiques gérés dans Agent Registry, vous pouvez contrôler de manière centralisée les points de terminaison externes auxquels votre parc d'agents peut se connecter.

Ce document explique comment enregistrer explicitement des points de terminaison externes dans le registre.

Avant de commencer

Avant de commencer, configurez Agent Registry. Vous aurez besoin de l'ID de votre projet pour effectuer ces tâches.

Pour utiliser les commandes Google Cloud CLI de ce document, assurez-vous d'avoir configuré votre environnement gcloud CLI.

Rôles requis

Pour obtenir les autorisations nécessaires pour enregistrer des points de terminaison dans Agent Registry, demandez à votre administrateur de vous accorder le rôle IAM Éditeur de l'API Agent Registry (roles/agentregistry.editor) sur le projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Enregistrer un point de terminaison

Étant donné que les points de terminaison sont des destinations externes personnalisées, utilisez l'enregistrement manuel pour les ajouter à Agent Registry :

Console

  1. Dans la Google Cloud console, accédez à Agent Registry:

    Accéder à Agent Registry

  2. Dans l'outil de sélection de projets, sélectionnez le Google Cloud projet dans lequel vous avez configuré Agent Registry.

  3. Sélectionnez l'onglet Points de terminaison.

  4. Cliquez sur Ajouter un point de terminaison.

  5. Dans le panneau Détails du point de terminaison , saisissez le nom à afficher, une description, la région géographique et l'URL de destination.

    Vous pouvez également cliquer sur Tester la connexion dans ce panneau pour tester votre connexion à l'URL de destination.

  6. Cliquez sur Enregistrer.

gcloud

Créez une ressource Service avec un endpoint-spec-type de no-spec.

Enregistrez le point de terminaison et définissez les détails de connexion de son interface :

gcloud agent-registry services create ENDPOINT_NAME \
  --project=PROJECT_ID \
  --location=REGION \
  --display-name="DISPLAY_NAME" \
  --endpoint-spec-type=no-spec \
  --interfaces=url=ENDPOINT_URL,protocolBinding=PROTOCOL

Remplacez les éléments suivants :

  • ENDPOINT_NAME: nom que vous souhaitez attribuer à votre point de terminaison, par exemple my-external-api.
  • PROJECT_ID : ID du projet.
  • REGION : région du registre.
  • DISPLAY_NAME: nom lisible du point de terminaison.
  • ENDPOINT_URL: URL cible, par exemple https://api.example.com/v1/data.
  • PROTOCOL : liaison de protocole pour l'interface. Les valeurs valides sont http-json, grpc ou jsonrpc.

Une fois la ressource Service créée, Agent Registry génère automatiquement une ressource Endpoint en lecture seule côté consommateur que les agents et les orchestrateurs peuvent découvrir et utiliser.

Terraform

Pour enregistrer un point de terminaison externe, configurez la ressource google_agent_registry_service avec le bloc endpoint_spec :

resource "google_agent_registry_service" "endpoint" {
  location     = "REGION"
  service_id   = "ENDPOINT_NAME"
  display_name = "DISPLAY_NAME"
  description  = "An external REST API registered using Terraform."

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

  endpoint_spec {
    type = "NO_SPEC"
  }
}

output "endpoint_resource_name" {
  description = "The generated read-only Endpoint resource name."
  value       = google_agent_registry_service.endpoint.registry_resource
}

Remplacez les éléments suivants :

  • REGION : région du registre.
  • ENDPOINT_NAME: nom unique que vous souhaitez attribuer à votre point de terminaison, par exemple my-external-api.
  • DISPLAY_NAME: nom lisible du point de terminaison.
  • ENDPOINT_URL: URL cible, par exemple https://api.example.com/v1/data.
  • PROTOCOL : liaison de protocole pour l'interface. Les valeurs valides sont HTTP_JSON, GRPC ou JSONRPC.

Enregistrer un point de terminaison composite des API Google

Dans une architecture interprojets, un projet de gouvernance central héberge une infrastructure partagée telle qu'Agent Registry et Agent Gateway, et des projets de charge de travail individuels hébergent des instances de calcul d'agent.

Lorsque vous acheminez le trafic de l'agent via Agent Gateway en mode sortie, le trafic réseau sortant est bloqué par défaut. Pour permettre aux agents des projets de charge de travail de communiquer avec les API essentielles Google Cloud , vous pouvez regrouper plusieurs interfaces d'API dans un seul point de terminaison composite Service dans le projet de gouvernance central.

Le regroupement des interfaces dans un seul point de terminaison simplifie l'administration des règles en vous permettant de gérer une seule liaison de règle IAP pour l'ensemble de la suite d'API Google de base.

Pour enregistrer un point de terminaison composite des API Google :

gcloud

Enregistrez le point de terminaison avec plusieurs URL d'interface dans le projet de gouvernance central :

gcloud agent-registry services create SERVICE_NAME \
  --project=CENTRAL_PROJECT_ID \
  --location=REGION \
  --display-name="DISPLAY_NAME" \
  --description="DESCRIPTION" \
  --endpoint-spec-type=no-spec \
  --interfaces=protocolBinding=jsonrpc,url=API_URL \
  --interfaces=protocolBinding=jsonrpc,url=ADDITIONAL_API_URL

Remplacez les éléments suivants :

  • SERVICE_NAME: identifiant du service, par exemple core-gapi-services.
  • CENTRAL_PROJECT_ID: ID du projet de gouvernance central hébergeant Agent Registry et Agent Gateway.
  • REGION : région où résident votre passerelle et votre registre.
  • DISPLAY_NAME: nom lisible, par exemple Core Google APIs.
  • DESCRIPTION: brève description, par exemple Essential Google APIs for agent operations.
  • API_URL: URL de l'API Google principale, telle que https://telemetry.googleapis.com.
  • ADDITIONAL_API_URL: répétez l'option --interfaces pour chaque URL ou variante d'API Google supplémentaire requise par vos agents, par exemple https://cloudresourcemanager.googleapis.com, https://iamcredentials.googleapis.com, https://agentregistry.googleapis.com ou les variantes régionales et mTLS telles que https://telemetry.mtls.googleapis.com.

Terraform

Pour enregistrer le point de terminaison composite des Google APIs à l'aide de Terraform, définissez la ressource google_agent_registry_service avec plusieurs blocs interfaces :

resource "google_agent_registry_service" "core_gapi_services" {
  project      = "CENTRAL_PROJECT_ID"
  location     = "REGION"
  service_id   = "SERVICE_NAME"
  display_name = "DISPLAY_NAME"
  description  = "DESCRIPTION"

  endpoint_spec {
    type = "NO_SPEC"
  }

  interfaces {
    url              = "API_URL"
    protocol_binding = "JSONRPC"
  }

  # Add an interfaces block for each additional Google API URL
  interfaces {
    url              = "ADDITIONAL_API_URL"
    protocol_binding = "JSONRPC"
  }
}

Remplacez les éléments suivants :

  • CENTRAL_PROJECT_ID: ID du projet de gouvernance central.
  • REGION : région du registre.
  • SERVICE_NAME : ID du service.
  • DISPLAY_NAME : nom lisible.
  • DESCRIPTION : description du service.
  • API_URL: URL de l'API Google principale, telle que https://telemetry.googleapis.com.
  • ADDITIONAL_API_URL: répétez le bloc interfaces pour chaque URL ou variante d'API Google supplémentaire requise par vos agents, par exemple https://cloudresourcemanager.googleapis.com, https://iamcredentials.googleapis.com, https://agentregistry.googleapis.com ou les variantes régionales et mTLS telles que https://telemetry.mtls.googleapis.com.

Étape suivante