에이전트 레지스트리를 사용하면 에이전트가 유효한 대상 URL로 트래픽을 라우팅하도록 등록된 엔드포인트를 검색, 업데이트, 삭제할 수 있습니다. 프로젝트 전반에서 사용 가능한 엔드포인트를 검사하고, 인프라가 변경됨에 따라 연결 세부정보를 업데이트하고, 더 이상 사용되지 않는 엔드포인트를 삭제할 수 있습니다.
시작하기 전에
- Agent Registry 설정
단일 프로젝트 설정의 경우 Agent Registry가 사용 설정된 거버넌스 프로젝트의 프로젝트 ID를 가져옵니다. 여러 프로젝트에 관리 경계를 구성한 경우 경계 전체 검색 및 등록에 관리 프로젝트 ID를 사용하거나 단일 프로젝트 작업에 구성원 프로젝트 ID를 지정합니다.
에이전트 레지스트리에 엔드포인트를 등록합니다.
이 문서의 Google Cloud CLI 명령어를 사용하려면 gcloud CLI 환경을 설정합니다.
필요한 역할
Agent Registry에서 엔드포인트를 관리하는 데 필요한 권한을 얻으려면 관리자에게 Agent Registry가 사용 설정된 거버넌스 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
엔드포인트 검색:
Agent Registry API 뷰어 (
roles/agentregistry.viewer) -
엔드포인트 업데이트 및 삭제:
Agent Registry API 편집자 (
roles/agentregistry.editor)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
엔드포인트 검색
환경에 등록된 대상 URL 및 REST API를 탐색하려면 사용 가능한 Endpoint 리소스를 나열합니다.
모든 엔드포인트 나열
환경에 등록된 모든 엔드포인트를 나열합니다.
콘솔
Google Cloud 콘솔에서 에이전트 레지스트리로 이동합니다.
프로젝트 선택 도구에서 에이전트 레지스트리를 설정한 Google Cloud 프로젝트를 선택합니다.
엔드포인트 탭을 선택합니다.
이 페이지에는 등록된 모든 엔드포인트와 이름, 설명, 위치와 같은 세부정보가 표시됩니다.
엔드포인트의 전체 연결 세부정보를 보려면 엔드포인트 이름을 클릭합니다.
gcloud
특정 위치의 모든 엔드포인트를 나열하려면 gcloud agent-registry endpoints list 명령어를 실행합니다.
gcloud agent-registry endpoints list \
--project=PROJECT_ID \
--location=REGION
다음을 바꿉니다.
PROJECT_ID: 프로젝트 ID입니다.REGION: 레지스트리 리전입니다.
등록된 엔드포인트 필터링
엔드포인트가 여러 개인 경우 엔드포인트의 메타데이터로 목록을 필터링할 수 있습니다.
콘솔
Google Cloud 콘솔에서 에이전트 레지스트리로 이동합니다.
프로젝트 선택 도구에서 Agent Registry를 설정한 Google Cloud 프로젝트를 선택합니다.
엔드포인트 탭을 선택합니다.
이 페이지에는 등록된 모든 엔드포인트와 이름, 설명, 위치와 같은 세부정보가 표시됩니다.
위치별로 필터링하려면 위치 메뉴를 클릭하고 필터링할 위치를 선택한 후 적용을 클릭합니다.
페이지에 선택한 조건에 대해 등록된 엔드포인트의 필터링된 목록이 표시됩니다.
gcloud
--filter 플래그를 gcloud agent-registry endpoints list 명령어에 전달하여 특정 메타데이터와 일치하는 리소스만 반환하도록 목록을 필터링합니다.
gcloud agent-registry endpoints list \
--project=PROJECT_ID \
--location=REGION \
--filter="FILTER_EXPRESSION"
다음을 바꿉니다.
PROJECT_ID: 프로젝트 ID입니다.REGION: 레지스트리 리전입니다.FILTER_EXPRESSION: 필터링하려는 엔드포인트의 필터 표현식입니다. 예를 들어 표시 이름으로 필터링하려면displayName='DISPLAY_NAME'을 사용합니다. 전역 고유 엔드포인트 식별자(URN)로 필터링하려면endpointId='urn:endpoint:ENDPOINT_URN'를 사용합니다.
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).
엔드포인트에서 세부정보 보기
연결 세부정보 및 프로토콜 바인딩을 포함하여 특정 엔드포인트의 세부정보를 확인합니다.
콘솔
Google Cloud 콘솔에서 에이전트 레지스트리로 이동합니다.
프로젝트 선택 도구에서 Agent Registry를 설정한 Google Cloud 프로젝트를 선택합니다.
엔드포인트 탭을 선택합니다.
이 페이지에는 등록된 모든 엔드포인트와 이름, 설명, 위치와 같은 세부정보가 표시됩니다.
확인하려는 엔드포인트의 이름을 클릭합니다.
개요 페이지에는 도착 URL 및 프로토콜 바인딩을 포함한 엔드포인트의 이름, 설명, 위치, 연결 세부정보가 표시됩니다.
gcloud
gcloud agent-registry endpoints describe 명령어를 실행하여 전체 인터페이스 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이 변경되면 엔드포인트 인터페이스 세부정보를 업데이트할 수 있습니다.
Agent Registry에서 Endpoint 리소스는 읽기 전용 검색 리소스입니다.
따라서 등록된 엔드포인트를 업데이트하려면 쓰기 가능한 Service 리소스를 직접 업데이트해야 합니다.
엔드포인트를 업데이트하려면 다음 단계를 따르세요.
콘솔
Google Cloud 콘솔에서 에이전트 레지스트리로 이동합니다.
프로젝트 선택 도구에서 Agent Registry를 설정한 Google Cloud 프로젝트를 선택합니다.
엔드포인트 탭을 선택합니다.
이 페이지에는 등록된 모든 엔드포인트와 이름, 설명, 위치와 같은 세부정보가 표시됩니다.
업데이트하려는 엔드포인트의 이름을 클릭합니다.
개요 페이지에는 도착 URL 및 프로토콜 바인딩을 포함한 엔드포인트의 이름, 설명, 위치, 연결 세부정보가 표시됩니다.
수정을 클릭합니다.
서비스 수정 패널에서 표시 이름, 설명, 도착 URL과 같은 엔드포인트의 업데이트된 정보를 입력합니다. 이 패널에서 엔드포인트에 대한 연결을 테스트할 수 있습니다.
저장을 클릭합니다.
gcloud
--interfaces 플래그와 함께 gcloud agent-registry services update 명령어를 실행하여 새 대상 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:Service리소스가 생성된 프로젝트 ID입니다.REGION: 레지스트리 리전입니다.ENDPOINT_URL: 새 대상 URL입니다(예:https://new-api.example.com/v1/data).PROTOCOL: 인터페이스의 프로토콜 바인딩 유효한 값은http-json,grpc또는jsonrpc입니다.
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_JSON,GRPC또는JSONRPC입니다.
엔드포인트 삭제
레지스트리에서 엔드포인트를 삭제하려면 Service 리소스를 삭제해야 합니다. 이 작업을 수행하면 검색 결과에서 엔드포인트가 즉시 삭제됩니다.
레지스트리에서 엔드포인트를 삭제하려면 다음 단계를 따르세요.
콘솔
Google Cloud 콘솔에서 에이전트 레지스트리로 이동합니다.
프로젝트 선택 도구에서 Agent Registry를 설정한 Google Cloud 프로젝트를 선택합니다.
엔드포인트 탭을 선택합니다.
이 페이지에는 등록된 모든 엔드포인트와 이름, 설명, 위치와 같은 세부정보가 표시됩니다.
삭제할 엔드포인트의 이름을 클릭합니다.
개요 페이지에는 도착 URL 및 프로토콜 바인딩을 포함한 엔드포인트의 이름, 설명, 위치, 연결 세부정보가 표시됩니다.
삭제를 클릭합니다.
엔드포인트 삭제 창에서
DELETE를 입력하여 작업을 확인합니다.삭제를 클릭합니다.
gcloud
gcloud agent-registry services delete 명령어를 실행합니다.
gcloud agent-registry services delete ENDPOINT_NAME \
--project=PROJECT_ID \
--location=REGION
다음을 바꿉니다.
ENDPOINT_NAME: 삭제하려는 엔드포인트의 이름입니다(예:my-external-api).PROJECT_ID:Service리소스가 생성된 프로젝트 ID입니다.REGION: 레지스트리 리전입니다.
Terraform
Terraform 구성에서 엔드포인트를 나타내는 google_agent_registry_service 리소스를 삭제한 후 terraform apply를 실행합니다.