El Registro de agentes te permite registrar de forma manual las URLs de destino, como las APIs de REST externas, como endpoints administrados para que puedas controlar de forma centralizada a qué destinos se puede conectar tu flota de agentes.
El registro de extremos no se admite en las ubicaciones multirregionales us y eu.
Debes usar una región admitida o la ubicación global. Para obtener más
información, consulta
Ubicaciones de Agent Registry.
Antes de comenzar
- Configura el Registro de agentes.
Obtén el ID del proyecto para el proyecto de administración en el que está habilitado el Registro de agentes.
Para usar los comandos de Google Cloud CLI en este documento, configura tu entorno de gcloud CLI.
Roles obligatorios
Para obtener los permisos que
necesitas para registrar extremos en el Registro de agentes,
pídele a tu administrador que te otorgue el rol de IAM
Editor de la API de Agent Registry (roles/agentregistry.editor) en el proyecto de administración
en el que está habilitado el Registro de agentes.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.
Registra un extremo
Debido a que los endpoints son destinos externos personalizados, usa el registro manual para agregarlos a Agent Registry:
Console
En la consola de Google Cloud , ve a Agent Registry:
En el selector de proyectos, elige el proyecto de Google Cloud en el que configuraste Agent Registry.
Selecciona la pestaña Extremos.
Haz clic en Agregar extremo.
En el panel Detalles del extremo, ingresa el nombre visible, una descripción, la región geográfica y la URL de destino.
De manera opcional, haz clic en Probar conexión en este panel para probar tu conexión a la URL de destino.
Haz clic en Guardar.
gcloud
Las marcas de especificación que usas determinan a qué colección de recursos pertenece tu componente. Para obtener una asignación completa de las marcas a las colecciones de recursos, consulta [Recursos de servicio y recursos de descubrimiento](/agent-registry/data-model#service-resources).
Para agregar tu extremo al Registro de agentes, crea un recurso Service con el comando
gcloud agent-registry services create
y la marca --endpoint-spec-type establecida en no-spec:
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
Reemplaza lo siguiente:
ENDPOINT_NAME: Es el nombre que deseas darle a tu extremo, por ejemplo,my-external-api. El nombre debe tener entre 4 y 63 caracteres, y solo puede contener letras minúsculas, números y guiones.PROJECT_ID: Es el ID del proyecto.REGION: Es la región del registro.DISPLAY_NAME: Es el nombre legible por humanos del extremo, por ejemplo,My External API.ENDPOINT_URL: Es la URL de destino, por ejemplo,https://api.example.com/v1/data.PROTOCOL: Es la vinculación de protocolo para la interfaz. Los valores válidos sonhttp-json,grpcojsonrpc.
Después de crear el recurso Service, Agent Registry genera automáticamente
un recurso Endpoint de solo lectura que los agentes y los organizadores pueden
descubrir y usar.
Terraform
El bloque de especificación que configures determina a qué colección de recursos pertenece tu componente. Para obtener una asignación completa de las especificaciones a las colecciones de recursos, consulta [Recursos de servicio y recursos de descubrimiento](/agent-registry/data-model#service-resources).
Para registrar un extremo externo, configura el
recurso google_agent_registry_service con el bloque 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
}
Reemplaza lo siguiente:
REGION: Es la región del registro.ENDPOINT_NAME: Es el nombre único que deseas asignarle al extremo, por ejemplo,my-external-api. El nombre debe tener entre 4 y 63 caracteres, y solo puede contener letras minúsculas, números y guiones.DISPLAY_NAME: Es el nombre legible por humanos del extremo, por ejemplo,My External API.ENDPOINT_URL: Es la URL de destino, por ejemplo,https://api.example.com/v1/data.PROTOCOL: Es la vinculación de protocolo para la interfaz. Los valores válidos sonHTTP_JSON,GRPCoJSONRPC.
Registra un endpoint de API compuesto de Google
En una arquitectura de varios proyectos, un proyecto de administración central aloja la infraestructura compartida, como el registro de agentes y la puerta de enlace de agentes, y los proyectos de Google Cloud independientes alojan las instancias de procesamiento de los agentes.
Cuando enrutas el tráfico del agente a través de
Agent Gateway
en modo de salida, el tráfico de red saliente se bloquea de forma predeterminada. Para permitir que los agentes de proyectos de Google Cloud independientes se comuniquen con las APIs deGoogle Cloud esenciales, puedes agrupar varias interfaces de API en un solo recurso deServicecompuesto en el proyecto de administración central.
Agrupar interfaces en un solo extremo simplifica la administración de políticas, ya que te permite administrar una sola vinculación de política de Identity-Aware Proxy (IAP) para todo el paquete de APIs principales de Google.
Sigue estos pasos para registrar un endpoint de API compuesto de Google:
gcloud
Registra el extremo con varias URLs de interfaz en el proyecto de administración central
con el comando
gcloud agent-registry services create:
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
Reemplaza lo siguiente:
SERVICE_NAME: Es el identificador del servicio, por ejemplo,core-gapi-services. El nombre debe tener entre 4 y 63 caracteres y solo puede contener letras minúsculas, números y guiones.CENTRAL_PROJECT_ID: Es el ID del proyecto de administración central que aloja Agent Registry y Agent Gateway.REGION: Es la región en la que residen la puerta de enlace y el registro.DISPLAY_NAME: Es el nombre legible por humanos, por ejemplo,Core Google APIs.DESCRIPTION: una descripción breve, por ejemplo,Essential Google APIs for agent operations.API_URL: Es la URL de la API de Google principal, comohttps://telemetry.googleapis.com.ADDITIONAL_API_URL: Repite la marca--interfacespara cada URL o variante adicional de la API de Google que requieran tus agentes, comohttps://cloudresourcemanager.googleapis.com,https://iamcredentials.googleapis.com,https://agentregistry.googleapis.como variantes regionales y de mTLS, comohttps://telemetry.mtls.googleapis.com.
Terraform
Para registrar el endpoint de API compuesto de las APIs de Google con Terraform, define el recurso google_agent_registry_service con varios bloques 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"
}
}
Reemplaza lo siguiente:
CENTRAL_PROJECT_ID: Es el ID del proyecto de administración central.REGION: Es la región del registro.SERVICE_NAME: Es el ID del servicio, por ejemplo,core-gapi-services. El nombre debe tener entre 4 y 63 caracteres, y solo puede contener letras minúsculas, números y guiones.DISPLAY_NAME: Es el nombre legible por humanos, por ejemplo,Core Google APIs.DESCRIPTION: Es la descripción del extremo.API_URL: Es la URL de la API de Google principal, comohttps://telemetry.googleapis.com.ADDITIONAL_API_URL: Repite el bloqueinterfacespara cada URL o variante adicional de la API de Google que requieran tus agentes, comohttps://cloudresourcemanager.googleapis.com,https://iamcredentials.googleapis.com,https://agentregistry.googleapis.como variantes regionales y de mTLS, comohttps://telemetry.mtls.googleapis.com.
¿Qué sigue?
- Obtén más información para administrar y descubrir extremos registrados.
- Obtén información para configurar las políticas de salida de Identity and Access Management (IAM) para los extremos registrados.