이 페이지에서는 Python SDK를 사용하여 샌드박스 환경의 수명 주기를 관리하는 방법을 보여줍니다. 기존 샌드박스를 나열하고, 세부정보를 보고, 일시중지 및 재개하거나, 더 이상 필요하지 않을 때 삭제할 수 있습니다.
시작하기 전에
샌드박스를 관리하려면 프로젝트에 다음 역할이 있어야 합니다.
- Agent Platform 사용자 (
roles/aiplatform.user)
샌드박스 관리하기
Agent Platform 인스턴스와 연결된 샌드박스 환경을 나열하고, 세부정보를 보고, 일시중지, 재개, 삭제할 수 있습니다. 일시중지 및 재개를 사용하면 유휴 샌드박스의 컴퓨팅 리소스 일정을 취소하고 파일 시스템 상태 또는 연결 ID를 잃지 않고 나중에 다시 온라인 상태로 전환할 수 있습니다. 기존 샌드박스의 구성을 변경하려면 삭제하고 새 구성을 만들어야 합니다.
샌드박스 나열
Agent Platform 인스턴스와 연결된 모든 샌드박스를 나열하려면 다음 안내를 따르세요.
import agentplatform
client = agentplatform.Client(project='PROJECT_ID', location='LOCATION')
instance_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID'
sandboxes = client.sandboxes.list(name=instance_name)
for sandbox in sandboxes:
print(sandbox.name)
다음을 바꿉니다.
PROJECT_ID: Google Cloud 프로젝트 ID입니다.LOCATION: Agent Platform 인스턴스의 Google Cloud 리전입니다. 지원되는 리전을 참조하세요.INSTANCE_ID: Agent Platform 인스턴스 ID입니다.
샌드박스 세부정보 보기
특정 샌드박스의 구성 및 상태를 보려면 다음 안내를 따르세요.
sandbox_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID/sandboxEnvironments/SANDBOX_ID'
sandbox = client.sandboxes.get(name=sandbox_name)
print(sandbox)
다음을 바꿉니다.
PROJECT_ID: Google Cloud 프로젝트 ID입니다.LOCATION: Agent Platform 인스턴스의 Google Cloud 리전입니다. 지원되는 리전을 참조하세요.INSTANCE_ID: 샌드박스가 포함된 Agent Platform 인스턴스 ID입니다.SANDBOX_ID: 기존 샌드박스 ID입니다.
출력에는 생성 시간, 상태 (예: STATE_RUNNING), 샌드박스 사양과 같은 세부정보가 포함됩니다.
샌드박스 일시중지
샌드박스를 일시중지하면 디스크 상태와 연결 메타데이터를 보존하면서 컴퓨팅 리소스가 해제됩니다. 일시중지된 샌드박스는 실행 중인 샌드박스보다 비용이 훨씬 적게 들고 몇 초 만에 재개할 수 있습니다. 샌드박스가 장기간 유휴 상태이지만 나중에 사용할 수 있도록 세션 상태와 연결 ID를 보존하려는 경우 일시중지를 사용합니다.
일시중지된 샌드박스:
- 샌드박스 ID, 연결 메타데이터, Private Service Connect 엔드포인트를 유지합니다.
- 일시중지 시점의 모든 컨테이너 내 파일 시스템 상태를 유지합니다.
STATE_PAUSED로 전환됩니다. 재개할 때까지 데이터 영역 엔드포인트에 대한 요청은 오류를 반환합니다.
import agentplatform
client = agentplatform.Client(project='PROJECT_ID', location='LOCATION')
sandbox_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID/sandboxEnvironments/SANDBOX_ID'
pause_operation = client.sandboxes.pause(
name=sandbox_name,
config={
"wait_for_completion": True, # Optional. Blocks until the sandbox reaches STATE_PAUSED.
},
)
paused_sandbox = pause_operation.response
print(f"Sandbox {paused_sandbox.name} state: {paused_sandbox.state}") # STATE_PAUSED
다음을 바꿉니다.
PROJECT_ID: Google Cloud 프로젝트 ID입니다.LOCATION: Agent Platform 인스턴스의 Google Cloud 리전입니다. 지원되는 리전을 참조하세요.INSTANCE_ID: 샌드박스가 포함된 Agent Platform 인스턴스 ID입니다.SANDBOX_ID: 기존 샌드박스 ID입니다.
샌드박스 재개
일시중지된 샌드박스를 재개하면 컴퓨팅이 다시 온라인 상태가 됩니다. 샌드박스는 일시중지 시점의 동일한 ID, 연결 엔드포인트 (Private Service Connect 서비스 연결 포함), 파일 시스템 상태를 유지합니다. 재개 작업이 완료되는 즉시 샌드박스에 데이터 영역 요청을 다시 할 수 있습니다.
sandbox_name = 'projects/PROJECT_ID/locations/LOCATION/reasoningEngines/INSTANCE_ID/sandboxEnvironments/SANDBOX_ID'
resume_operation = client.sandboxes.resume(
name=sandbox_name,
config={
"wait_for_completion": True, # Optional. Blocks until the sandbox reaches STATE_RUNNING.
},
)
resumed_sandbox = resume_operation.response
print(f"Sandbox {resumed_sandbox.name} state: {resumed_sandbox.state}") # STATE_RUNNING
다음을 바꿉니다.
PROJECT_ID: Google Cloud 프로젝트 ID입니다.LOCATION: Agent Platform 인스턴스의 Google Cloud 리전입니다. 지원되는 리전을 참조하세요.INSTANCE_ID: 샌드박스가 포함된 Agent Platform 인스턴스 ID입니다.SANDBOX_ID: 일시중지된 샌드박스 ID입니다.
샌드박스 삭제
샌드박스 환경을 명시적으로 삭제하고 리소스를 확보하려면 다음 안내를 따르세요.
client.sandboxes.delete(name=sandbox_name)
print("Sandbox deleted.")