지원되지 않는 런타임에서 실행되거나 여러 프로젝트 Google Cloud 에 배포된 에이전트 또는 Google Cloud 외부 Google Cloud에서 호스팅되는 에이전트의 경우 Agent Registry에서 수동 등록이 필요합니다. 이 문서에서는 Agent Registry에서 에이전트를 수동으로 등록하는 방법을 보여줍니다.
시작하기 전에
시작하기 전에 Agent Registry를 설정하세요. 이러한 작업을 수행하려면 프로젝트 ID 가 필요합니다.
이 문서에서 Google Cloud CLI 명령어를 사용하려면 gcloud CLI 환경을 설정했는지 확인하세요.
필요한 역할
Agent Registry에서 에이전트를 수동으로 등록하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
Agent Registry에 에이전트를 등록하려면:
Agent Registry API 편집자 (
roles/agentregistry.editor) -
교차 프로젝트 등록의 경우 원격 프로젝트에서 에이전트 메타데이터에 액세스하려면:
Agent Registry API 뷰어 (
roles/agentregistry.viewer)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참고하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
에이전트의 엔드포인트 또는 에이전트 카드에 표준 공개 URL을 사용하여 액세스할 수 있거나 사전 구성된 사용자 인증 정보를 통해 인증되는 경우 추가 권한이 필요하지 않습니다.
A2A 호환 에이전트 등록
원격 에이전트가 Agent2Agent (A2A) 사양을 구현하는 경우
Agent Registry를 에이전트의 agent-card.json 페이로드로 안내합니다. 레지스트리는
에이전트 카드를
자동으로 동기화하고 검색을 위해
에이전트의 사용 가능한 A2A 기술을 색인 생성합니다.
다음 단계에 따라 에이전트를 등록합니다.
콘솔
Google Cloud 콘솔에서 Agent Registry로 이동합니다.
에이전트 탭을 선택합니다.
에이전트 추가 를 클릭합니다.
에이전트 세부정보 패널에서 다음 세부정보를 입력합니다.
- 유형: A2A 를 선택합니다.
- 리전: 에이전트를 등록할 지리적 위치를 선택합니다.
다음 옵션 중 하나를 선택합니다.
- 리소스 URI를 사용하여 에이전트를 등록하려면 URI에서 탭을 선택하고 URI 필드에 유효한 URL을 입력합니다. 그런 다음 가져오기 를 클릭하여 URL에서 에이전트 카드를 가져옵니다.
- 에이전트 카드 콘텐츠를 복사하여 붙여넣으려면 JSON 붙여넣기 탭을 선택하고
agent-card.json파일의 전체 콘텐츠를 붙여넣습니다.
저장 을 클릭합니다.
gcloud
A2A 에이전트를 등록하려면 에이전트의 에이전트 카드를 로컬 JSON 파일(예: agent-card.json)로 저장하고 다음을 실행합니다.
gcloud agent-registry services create AGENT_NAME \
--project=PROJECT_ID \
--location=REGION \
--display-name="DISPLAY_NAME" \
--agent-spec-type=a2a-agent-card \
--agent-spec-content=@agent-card.json
사양 파일의 최대 파일 크기는 10KB입니다.
다음을 바꿉니다.
AGENT_NAME: 에이전트에 지정할 이름(예:my-support-agent)PROJECT_ID: 프로젝트 IDREGION: 에이전트를 등록할 리전 특정 리전을 사용하지 않으려면global값을 사용합니다.DISPLAY_NAME: 에이전트에 지정할 사람이 읽을 수 있는 이름(예:Support Agent)
Terraform
A2A 호환 에이전트를 등록하려면 google_agent_registry_service 리소스를 구성합니다. A2A_AGENT_CARD 유형과 에이전트 카드 JSON 페이로드를 나타내는 content로 agent_spec 블록을 지정합니다.
resource "google_agent_registry_service" "a2a_agent" {
location = "REGION"
service_id = "AGENT_NAME"
display_name = "DISPLAY_NAME"
agent_spec {
type = "A2A_AGENT_CARD"
content = jsonencode({
schemaVersion = "v1"
displayName = "DISPLAY_NAME"
description = "A custom support agent registered using Terraform."
skills = [
{
name = "customer_lookup"
description = "Looks up customer info by email address."
}
]
})
}
}
output "agent_resource_name" {
description = "The generated read-only Agent resource name."
value = google_agent_registry_service.a2a_agent.registry_resource
}
다음을 바꿉니다.
REGION: 에이전트를 등록하는 리전AGENT_NAME: 에이전트에 지정할 고유한 이름(예:my-support-agent)DISPLAY_NAME: 에이전트에 지정할 사람이 읽을 수 있는 이름(예:Support Agent)
표준 REST 에이전트 등록
표준 REST 에이전트는 이름과 설명으로 검색할 수 있지만 A2A 프로토콜을 채택하지 않는 한 검색 가능한 A2A 기술이 없습니다.
표준 REST 또는 SaaS API 엔드포인트와 같이 A2A 사양을 구현하지 않는 원격 에이전트를 등록하려는 경우 Agent Registry API는 에이전트 프로토콜 사양 없이 Service 리소스를 만듭니다.
다음 단계에 따라 에이전트를 등록합니다.
콘솔
Google Cloud 콘솔에서 Agent Registry로 이동합니다.
에이전트 탭을 선택합니다.
에이전트 추가 를 클릭합니다.
에이전트 세부정보 패널에서 다음 세부정보를 입력합니다.
- 유형: 비 A2A를 선택합니다.
- 이름: 에이전트의 사람이 읽을 수 있는 표시 이름(예:
Travel Agent)을 입력합니다. - 설명: 에이전트 기능에 대한 설명(예:
A test agent that plans travel itineraries.)을 입력합니다. - 리전: 에이전트를 등록할 지리적 위치를 선택합니다.
- 엔드포인트: 에이전트가 호스팅되는 엔드포인트를 입력합니다.
저장 을 클릭합니다.
gcloud
선택적으로 정의된 HTTP/JSON 엔드포인트 인터페이스를 --interfaces 플래그와 함께 제공하여 레지스트리가 에이전트와 연결을 설정하도록 할 수 있습니다.
표준 REST 에이전트를 등록하려면 다음을 실행합니다.
gcloud agent-registry services create AGENT_NAME \
--project=PROJECT_ID \
--location=REGION \
--display-name="DISPLAY_NAME" \
--agent-spec-type=no-spec \
--interfaces=url=ENDPOINT_URL,protocolBinding=PROTOCOL
다음을 바꿉니다.
AGENT_NAME: 에이전트에 지정할 이름(예:my-remote-rest-agent)PROJECT_ID: 프로젝트 IDREGION: 등록처 리전DISPLAY_NAME: 에이전트에 지정할 사람이 읽을 수 있는 이름(예:Remote REST Agent)ENDPOINT_URL: 에이전트의 API 엔드포인트 URL(예:https://api.remote-service.com/v1/agents/1234)PROTOCOL: 엔드포인트의 프로토콜 바인딩 유효한 값은http-json,grpc또는jsonrpc입니다.
Terraform
표준 REST 에이전트를 등록하려면 agent_spec이 NO_SPEC 유형으로 설정된 google_agent_registry_service 리소스를 구성하고 엔드포인트 인터페이스 연결을 정의합니다.
resource "google_agent_registry_service" "rest_agent" {
location = "REGION"
service_id = "AGENT_NAME"
display_name = "DISPLAY_NAME"
description = "A standard REST agent registered using Terraform."
agent_spec {
type = "NO_SPEC"
}
interfaces {
url = "ENDPOINT_URL"
protocol_binding = "PROTOCOL"
}
}
output "agent_resource_name" {
description = "The generated read-only Agent resource name."
value = google_agent_registry_service.rest_agent.registry_resource
}
다음을 바꿉니다.
REGION: 에이전트를 등록하는 리전AGENT_NAME: 에이전트에 지정할 고유한 이름(예:my-remote-rest-agent)DISPLAY_NAME: 에이전트에 지정할 사람이 읽을 수 있는 이름(예:Remote REST Agent)ENDPOINT_URL: 에이전트의 API 엔드포인트 URL(예:https://api.remote-service.com/v1/agents/1234)PROTOCOL: 엔드포인트의 프로토콜 바인딩 유효한 값은HTTP_JSON,GRPC또는JSONRPC입니다.
다른 프로젝트에서 에이전트 등록
조직에서 여러 Google Cloud 프로젝트에 에이전트를 배포하고 중앙 Agent Gateway 를 사용하여 이그레스 트래픽을 관리하는 경우 스포크 또는 워크로드 프로젝트의 에이전트를 중앙 Agent Registry 카탈로그에 등록할 수 있습니다.
자동 등록은 동일한 프로젝트에서 생성된 리소스만 검색하므로 각 원격 에이전트를 중앙 거버넌스 프로젝트의 레지스트리에 수동으로 등록해야 합니다.
교차 프로젝트 등록 고려사항
프로젝트 간에 에이전트를 등록하기 전에 다음을 검토하세요.
- 호환되는 위치: Agent Registry 인스턴스, Agent Gateway, Agent Endpoint는 동일한 지리적 리전 또는
global위치에 있어야 합니다. - 자동 검색 제한: 자동 교차 프로젝트 검색은 지원되지 않음. 각 원격 에이전트를 수동으로 등록해야 합니다.
- 수명 주기 관리: Agent Registry의 수동 항목은 원격 프로젝트에서 변경이 발생할 때 자동으로 업데이트되거나 삭제되지 않습니다. 원격 에이전트가 수정되거나 삭제되면 중앙 레지스트리에서 이러한 항목의 수명 주기를 관리해야 합니다.
- 이그레스 모드만 해당: Agent Gateway를 사용한 교차 프로젝트 거버넌스는 에이전트-애니웨어(이그레스) 게이트웨이에서만 지원됩니다. 클라이언트-에이전트 인그레스 게이트웨이에는 에이전트와 게이트웨이가 동일한 프로젝트에 있어야 합니다.
원격 에이전트 등록
다른 프로젝트의 에이전트를 수동으로 등록하려면 다음 단계를 따르세요.
콘솔
콘솔 Google Cloud 에서 Agent Registry로 이동합니다.
프로젝트 선택 도구에서 에이전트를 등록할 중앙 거버넌스 Google Cloud 프로젝트를 선택합니다.
에이전트 탭을 선택합니다.
에이전트 추가 를 클릭합니다.
에이전트 세부정보 패널에서 다음 세부정보를 입력합니다.
- 유형: 원격 에이전트가 A2A 프로토콜을 구현하는 경우 A2A를 선택하고 표준 REST 엔드포인트의 경우 비 A2A를 선택합니다.
- 리전: 중앙 게이트웨이 및 원격 에이전트 배포와 일치하는 리전을 선택합니다.
에이전트 엔드포인트를 제공합니다.
- A2A 에이전트의 경우 URI에서 를 선택하고 원격 에이전트의 에이전트 카드 URL을 입력하거나 JSON 붙여넣기 를 선택하고
agent-card.json콘텐츠를 붙여넣습니다. - 비 A2A 에이전트의 경우 원격 에이전트의 엔드포인트 URL을 입력합니다.
- A2A 에이전트의 경우 URI에서 를 선택하고 원격 에이전트의 에이전트 카드 URL을 입력하거나 JSON 붙여넣기 를 선택하고
저장 을 클릭합니다.
gcloud
- A2A 에이전트: gcloud CLI를 사용하여 다른 프로젝트에서 A2A 에이전트를 등록하려면 중앙 거버넌스 프로젝트에서 다음 명령어를 실행합니다.
gcloud agent-registry services create AGENT_NAME \
--project=CENTRAL_PROJECT_ID \
--location=REGION \
--display-name="DISPLAY_NAME" \
--agent-spec-type=a2a-agent-card \
--agent-spec-content=@agent-card.json
- REST 에이전트: 다른 프로젝트에서 표준 REST 에이전트를 등록하려면 중앙 거버넌스 프로젝트에서 다음 명령어를 실행합니다.
gcloud agent-registry services create AGENT_NAME \
--project=CENTRAL_PROJECT_ID \
--location=REGION \
--display-name="DISPLAY_NAME" \
--agent-spec-type=no-spec \
--interfaces=url=REMOTE_ENDPOINT_URL,protocolBinding=PROTOCOL
다음을 바꿉니다.
AGENT_NAME: 중앙 레지스트리의 에이전트 이름(예:remote-support-agent)CENTRAL_PROJECT_ID: 중앙 거버넌스 프로젝트의 프로젝트 IDREGION: 에이전트를 등록하는 리전DISPLAY_NAME: 에이전트의 사람이 읽을 수 있는 이름(예:Remote Support Agent)REMOTE_ENDPOINT_URL: 원격 프로젝트에서 실행되는 에이전트의 엔드포인트 URL(예:https://<var>AGENT_SERVICE_NAME</var>-<var>HASH</var>.<var>REGION</var>.run.app)PROTOCOL: 엔드포인트의 프로토콜 바인딩 유효한 값은http-json,grpc또는jsonrpc입니다.
Terraform
Terraform을 사용하여 중앙 거버넌스 프로젝트에 원격 에이전트를 등록하려면 google_agent_registry_service 리소스를 구성하고 중앙 프로젝트를 지정합니다.
resource "google_agent_registry_service" "remote_agent" {
project = "CENTRAL_PROJECT_ID"
location = "REGION"
service_id = "AGENT_NAME"
display_name = "DISPLAY_NAME"
description = "Remote agent registered from project REMOTE_PROJECT_ID."
agent_spec {
type = "NO_SPEC"
}
interfaces {
url = "REMOTE_ENDPOINT_URL"
protocol_binding = "PROTOCOL"
}
}
output "agent_resource_name" {
description = "The generated read-only Agent resource name."
value = google_agent_registry_service.remote_agent.registry_resource
}
다음을 바꿉니다.
CENTRAL_PROJECT_ID: 중앙 거버넌스 프로젝트의 프로젝트 IDREGION: 에이전트를 등록하는 리전AGENT_NAME: 레지스트리의 에이전트 고유 이름(예:remote-support-agent)DISPLAY_NAME: 에이전트의 사람이 읽을 수 있는 이름(예:Remote Support Agent)REMOTE_PROJECT_ID: 에이전트가 호스팅되는 프로젝트의 프로젝트 IDREMOTE_ENDPOINT_URL: 원격 프로젝트에서 실행되는 에이전트의 엔드포인트 URLPROTOCOL: 엔드포인트의 프로토콜 바인딩 유효한 값은HTTP_JSON,GRPC또는JSONRPC입니다.
등록 확인
에이전트를 등록한 후 Agent Registry가 Service를 성공적으로 처리하고 해당 Agent 리소스를 만들었는지 확인합니다.
콘솔
콘솔 Google Cloud 에서 Agent Registry로 이동합니다.
에이전트 탭을 선택합니다.
페이지에 등록된 모든 에이전트와 세부정보 목록이 표시됩니다.
gcloud
gcloud agent-registry agents list \
--project=PROJECT_ID \
--location=REGION
에이전트가 여러 개 있거나 단일 에이전트의 등록을 확인하려면 에이전트의 메타데이터로 목록을 필터링할 수 있습니다.
gcloud agent-registry agents list \
--project=PROJECT_ID \
--location=REGION \
--filter="FILTER_EXPRESSION"
다음을 바꿉니다.
Terraform
google_agent_registry_agent 데이터 소스를 사용하여 다른 Terraform 구성에서 등록된 에이전트를 참조합니다.
data "google_agent_registry_agent" "my_agent" {
location = "REGION"
filter = "displayName=\"DISPLAY_NAME\""
}
output "agent_urn" {
value = data.google_agent_registry_agent.my_agent.urn
}
다음을 바꿉니다.
REGION: 등록처 리전DISPLAY_NAME: 에이전트의 사람이 읽을 수 있는 표시 이름
다음 단계
- 등록된 에이전트를 관리하는 방법을 알아봅니다.
- 관리형 런타임에 배포된 에이전트를 등록하는 데 권장되는 방법인 자동 등록에 대해 알아봅니다.