연결 테스트는 create
, update
또는 delete
와 같이 실행중인 테스트 작업의 상태를 주기적으로 확인하도록 지원합니다. 테스트가 완료된 후에도 최종 테스트 결과를 검토할 수 있습니다.
콘솔
Google Cloud Console은 스피너 아이콘을 사용하여 실행중인 테스트를 표시합니다. 내부적으로 연결 테스트는 테스트 작업 상태를 지속적으로 폴링합니다. 테스트가 완료되면 결과 세부정보 패널에서 최종 결과를 확인할 수 있습니다.
Google Cloud 콘솔 페이지에 대한 자세한 내용은 연결 테스트 만들기 및 실행을 참조하세요.
gcloud
gcloud CLI를 사용하여 실행 중인 테스트 작업을 확인하려면 --async
옵션을 지정합니다. 이 옵션을 지정하지 않으면 최종 테스트 결과만 표시됩니다.
예를 들어
--async
옵션을 사용하여 다음 테스트를 만들면 즉시 작업 리소스 ID가 명령줄에 반환됩니다. 그리고 나서 다음describe
명령어에서 이 ID를 사용하여 테스트가 여전히 실행중인 동안 테스트 상태를 확인할 수 있습니다.gcloud network-management connectivity-tests create NAME \ --destination-project=DESTINATION_PROJECT \ --source-ip-address=SOURCE_IP_ADDRESS \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --protocol=PROTOCOL \ --source-project=SOURCE_PROJECT \ --async
다음 값을 바꿉니다.
NAME
: 연결 테스트 이름DESTINATION_PROJECT
: 대상 엔드포인트의 프로젝트 IDSOURCE_IP_ADDRESS
: 테스트를 시행하는 내부 또는 외부 소스 IP 주소. IPv6 주소는 테스트 대상이 전역 부하 분산기 VIP인 경우에만 허용됩니다.DESTINATION_IP_ADDRESS
: 테스트할 내부 또는 외부 소스 IP 주소. IPv6 주소는 테스트 대상이 전역 부하 분산기 VIP인 경우에만 허용됩니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜SOURCE_PROJECT
: 소스 엔드포인트의 프로젝트 ID
출력은 다음과 같습니다.
Create request issued for: [gcloud-example] Check operation [projects/reachability-e2e-test/locations/global/operations/operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13] for status
describe
명령어와 함께 작업 리소스 ID를 사용하여 테스트 상태를 확인합니다.gcloud network-management operations describe \ projects/SOURCE_PROJECT/locations/global/operations/OPERATION_RESOURCE_ID
다음 값을 바꿉니다.
SOURCE_PROJECT
: 소스 엔드포인트의 프로젝트 IDOPERATION_RESOURCE_ID
: 검사 중인 진행 작업의 리소스 ID(예:operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13
)
이전 명령어의 다음 샘플 출력에
done: false
가 나타납니다. 테스트가 완료되면 이 필드는done: true
로 변경됩니다.done: false metadata: '@type': type.googleapis.com/google.cloud.networkmanagement.v1.OperationMetadata apiVersion: v1 cancelRequested: false createTime: '2020-01-30T19:06:50.055838110Z' endTime: '2020-01-30T19:06:57.637200039Z' target: projects/reachability-e2e-test/locations/global/connectivityTests/gcloud-example verb: create name: projects/reachability-e2e-test/locations/global/operations/operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13 response: '@type': type.googleapis.com/google.cloud.networkmanagement.v1beta1.ConnectivityTest createTime: '2020-01-30T19:06:50.050012906Z' ... // Full resource metadata displayed here.
출력에
done: true
가 표시될 때까지 이전describe
명령어를 반복합니다.
API
Network Management API는 항상 async
모드입니다. API에 명령어를 발행하면 작업 ID가 즉시 수신됩니다. 이 ID를 사용하여 주기적으로 테스트 상태를 확인할 수 있습니다.
Python
Network Management API는 항상 async
모드입니다. API Python 클라이언트를 사용하여 요청을 실행하면 작업 ID가 즉시 수신됩니다.
이 ID를 사용하여 주기적으로 테스트 상태를 확인할 수 있습니다.
아래 예시를 참조하세요.
project_id = 'PROJECT_ID' operation_id = 'OPERATION_ID' request = api.projects().locations().global_().operations().get( name='projects/%s/locations/global/operations/%s' % (project_id, operation_id)) print(json.dumps(request.execute(), indent=4))
다음 값을 바꿉니다.
PROJECT_ID
: 테스트를 만든 프로젝트의 프로젝트 IDOPERATION_ID
: 검사 중인 진행 작업의 리소스 ID(예:operation-1580411210002-59d6028c56f71-85ef2899-54d8bc13
)