이 페이지의 단계에 따라 연결 테스트를 실행하는 방법을 알아보세요.
테스트를 1개 이상 수정하거나 삭제하려면 테스트 업데이트 또는 삭제를 참조하세요.
연결 테스트에 대한 자세한 내용은 개요를 참조하세요.
시작하기 전에
연결 테스트를 사용하려면 먼저 Google Cloud에서 다음 항목을 설정합니다.
Google Cloud Console에서 프로젝트 선택기 페이지로 이동합니다.
Google Cloud 프로젝트를 선택하거나 만듭니다.
- Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.
Google Cloud CLI에 포함된 Google Cloud CLI를 설치합니다. 최신 버전의 gcloud CLI를 설치하려면 gcloud CLI 문서를 참조하세요.
전체 명령어 목록은
gcloud
명령어 참조를 확인하세요.Network Management API를 사용 설정합니다. API를 사용 설정하면 다음이 제공됩니다.
Network Management API를 사용하는 API 호출 예시
API 탐색기를 사용하여 Network Management API 명령어를 테스트할 수 있습니다. Network Management API 참조 문서에서
Try this API
열을 사용하여 API 필드를 탐색하고 테스트를 실행합니다.API Python 클라이언트를 사용하는 샘플 코드
예시 코드에서는 Network Management API와 상호작용하기 위해
api
라는 리소스를 구성했다고 가정합니다. 리소스를 구성하려면build
함수를 사용합니다. 아래 예시를 참조하세요.from googleapiclient.discovery import build api = build('networkmanagement', 'v1')
API Python 클라이언트에 대한 자세한 내용은 다음을 참조하세요.
- GitHub의 Python용 Google API 클라이언트 라이브러리 문서에 설치 및 인증 안내가 포함되어 있습니다.
- API Python 클라이언트용 Network Management API 참조 문서
- 테스트를 실행하고 보는 데 필요한 권한을 얻습니다. 자세한 내용은 액세스 할당을 참조하세요.
연결 테스트 실행
연결 테스트를 실행할 때 테스트 입력을 소스 포트가 없는 5튜플로 제공합니다.
다음 섹션에서는 일반 사용 사례에 설명된 소스 및 대상 엔드포인트에 테스트를 실행하는 방법을 보여줍니다.
Google Cloud 콘솔에서 다음 중 하나를 사용하여 연결 테스트를 실행할 수 있습니다.
네트워킹 > Network Intelligence Center 메뉴에서 제공되는 연결 테스트 페이지
Compute Engine 가상 머신(VM) 인스턴스의 네트워크 인터페이스에 대한 네트워크 인터페이스 세부정보 페이지. 이 페이지를 사용하는 경우 현재 네트워크 인터페이스를 테스트의 소스 또는 대상으로 사용해야 합니다. 이 페이지에는 현재 네트워크 인터페이스와 관련된 테스트만 나와 있습니다.
생성한 각 테스트는 생성 직후에 실행되며 연결 테스트 리소스에 저장됩니다. 테스트는 삭제할 때까지 유지됩니다.
작업 실행 중에 테스트 작업 상태를 확인하려면 실행 중인 테스트 작업 확인을 참조하세요. 테스트 작업의 예시로는 create
및 rerun
이 있습니다.
소스 또는 대상 엔드포인트에 IP 주소를 사용하는 경우 추가 필드를 지정해야 할 수도 있습니다.
권장사항
공유 VPC 서비스 프로젝트에 있는 엔드포인트(VM 또는 IP 주소)를 테스트할 때 서비스 프로젝트에서 테스트를 실행하는 것이 더 편리합니다. Google Cloud 콘솔의 드롭다운 메뉴에서 VM 또는 IP 주소를 선택할 수 있기 때문입니다.
그러나 네트워크가 호스트 프로젝트에 있으므로 Virtual Private Cloud(VPC) 네트워크를 지정하기 전에 호스트 프로젝트를 지정해야 합니다. 자세한 내용은 공유 VPC 네트워크에서 IP 주소 테스트를 참조하세요.
VPC 네트워크와 피어 또는 온프레미스 네트워크 간에 테스트를 실행하는 경우 온프레미스 IP 주소를 소스로, VM 인스턴스나 VPC 네트워크의 IP 주소를 대상으로 사용하여 다른 연결 테스트를 실행할 수 있습니다.
이 유형의 테스트는 Google Cloud가 온프레미스 네트워크로 예상되는 경로를 공지하고 있는지 확인합니다. 그러나 연결 테스트에서는 온프레미스 네트워크가 이 경로를 수신하고 구현했는지 확인하지 않습니다.
연결 테스트가 구성 업데이트를 받고 분석에 통합하는 데 20~120초 걸립니다. 구성을 변경한 직후에 테스트를 실행하면 예상대로 결과가 표시되지 않을 수 있습니다. 구성 변경과 테스트 실행 사이에 충분한 시간을 기다리세요.
이 지연은 실시간 데이터 영역 분석에 적용되지 않습니다. 따라서 실시간 데이터 영역 분석과 구성 분석에서 표시되는 결과 사이에 일시적으로 불일치가 발생할 수 있습니다. 예를 들어 방화벽 규칙을 추가하면 실시간 데이터 영역 분석을 위해 방화벽에 연결할 수 있습니다. 하지만 구성 분석에 방화벽 규칙을 연결하기 전에 잠시 기다려야 할 수 있습니다.
여러 네트워크 인터페이스가 있는 VM에서 또는 VM으로 테스트
이 섹션에서는 VM의 기본이 아닌 네트워크 인터페이스에서 또는 이러한 인터페이스로 테스트하는 방법을 설명합니다.
콘솔
네트워크 인터페이스가 여러 개 있는 VM 인스턴스를 테스트의 소스 또는 대상으로 지정하면 연결 테스트에 목록에서 네트워크 인터페이스를 선택하라는 메시지가 표시됩니다.
또는 네트워크 인터페이스 세부정보 페이지에서 Compute Engine VM 인스턴스의 네트워크 인터페이스에 대해 테스트를 실행할 수 있습니다. 이 페이지를 사용하는 경우 현재 네트워크 인터페이스를 테스트의 소스 또는 대상으로 사용해야 합니다.
gcloud 및 API
다음 방법 중 하나를 사용하여 테스트에 사용할 네트워크 인터페이스를 지정해야 합니다.
- IP 주소 및 네트워크 URI
- IP 주소 및 VM URI
- 네트워크 URI 및 VM URI
여러 인터페이스가 있는 VM에 대한 URI만 제공하면 VM의 기본 인터페이스만 선택됩니다.
프로젝트의 모든 테스트 나열
콘솔
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 페이지 상단의 드롭다운 프로젝트 메뉴에서 프로젝트를 선택합니다.
- 연결 테스트 페이지가 새로 고쳐지고 프로젝트의 테스트가 표시됩니다.
gcloud
프로젝트가 소유한 모든 테스트를 나열하려면 다음 gcloud
명령어를 입력합니다.
이 명령어는 현재 선택된 프로젝트의 테스트를 보여줍니다.
gcloud network-management connectivity-tests list
특정 프로젝트의 테스트를 나열하려면 PROJECT_ID
를 지정합니다.
gcloud network-management connectivity-tests list --project=PROJECT_ID
API
프로젝트가 소유한 모든 기존 테스트를 나열하려면 projects.locations.global.connectivityTests.list
메서드를 사용합니다.
GET https://networkmanagement.googleapis.com/v1/{parent=projects/PROJECT_ID/locations/global}/connectivityTests
PROJECT_ID
를 나열할 테스트가 포함된 프로젝트의 프로젝트 ID로 바꿉니다.
Python
다음 예시 코드는 프로젝트가 소유한 모든 기존 테스트를 나열합니다. 자세한 내용은 Python용 Google API 클라이언트 라이브러리의 list
를 참조하세요.
project_id = "PROJECT_ID" parent = 'projects/%s/locations/global' % project_id request = api.projects().locations().global_().connectivityTests().list(parent=parent)
print(json.dumps(request.execute(), indent=4))
PROJECT_ID
를 나열할 테스트가 포함된 프로젝트의 프로젝트 ID로 바꿉니다.
VPC 네트워크의 VM 인스턴스 간 테스트
이 단계에서는 두 VM 인스턴스 모두 동일한 Google Cloud 프로젝트에 있다고 가정합니다.
콘솔
기본 연결 테스트 페이지:
-
Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름 필드에 테스트 이름을 입력합니다.
- 프로토콜 목록에서 프로토콜을 선택합니다.
-
소스에 대해 다음을 수행합니다.
- 소스 엔드포인트 메뉴에서 VM 인스턴스를 선택합니다.
- 소스 VM 인스턴스 메뉴에서 특정 소스 VM 인스턴스를 선택합니다.
소스 네트워크 인터페이스 메뉴에서 네트워크 인터페이스를 선택합니다.
VM 인스턴스에 여러 네트워크 인터페이스가 있는 경우 소스 위치를 고유하게 식별하는 VM 네트워크 인터페이스를 선택합니다.
- (선택사항) 목록에서 소스 IP 주소를 선택합니다. 기본값은 소스 VM 인스턴스의 IP 주소입니다.
-
대상에 대해 다음을 수행합니다.
- 대상 엔드포인트 메뉴에서 VM 인스턴스를 선택합니다.
- 대상 VM 인스턴스 메뉴에서 특정 대상 VM 인스턴스를 선택합니다.
목적지 네트워크 인터페이스 메뉴에서 네트워크 인터페이스를 선택합니다.
VM 인스턴스에 여러 네트워크 인터페이스가 있는 경우 대상 위치를 고유하게 식별하는 VM 네트워크 인터페이스를 선택합니다.
- (선택사항) 목록에서 대상 IP 주소를 선택합니다. 기본값은 대상 VM 인스턴스의 IP 주소입니다.
- 목적지 포트 필드에 목적지 포트를 입력합니다.
- 만들기를 클릭합니다.
참고: 이중 스택 인스턴스의 경우 소스 및 대상 IP 주소의 유형이 동일해야 합니다. 예를 들어 IPv4 주소가 있는 VM에서 IPv6 주소가 있는 VM으로는 테스트할 수 없습니다.
테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
네트워크 인터페이스 세부정보 페이지:
- Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
- 테스트를 실행할 인스턴스가 포함된 프로젝트를 선택하지 않았으면 선택합니다.
- 테스트를 실행하는 데 사용할 인스턴스를 클릭합니다.
네트워크 인터페이스에서 테스트를 실행하는 데 사용할 네트워크 인터페이스를 선택합니다.
VM 인스턴스에 여러 네트워크 인터페이스가 있는 경우 대상 위치를 고유하게 식별하는 VM 네트워크 인터페이스를 선택합니다.
네트워크 분석에서 연결 테스트 만들기를 클릭하고 다음을 수행합니다.
- 테스트 이름 필드에 테스트 이름을 입력합니다.
- 프로토콜 목록에서 프로토콜을 선택합니다.
소스에서 현재 네트워크 인터페이스 또는 기타를 선택할 수 있습니다.
현재 네트워크 인터페이스를 선택한 경우 다음을 수행합니다.
- 대상 엔드포인트 메뉴에서 VM 인스턴스를 선택합니다.
- 대상 VM 인스턴스 메뉴에서 인스턴스를 선택합니다.
- 목적지 네트워크 인터페이스 메뉴에서 네트워크 인터페이스를 선택합니다.
- (선택사항) 대상 IP 주소를 선택합니다. 기본값은 대상 VM 인스턴스의 IP 주소입니다.
기타를 선택한 경우 다음을 수행합니다.
- 소스 엔드포인트 메뉴에서 VM 인스턴스를 선택합니다.
- 소스 VM 인스턴스 메뉴에서 인스턴스를 선택합니다.
- 소스 네트워크 인터페이스 메뉴에서 네트워크 인터페이스를 선택합니다.
- (선택사항) 소스 IP 주소를 선택합니다. 기본값은 소스 VM 인스턴스의 IP 주소입니다.
목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
만들기를 클릭합니다.
테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
gcloud
샘플 값을 VPC 네트워크의 값으로 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-instance=SOURCE_INSTANCE \ --source-ip-address=SOURCE_IP_ADDRESS \ --destination-instance=DESTINATION_INSTANCE \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름SOURCE_INSTANCE
: 소스 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: 테스트할 소스 VM 인스턴스의 IP 주소. IP 주소는 소스 VM 인스턴스의 IP 주소 중 하나여야 합니다.DESTINATION_INSTANCE
: 대상 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: 테스트할 대상 VM 인스턴스의 IP 주소. IP 주소는 대상 VM 인스턴스의 IP 주소 중 하나여야 합니다.DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
Terraform
Terraform 리소스를 사용하여 VPC 네트워크의 두 VM 인스턴스 간에 테스트를 만들 수 있습니다.
API
다음 샘플 테스트는 기존 네트워크 구성에서 VM instance1
이 VM instance2
을 핑할 수 있는지 여부를 판단합니다.
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", }, "destination": { "instance": "DESTINATION_INSTANCE", "ipAddress": "DESTINATION_IP_ADDRESS", }, "protocol": "PROTOCOL", }'
다음을 바꿉니다.
PROJECT_ID
: 소스 VM의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDSOURCE_INSTANCE
: 소스 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: 테스트할 소스 VM 인스턴스의 IP 주소. IP 주소는 소스 VM 인스턴스의 IP 주소 중 하나여야 합니다.DESTINATION_INSTANCE
: 대상 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: 테스트할 대상 VM 인스턴스의 IP 주소. IP 주소는 대상 VM 인스턴스의 IP 주소 중 하나여야 합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
Python
다음 예시 코드는 두 VM 인스턴스 간에 테스트를 만듭니다. 자세한 내용은 Python용 Google API 클라이언트 라이브러리의 create
를 참조하세요.
test_input = { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_INSTANCE_PROJECT_ID" }, "destination": { "instance": "DESTINATION_INSTANCE", "ipAddress": "DESTINATION_IP_ADDRESS", "projectId": "DESTINATION_INSTANCE_PROJECT_ID" }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
다음을 바꿉니다.
SOURCE_INSTANCE
: 소스 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: 테스트할 소스 VM 인스턴스의 IP 주소. IP 주소는 소스 VM 인스턴스의 IP 주소 중 하나여야 합니다.SOURCE_INSTANCE_PROJECT_ID
: 소스 VM의 프로젝트 IDDESTINATION_INSTANCE
: 대상 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: 테스트할 대상 VM 인스턴스의 IP 주소. IP 주소는 대상 VM 인스턴스의 IP 주소 중 하나여야 합니다.DESTINATION_INSTANCE_PROJECT_ID
: 대상 VM의 프로젝트 IDPROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.PROJECT_ID
: 테스트를 만들려는 프로젝트의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 ID
VPC 네트워크에서 비공개 IP 주소 간 테스트
이 예시에서는 두 IP 주소가 동일한 Google Cloud 프로젝트 및 동일한 VPC 네트워크에 있는 비공개 IP 주소라고 가정합니다.
피어링 된 VPC 네트워크 간에 테스트하는 경우 각 피어의 소스 및 목적지 네트워크를 선택합니다.
콘솔
-
Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
나머지 단계는 Google Cloud 콘솔에 표시됩니다.
-
연결 테스트 만들기를 선택합니다.
- 테스트 이름 필드에 테스트 이름을 입력합니다.
- 프로토콜 목록에서 프로토콜을 선택합니다.
-
소스에 대해 다음을 수행합니다.
- 소스 엔드포인트 목록에서 IP 주소를 선택합니다.
- 소스 IP 주소 필드에 소스 IP 주소를 입력합니다.
-
소스 IP 주소의 VPC 네트워크가 현재 프로젝트에 있는 경우 Google Cloud에서 사용되는 IP 주소입니다 체크박스의 선택을 취소합니다.
VPC 네트워크가 다른 프로젝트에 있는 경우 소스 IP 주소 또는 서비스 프로젝트 필드에서 네트워크가 위치한 프로젝트를 선택합니다.
IP 주소가 RFC 1918 주소 공간을 벗어나는 경우 소스 엔드포인트가 RFC 1918 주소 공간을 벗어나는 범위에 있음을 확인합니다. 체크박스를 선택합니다. 그런 다음 소스 네트워크 목록에서 소스 IP 주소가 포함된 네트워크를 선택합니다.
-
대상에 대해 다음을 수행합니다.
- 대상 엔드포인트 목록에서 IP 주소를 선택합니다.
- 대상 IP 주소 필드에 대상 IP 주소를 입력합니다.
-
대상 IP 주소의 VPC 네트워크가 현재 프로젝트에 있는 경우 Google Cloud에서 사용되는 IP 주소입니다 체크박스의 선택을 취소합니다.
VPC 네트워크가 다른 프로젝트에 있는 경우 대상 IP 주소 또는 서비스 프로젝트 필드에서 네트워크가 위치한 프로젝트를 선택합니다.
IP 주소가 RFC 1918 주소 공간을 벗어나는 경우 대상 엔드포인트가 RFC 1918 주소 공간을 벗어나는 범위에 있음을 확인합니다. 체크박스를 선택합니다. 그런 다음 목적지 네트워크 목록에서 대상 IP 주소가 포함된 네트워크를 선택합니다.
- 목적지 포트 필드에 유효한 목적지 포트 번호를 입력합니다. 숫자는 0에서 65535 사이여야 합니다(0 및 65535 포함).
- 만들기를 클릭합니다.
테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
gcloud
명령어 옵션의 변수를 VPC 네트워크의 값으로 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-ip-address=SOURCE_IP_ADDRESS \ --source-network=SOURCE_NETWORK \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-network=DESTINATION_NETWORK \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름SOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_NETWORK
: 소스 IP 주소가 있는 VPC 네트워크의 URI(예:projects/myproject/global/networks/default
)DESTINATION_IP_ADDRESS
: 테스트할 내부 또는 외부 대상 IP 주소DESTINATION_NETWORK
: 대상 IP 주소가 있는 VPC 네트워크의 URI(예:projects/myproject/global/networks/network-a
)DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다. 기본값은 포트80
입니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
네트워크를 알 수 없거나 네트워크에 액세스할 수 있는 권한이 없는 경우 네트워크 URI를 제공하는 대신 네트워크를 GCP_NETWORK
로 지정할 수 있습니다.
IP 주소가 Google Cloud에 있는지, 소스 및 대상 엔드포인트가 RFC 1918 주소 공간 외부에 있는지 확인할 필요가 없습니다. 이 매개변수는 소스 및 대상 IP 주소를 기준으로 자동으로 선택됩니다.
gcloud network-management connectivity-tests create NAME \ --source-ip-address=SOURCE_IP_ADDRESS \ [--source-network-type=GCP_NETWORK] \ --destination-instance=DESTINATION_INSTANCE \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름SOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_NETWORK_TYPE
: 소스가 있는 네트워크의 유형. 이 경우에는GCP_NETWORK
값을 사용합니다.DESTINATION_INSTANCE
: 대상 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: 테스트할 내부 또는 외부 대상 IP 주소DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다. 기본값은 포트80
입니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
Google Cloud 외부의 외부 IP 주소인 소스 IP 주소를 지정할 때는 NON_GCP_NETWORK
의 networkType
을 지정해야 합니다. 다음 명령어의 값을 VPC 네트워크의 값으로 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-ip-address=SOURCE_IP_ADDRESS \ --source-network-type=NON_GCP_NETWORK \ --destination-ip-address= DESTINATION_IP_ADDRESS \ --destination-network=DESTINATION_NETWORK \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름SOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_NETWORK_TYPE
: 소스가 있는 네트워크의 유형. 이 경우에는NON_GCP_NETWORK
값을 사용합니다.DESTINATION_IP_ADDRESS
: 테스트할 내부 또는 외부 대상 IP 주소DESTINATION_NETWORK
: 대상 IP 주소가 있는 VPC 네트워크의 URI(예:projects/myproject/global/networks/default
)DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
Terraform
Terraform 리소스를 사용하여 VPC 네트워크의 두 IP 주소 간에 테스트를 만들 수 있습니다.
IP 주소가 Google Cloud에 있는지, 소스 및 대상 엔드포인트가 RFC 1918 주소 공간 외부에 있는지 확인할 필요가 없습니다. 이 매개변수는 소스 및 대상 IP 주소를 기준으로 자동으로 선택됩니다.
API
이 예시에서는 소스 IP 주소에서 대상 IP 주소로 핑하는 기능을 테스트합니다.
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
POST https://reachability.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "network": "SOURCE_NETWORK" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "network": "DESTINATION_NETWORK", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL". }'
다음을 바꿉니다.
PROJECT_ID
: 소스 VM의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDSOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_NETWORK
: 소스 IP 주소가 있는 VPC 네트워크의 URI(예:projects/myproject/global/networks/default
)DESTINATION_IP_ADDRESS
: 테스트할 내부 또는 외부 대상 IP 주소DESTINATION_NETWORK
: 대상 IP 주소가 있는 VPC 네트워크의 URI(예:projects/myproject/global/networks/network-a
)DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
VPC 네트워크를 알 수 없거나 네트워크에 액세스할 수 있는 권한이 없는 경우 네트워크 URI를 제공하는 대신 네트워크를 GCP_NETWORK
로 지정할 수 있습니다.
IP 주소가 Google Cloud에 있는지, 소스 및 대상 엔드포인트가 RFC 1918 주소 공간 외부에 있는지 확인할 필요가 없습니다. 이 매개변수는 소스 및 대상 IP 주소를 기준으로 자동으로 선택됩니다.
POST https://reachability.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?connectivityTestId=TEST_ID' { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "networkType": "GCP_NETWORK" }, "destination": { "instance": "DESTINATION_INSTANCE", "ipAddress": "DESTINATION_IP_ADDRESS" }, "protocol": "PROTOCOL" }'
다음을 바꿉니다.
PROJECT_ID
: 소스 VM의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDSOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_NETWORK_TYPE
: 소스가 있는 네트워크의 유형. 이 경우에는GCP_NETWORK
값을 사용합니다.DESTINATION_INSTANCE
: 대상 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: 테스트할 내부 또는 외부 대상 IP 주소PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
Google Cloud 외부의 외부 IP 주소인 소스 IP 주소를 지정할 때는 NON_GCP_NETWORK
의 networkType
을 지정해야 합니다. 다음 명령어의 값을 Google Cloud 네트워크의 값으로 바꿉니다.
POST https://reachability.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "networkType": "NON_GCP_NETWORK", }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "network": "DESTINATION_NETWORK", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", }'
Python
다음 예시 코드는 두 IP 주소 간에 테스트를 만듭니다. 자세한 내용은 Python용 Google API 클라이언트 라이브러리의 create
를 참조하세요.
test_input = { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_IP_PROJECT_ID" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", "projectId": "DESTINATION_IP_PROJECT_ID" }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
다음을 바꿉니다.
SOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_IP_PROJECT_ID
: 소스 IP 주소의 프로젝트 IDDESTINATION_IP_ADDRESS
: 테스트할 내부 또는 외부 대상 IP 주소DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.DESTINATION_IP_PROJECT_ID
: 대상 IP 주소의 프로젝트 IDPROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.PROJECT_ID
: 테스트를 만들려는 프로젝트의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 ID
VPC 네트워크를 알 수 없거나 네트워크에 액세스할 수 있는 권한이 없는 경우 네트워크 URI를 제공하는 대신 네트워크를 GCP_NETWORK
로 지정할 수 있습니다.
IP 주소가 Google Cloud에 있는지, 소스 및 대상 엔드포인트가 RFC 1918 주소 공간 외부에 있는지 확인할 필요가 없습니다. 이 매개변수는 소스 및 대상 IP 주소를 기준으로 자동으로 선택됩니다.
다음 예시는 두 IP 주소 간에 테스트를 만듭니다.
test_input = { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "networkType": "GCP_NETWORK" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", "projectId": "DESTINATION_IP_PROJECT_ID" }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
다음을 바꿉니다.
SOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_NETWORK_TYPE
: 소스가 있는 네트워크의 유형. 이 경우에는GCP_NETWORK
값을 사용합니다.DESTINATION_IP_ADDRESS
: 대상 VM의 IP 주소DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.DESTINATION_IP_PROJECT_ID
: 대상 IP 주소의 프로젝트 IDPROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.PROJECT_ID
: 테스트를 만들려는 프로젝트의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 ID
Google Cloud 외부의 외부 IP 주소인 소스 IP 주소를 지정할 때는 NON_GCP_NETWORK
의 networkType
을 지정해야 합니다.
공유 VPC 네트워크에서 IP 주소 테스트
공유 VPC 네트워크가 있는 경우 호스트 프로젝트 또는 서비스 프로젝트에서 테스트를 만들고 실행할 수 있습니다.
다음 예시에서는 두 사례를 보여주고 서비스 프로젝트에 할당된 대상 IP 주소를 사용합니다. Google Cloud 콘솔의 필드 값은 사례마다 약간 다릅니다. 그러나 Google Cloud CLI 및 API 호출의 명령어 옵션은 동일합니다.
콘솔: 호스트에서
- 호스트 프로젝트의 Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름 필드에 테스트 이름을 입력합니다.
- 프로토콜 목록에서 프로토콜을 선택합니다.
- 소스에 대해 다음을 수행합니다.
- 소스 엔드포인트 메뉴에서 IP 주소를 선택합니다.
- 소스 IP 주소를 입력하세요.
- Google Cloud에서 사용되는 IP 주소입니다 체크박스를 선택합니다.
- 인터넷에서 액세스 할 수 없는 내부 IP 주소인 경우 주소가 있는 VPC 네트워크를 선택합니다.
- 비공개 IP 주소가 RFC 1918 주소 공간을 벗어나는 경우 소스 엔드포인트가 RFC 1918 주소 공간을 벗어나는 범위에 있음을 확인을 선택하고 IP 주소가 포함된 목적지 네트워크를 선택합니다.
- 대상에 대해 다음을 수행합니다.
- 대상 엔드포인트 메뉴에서 IP 주소를 선택합니다.
- 대상 IP 주소를 입력하세요.
- Google Cloud에서 사용되는 IP 주소입니다 체크박스를 선택합니다.
- 인터넷에서 액세스 할 수 없는 내부 IP 주소인 경우 주소가 있는 VPC 네트워크를 선택합니다.
- 비공개 IP 주소가 RFC 1918 주소 공간을 벗어나는 경우 소스 엔드포인트가 RFC 1918 주소 공간을 벗어나는 범위에 있음을 확인을 선택하고 IP 주소가 포함된 목적지 네트워크를 선택합니다.
- 목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
- 만들기를 클릭합니다.
- 테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
콘솔: 서비스에서
- 서비스 프로젝트의 Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름 필드에 테스트 이름을 입력합니다.
- 프로토콜 목록에서 프로토콜을 선택합니다.
- 소스에 대해 다음을 수행합니다.
- 소스 엔드포인트 메뉴에서 IP 주소를 선택합니다.
- 소스 IP 주소를 입력합니다.
- Google Cloud에서 사용되는 IP 주소입니다 체크박스를 선택합니다.
- 인터넷에서 액세스 할 수 없는 내부 IP 주소인 경우 주소가 있는 VPC 네트워크를 선택합니다.
- 대상에 대해 다음을 수행합니다.
- 대상 엔드포인트 메뉴에서 IP 주소를 선택합니다.
- 대상 IP 주소를 입력합니다.
- Google Cloud에서 사용되는 IP 주소입니다 체크박스를 선택합니다.
- IP 주소가 있는 대상 IP 주소 또는 서비스 프로젝트를 지정합니다.
- 비공개 IP 주소가 RFC 1918 주소 공간을 벗어나는 경우 소스 엔드포인트가 RFC 1918 주소 공간을 벗어나는 범위에 있음을 확인 체크박스를 선택하고 IP 주소가 포함된 목적지 네트워크를 선택합니다.
- 목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
- 만들기를 클릭합니다.
- 테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
gcloud
다음 명령어를 입력하여 호스트 프로젝트와 대상 IP 주소가 있는 서비스 프로젝트에 있는 두 개의 비공개 IP 주소 사이를 테스트합니다. 명령어 옵션의 변수를 VPC 네트워크의 값으로 바꿉니다.
대상 IP 주소는 서비스 프로젝트에 있으므로 서비스 프로젝트 및 호스트 프로젝트의 네트워크 URI를 지정합니다. 이 경우 default
는 host-project
의 기본 VPC 네트워크를 나타냅니다.
gcloud network-management connectivity-tests create NAME \ --source-ip-address=SOURCE_IP_ADDRESS \ --source-project=SOURCE_PROJECT \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-network=DESTINATION_NETWORK \ --destination-project=DESTINATION_PROJECT \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름SOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_PROJECT
: 소스 엔드포인트의 프로젝트 IDDESTINATION_IP_ADDRESS
: 서비스 프로젝트에서 테스트할 내부 또는 외부 대상 IP 주소DESTINATION_NETWORK
: 호스트 프로젝트의 VPC 네트워크 URI(예:projects/host-project/global/networks/default
)DESTINATION_PROJECT
: 대상 엔드포인트의 프로젝트 ID(예: 이 공유 VPC 네트워크에 사용되는 서비스 프로젝트를 나타내는service-project
라는 프로젝트)DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
API
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_PROJECT", }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "projectId": "DESTINATION_PROJECT", "network": "DESTINATION_NETWORK", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", }'
다음을 바꿉니다.
PROJECT_ID
: 소스 VM의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDSOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_PROJECT
: 소스 엔드포인트의 프로젝트 IDDESTINATION_IP_ADDRESS
: 서비스 프로젝트에서 테스트할 내부 또는 외부 대상 IP 주소DESTINATION_PROJECT
: 대상 엔드포인트의 프로젝트 ID(예: 이 공유 VPC 네트워크에 사용되는 서비스 프로젝트를 나타내는service-project
라는 프로젝트)DESTINATION_NETWORK
: 호스트 프로젝트의 VPC 네트워크 URI(예:projects/host-project/global/networks/default
)DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
Python
다음 예시 코드는 두 IP 주소 간에 테스트를 만듭니다. 자세한 내용은 Python용 Google API 클라이언트 라이브러리의 create
를 참조하세요.
test_input = { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_IP_PROJECT_ID" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "projectId": "DESTINATION_IP_PROJECT_ID", "network": "DESTINATION_NETWORK", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
다음을 바꿉니다.
SOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_IP_PROJECT_ID
: 소스 엔드포인트의 프로젝트 IDDESTINATION_IP_ADDRESS
: 서비스 프로젝트에서 테스트할 내부 또는 외부 대상 IP 주소DESTINATION_IP_PROJECT_ID
: 대상 엔드포인트의 프로젝트 ID(예: 이 공유 VPC 네트워크에 사용되는 서비스 프로젝트를 나타내는service-project
라는 프로젝트)DESTINATION_NETWORK
: 호스트 프로젝트의 VPC 네트워크 URI(예:projects/host-project/global/networks/default
)DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.PROJECT_ID
: 테스트를 만들려는 프로젝트의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 ID
VM에서 Google 관리형 서비스로 테스트
이 섹션에서는 VPC 네트워크의 VM에서 Google 소유 VPC 네트워크에서 실행되는 서비스로 테스트하는 방법을 설명합니다. 예를 들어 이 섹션의 단계를 따라 Cloud SQL 인스턴스 또는 GKE 클러스터 컨트롤 플레인)에 대한 연결을 테스트할 수 있습니다. Google 관리형 서비스 엔드포인트를 소스로, VPC 네트워크의 엔드포인트를 대상으로 사용하여 테스트를 실행할 수도 있습니다.
기본적으로 연결 테스트는 Google 관리형 서비스 엔드포인트의 비공개 IP 주소를 사용하여 테스트 실행을 시도합니다. 엔드포인트에 비공개 IP 주소가 없으면 연결 테스트는 공개 IP 주소를 사용합니다. 연결 테스트는 패킷이 엔드포인트에 도달할 수 있는지 여부를 분석합니다. 여기에는 Google 소유 VPC 네트워크 내의 구성 분석이 포함됩니다. 프로젝트에서 구성 문제가 감지되면 Google 소유 네트워크 구성을 분석하기 전에 분석이 중지됩니다.
VM에서 Google 관리형 서비스로 테스트하려면 다음 안내를 참조하세요.
콘솔
기본 연결 테스트 페이지:
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름 필드에 테스트 이름을 입력합니다.
- 프로토콜 목록에서 프로토콜을 선택합니다.
소스에 대해 다음을 수행합니다.
- 소스 엔드포인트 메뉴에서 VM 인스턴스를 선택합니다.
- 소스 VM 인스턴스 메뉴에서 특정 소스 VM 인스턴스를 선택합니다.
소스 네트워크 인터페이스 메뉴에서 네트워크 인터페이스를 선택합니다.
VM 인스턴스에 여러 네트워크 인터페이스가 있는 경우 소스 위치를 고유하게 식별하는 VM 네트워크 인터페이스를 선택합니다.
(선택사항) 목록에서 소스 IP 주소를 선택합니다. 기본값은 소스 VM 인스턴스의 IP 주소입니다.
대상에 대해 다음을 수행합니다.
- 대상 엔드포인트 메뉴에서 GKE 클러스터 컨트롤 플레인과 같은 Google 관리형 서비스 리소스의 유형을 선택합니다.
- 대상 GKE 클러스터 컨트롤 플레인 메뉴에서 GKE 컨트롤 플레인에 대한 연결을 테스트할 클러스터를 선택합니다.
- (선택사항) 목록에서 대상 GKE 클러스터 컨트롤 플레인 IP 주소를 선택합니다. 기본값은 소스 VM 인스턴스의 IP 주소입니다.
목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
만들기를 클릭합니다.
테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
네트워크 인터페이스 세부정보 페이지:
- Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
- 테스트를 실행할 인스턴스가 포함된 프로젝트를 선택하지 않았으면 선택합니다.
- 테스트를 실행하는 데 사용할 인스턴스를 클릭합니다.
- 네트워크 인터페이스에서 테스트를 실행하는 데 사용할 네트워크 인터페이스를 선택합니다.
- 네트워크 분석에서 연결 테스트 만들기를 클릭합니다.
- 테스트 이름 필드에 테스트 이름을 입력합니다.
- 프로토콜 목록에서 프로토콜을 선택합니다.
- 소스에서 현재 네트워크 인터페이스를 선택합니다.
- 대상에 대해 다음을 수행합니다.
- 대상 엔드포인트 메뉴에서 GKE 클러스터 컨트롤 플레인과 같은 Google 관리형 서비스 리소스의 유형을 선택합니다.
- 대상 GKE 클러스터 컨트롤 플레인 메뉴에서 GKE 컨트롤 플레인에 대한 연결을 테스트할 클러스터를 선택합니다.
- (선택사항) 목록에서 대상 GKE 클러스터 컨트롤 플레인 IP 주소를 선택합니다. 기본값은 소스 VM 인스턴스의 IP 주소입니다.
- 목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
- 만들기를 클릭합니다.
- 테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
gcloud
다음 안내에 따라 명령어 옵션의 변수를 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-instance=SOURCE_INSTANCE \ --source-ip-address=SOURCE_IP_ADDRESS \ DESTINATION_RESOURCE_FLAG=DESTINATION_ENDPOINT \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름SOURCE_INSTANCE
: 소스 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: 테스트할 소스 VM 인스턴스의 IP 주소. IP 주소는 소스 VM 인스턴스의 IP 주소 중 하나여야 합니다.DESTINATION_RESOURCE_FLAG
: Google 관리형 서비스 리소스 유형을 지정하는 플래그사용 가능한 옵션은 다음을 참조하세요.
--destination-gke-master-cluster
--destination-cloud-sql-instance
자세한 내용은
gcloud network-management connectivity-tests create
참조를 확인하세요.DESTINATION_ENDPOINT
: 대상 엔드포인트의 URI(예:--destination-gke-master-cluster
플래그인 경우projects/myproject/locations/us-central1/clusters/cluster-1
)DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
API
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", }, "destination": { "DESTINATION_RESOURCE_FIELD": "DESTINATION_ENDPOINT", "port": DESTINATION_PORT }, "protocol": "PROTOCOL", }'
다음을 바꿉니다.
PROJECT_ID
: 소스 VM의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDSOURCE_INSTANCE
: 소스 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: 테스트할 소스 VM 인스턴스의 IP 주소. IP 주소는 소스 VM 인스턴스의 IP 주소 중 하나여야 합니다.DESTINATION_RESOURCE_FIELD
: Google 관리형 서비스 리소스 유형을 지정하는 필드사용 가능한 옵션은 다음을 참조하세요.
gkeMasterCluster
cloudSqlInstance
자세한 내용은 엔드포인트 참조를 확인하세요.
DESTINATION_ENDPOINT
: 대상 엔드포인트의 URI(예:gkeMasterCluster
필드인 경우projects/myproject/locations/us-central1/clusters/cluster-1
)DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
Python
다음 예시 코드는 VM 인스턴스와 Google 관리형 서비스 엔드포인트 간에 테스트를 만듭니다. 자세한 내용은 Python용 Google API 클라이언트 라이브러리의 create
를 참조하세요.
test_input = { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_INSTANCE_PROJECT_ID" }, "destination": { "DESTINATION_RESOURCE_FIELD": "DESTINATION_ENDPOINT", "port": "DESTINATION_PORT" }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
다음을 바꿉니다.
SOURCE_INSTANCE
: 소스 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: 테스트할 소스 VM 인스턴스의 IP 주소. IP 주소는 소스 VM 인스턴스의 IP 주소 중 하나여야 합니다.SOURCE_INSTANCE_PROJECT_ID
: 소스 VM의 프로젝트 IDDESTINATION_RESOURCE_FIELD
: Google 관리형 서비스 리소스 유형을 지정하는 필드사용 가능한 옵션은 다음을 참조하세요.
gkeMasterCluster
cloudSqlInstance
자세한 내용은 엔드포인트 참조를 확인하세요.
DESTINATION_ENDPOINT
: 대상 엔드포인트의 URI(예:gkeMasterCluster
필드인 경우projects/myproject/locations/us-central1/clusters/cluster-1
)DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.PROJECT_ID
: 테스트를 만들려는 프로젝트의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 ID
VM에서 Private Service Connect 엔드포인트로의 테스트
이 섹션에서는 VM에서 Private Service Connect 엔드포인트로의 연결을 테스트하는 방법을 설명합니다.
예를 들어 이 섹션의 단계를 따라 Private Service Connect를 사용하는 게시된 서비스로 패킷을 전송할 수 있는지 테스트할 수 있습니다. 연결 테스트는 패킷이 엔드포인트에 도달할 수 있는지 여부를 분석합니다. 여기에는 연결된 엔드포인트, 게시된 서비스, 프록시 연결이 분석됩니다. Private Service Connect를 사용하는 게시된 서비스에 대한 연결이 허용되지 않으면 분석이 조기 종료됩니다.
다음에 대한 연결을 테스트할 수 있습니다.
콘솔
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름 필드에 테스트 이름을 입력합니다.
- 프로토콜 목록에서 프로토콜을 선택합니다.
소스에 대해 다음을 수행합니다.
- 소스 엔드포인트 메뉴에서 VM 인스턴스를 선택합니다.
- 소스 VM 인스턴스 메뉴에서 특정 소스 VM 인스턴스를 선택합니다.
소스 네트워크 인터페이스 메뉴에서 네트워크 인터페이스를 선택합니다.
VM 인스턴스에 여러 네트워크 인터페이스가 있는 경우 소스 위치를 고유하게 식별하는 VM 네트워크 인터페이스를 선택합니다.
(선택사항) 목록에서 소스 IP 주소를 선택합니다. 기본값은 소스 VM 인스턴스의 IP 주소입니다.
대상에 대해 다음을 수행합니다.
- 대상 엔드포인트 메뉴에서 PSC 엔드포인트를 선택합니다.
대상 PSC 엔드포인트 메뉴에서 PSC 엔드포인트를 선택합니다.
대상 엔드포인트가 현재 프로젝트 이외의 다른 프로젝트에 있는 경우 엔드포인트가 '
PROJECT_NAME
' 이외의 프로젝트에 있습니다를 선택합니다. 그런 다음 대상 엔드포인트 프로젝트 필드에서 엔드포인트가 위치한 프로젝트를 선택합니다.
목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
만들기를 클릭합니다.
테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
gcloud
gcloud network-management connectivity-tests create
명령어를 사용합니다.
샘플 값을 VPC 네트워크의 값으로 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-instance=SOURCE_INSTANCE \ --source-ip-address=SOURCE_IP_ADDRESS \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-network=DESTINATION_NETWORK \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름SOURCE_INSTANCE
: 소스 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: 테스트할 소스 VM 인스턴스의 IP 주소. IP 주소는 소스 VM 인스턴스의 IP 주소 중 하나여야 합니다.DESTINATION_IP_ADDRESS
: 테스트할 엔드포인트 또는 백엔드의 IP 주소DESTINATION_NETWORK
: 대상 IP 주소가 있는 VPC 네트워크의 URI(예:projects/myproject/global/networks/default
)PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
엔드포인트 또는 백엔드가 게시된 서비스에 액세스하는 데 사용되는 경우 엔드포인트 또는 백엔드에 내부 IP 주소가 포함되므로 DESTINATION_NETWORK를 지정해야 합니다.
API
다음 샘플 테스트는 기존 네트워크 구성에서 VM instance1
이 Private Service Connect 엔드포인트의 IP 주소를 핑할 수 있는지 여부를 판단합니다.
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", }, "destination": { "forwardingRule": "DESTINATION_FORWARDING_RULE", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", }'
다음을 바꿉니다.
PROJECT_ID
: 소스 VM의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDSOURCE_INSTANCE
: 소스 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: 테스트할 소스 VM 인스턴스의 IP 주소. IP 주소는 소스 VM 인스턴스의 IP 주소 중 하나여야 합니다.DESTINATION_IP_ADDRESS
: 테스트할 엔드포인트 또는 백엔드의 IP 주소DESTINATION_NETWORK
: 대상 IP 주소가 있는 VPC 네트워크의 URI(예:projects/myproject/global/networks/default
)DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
엔드포인트 또는 백엔드가 게시된 서비스에 액세스하는 데 사용되는 경우 엔드포인트 또는 백엔드에 내부 IP 주소가 포함되므로 DESTINATION_NETWORK를 지정해야 합니다.
Python
다음 예시 코드는 VM 인스턴스와 Private Service Connect 엔드포인트 간에 테스트를 만듭니다. 자세한 내용은 Python용 Google API 클라이언트 라이브러리의 create
를 참조하세요.
test_input = { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_INSTANCE_PROJECT_ID" }, "destination": { "forwardingRule": "DESTINATION_FORWARDING_RULE", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
다음을 바꿉니다.
SOURCE_INSTANCE
: 소스 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: 테스트할 소스 VM 인스턴스의 IP 주소. IP 주소는 소스 VM 인스턴스의 IP 주소 중 하나여야 합니다.SOURCE_INSTANCE_PROJECT_ID
: 소스 VM의 프로젝트 IDDESTINATION_IP_ADDRESS
: 테스트할 엔드포인트 또는 백엔드의 IP 주소DESTINATION_NETWORK
: 대상 IP 주소가 있는 VPC 네트워크의 URI(예:projects/myproject/global/networks/default
)DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.PROJECT_ID
: 테스트를 만들려는 프로젝트의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 ID
엔드포인트 또는 백엔드가 게시된 서비스에 액세스하는 데 사용되는 경우 엔드포인트 또는 백엔드에 내부 IP 주소가 포함되므로 DESTINATION_NETWORK
를 지정해야 합니다.
App Engine 표준 환경 버전에서 대상으로의 테스트
이 섹션에서는 App Engine 표준 환경 버전에서 VM 인스턴스, IP 주소 또는 Google 관리형 서비스로의 연결을 테스트하는 방법을 설명합니다.
App Engine 표준 환경 앱은 하나 이상의 서비스로 구성된 단일 애플리케이션 리소스로 이루어져 있습니다. 각 서비스 내에 해당 서비스의 여러 버전을 배포할 수 있습니다. App Engine 표준 환경 서비스의 버전에서 VM 인스턴스, IP 주소 또는 Google 관리형 서비스로의 연결 가능성을 테스트할 수 있습니다.
자세한 구성 분석을 보려면 서버리스 VPC 액세스 커넥터를 사용하도록 서비스를 구성해야 합니다. 연결 테스트 결과는 서비스 버전마다 다를 수 있습니다. UDP 또는 TCP 프로토콜을 사용하는 테스트 패킷의 연결 가능성만 테스트할 수 있습니다.
App Engine 표준 환경 서비스의 버전에서 VM 인스턴스로의 연결 테스트
콘솔
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름을 입력합니다.
- 프로토콜을 선택합니다.
- 소스 엔드포인트 메뉴에서 App Engine을 선택합니다.
- App Engine 서비스 메뉴에서 연결을 테스트할 특정 App Engine 표준 환경 서비스를 선택합니다. 예를 들어
helloworld-service
을 선택합니다.- 소스 엔드포인트가 현재 프로젝트가 아닌 프로젝트에 있는 경우 엔드포인트가 '
PROJECT_NAME
' 이외의 프로젝트에 있습니다 체크박스를 선택합니다. - 엔드포인트가 있는 프로젝트를 선택합니다.
- 소스 엔드포인트가 현재 프로젝트가 아닌 프로젝트에 있는 경우 엔드포인트가 '
- App Engine 버전 메뉴에서 연결을 테스트할 App Engine 표준 환경 서비스의 버전을 선택합니다.
- App Engine 서비스 메뉴에서 연결을 테스트할 특정 App Engine 표준 환경 서비스를 선택합니다. 예를 들어
대상에 대해 목록에서 대상 VM 인스턴스를 선택합니다.
VM 인스턴스에 여러 네트워크 인터페이스가 있는 경우 대상 위치를 고유하게 식별하는 VM 네트워크 인터페이스를 선택합니다.
(선택사항) 목록에서 대상 IP 주소를 선택합니다. 기본값은 대상 VM 인스턴스의 IP 주소입니다.
목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
만들기를 클릭합니다.
테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
gcloud
gcloud network-management connectivity-tests create
명령어를 사용합니다.
샘플 값을 VPC 네트워크의 값으로 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-app-engine-version=APP_ENGINE_VERSION \ --destination-instance=DESTINATION_INSTANCE \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름APP_ENGINE_VERSION
: 소스 App Engine 표준 환경 버전의 URI(예:apps/myproject/services/service-name/versions/version-name
)DESTINATION_INSTANCE
: 대상 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: 테스트할 대상 VM 인스턴스의 IP 주소. IP 주소는 대상 VM 인스턴스의 IP 주소 중 하나여야 합니다.PROTOCOL
: 서버리스 VPC 액세스 커넥터에서 지원하는 네트워킹 프로토콜(TCP
또는UDP
)
API
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "appEngineVersion": { "uri": "APP_ENGINE_VERSION", }, }, "destination": { "instance": "DESTINATION_INSTANCE", "ipAddress": "DESTINATION_IP_ADDRESS", }, "protocol": "PROTOCOL", }'
다음을 바꿉니다.
PROJECT_ID
: 소스 Cloud Run 함수의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDAPP_ENGINE_VERSION
: 소스 App Engine 표준 환경 버전의 URI(예:apps/myproject/services/service-name/versions/version-name
)DESTINATION_INSTANCE
: 대상 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: 테스트할 대상 VM 인스턴스의 IP 주소. IP 주소는 대상 VM 인스턴스의 IP 주소 중 하나여야 합니다.PROTOCOL
: 서버리스 VPC 액세스 커넥터에서 지원하는 네트워킹 프로토콜(TCP
또는UDP
)
App Engine 표준 환경 서비스 버전에서 IP 주소로의 연결 테스트
콘솔
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름을 입력합니다.
- 프로토콜을 선택합니다.
- 소스 엔드포인트 메뉴에서 App Engine을 선택합니다.
- App Engine 서비스 메뉴에서 연결을 테스트할 특정 App Engine 표준 환경 서비스를 선택합니다. 예를 들어
helloworld-service
을 선택합니다.- 소스 엔드포인트가 현재 프로젝트가 아닌 프로젝트에 있는 경우 엔드포인트가 '
PROJECT_NAME
' 이외의 프로젝트에 있습니다를 선택합니다. - 엔드포인트가 있는 프로젝트를 선택합니다.
- 소스 엔드포인트가 현재 프로젝트가 아닌 프로젝트에 있는 경우 엔드포인트가 '
- App Engine 버전 메뉴에서 연결을 테스트할 App Engine 표준 환경 서비스의 버전을 선택합니다.
- App Engine 서비스 메뉴에서 연결을 테스트할 특정 App Engine 표준 환경 서비스를 선택합니다. 예를 들어
- 대상에서 IP 주소를 선택한 후 IP 주소를 입력합니다.
- 목적지 포트를 입력합니다.
- 만들기를 클릭합니다.
- 테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
gcloud
gcloud network-management connectivity-tests create
명령어를 사용합니다.
샘플 값을 VPC 네트워크의 값으로 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-app-engine-version=APP_ENGINE_VERSION \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름APP_ENGINE_VERSION
: 소스 App Engine 표준 환경 버전의 URI(예:apps/myproject/services/service-name/versions/version-name
)DESTINATION_IP_ADDRESS
: 테스트할 외부 대상 IP 주소PROTOCOL
: 서버리스 VPC 액세스 커넥터에서 지원하는 네트워킹 프로토콜(TCP
또는UDP
)
API
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "appEngineVersion": { "uri": "APP_ENGINE_VERSION", }, }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", }, "protocol": "PROTOCOL", }'
다음을 바꿉니다.
PROJECT_ID
: 소스 Cloud Run 함수의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDAPP_ENGINE_VERSION
: 소스 App Engine 표준 환경 버전의 URI(예:apps/myproject/services/service-name/versions/version-name
)DESTINATION_IP_ADDRESS
: 테스트할 외부 대상 IP 주소PROTOCOL
: 서버리스 VPC 액세스 커넥터에서 지원하는 네트워킹 프로토콜(TCP
또는UDP
)
App Engine 표준 환경 서비스 버전에서 Google 관리형 서비스로의 연결 테스트
콘솔
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름을 입력합니다.
- 프로토콜을 선택합니다.
- 소스 엔드포인트 메뉴에서 App Engine을 선택합니다.
- App Engine 서비스 메뉴에서 연결을 테스트할 특정 App Engine 표준 환경 서비스를 선택합니다. 예를 들어
helloworld-service
을 선택합니다.- 소스 엔드포인트가 현재 프로젝트가 아닌 프로젝트에 있는 경우 엔드포인트가 '
PROJECT_NAME
' 이외의 프로젝트에 있습니다를 선택합니다. - 엔드포인트가 있는 프로젝트를 선택합니다.
- 소스 엔드포인트가 현재 프로젝트가 아닌 프로젝트에 있는 경우 엔드포인트가 '
- App Engine 버전 메뉴에서 연결을 테스트할 App Engine 표준 환경 서비스의 버전을 선택합니다.
- App Engine 서비스 메뉴에서 연결을 테스트할 특정 App Engine 표준 환경 서비스를 선택합니다. 예를 들어
- 대상에 대해 다음을 수행합니다.
- 대상 엔드포인트 메뉴에서 GKE 클러스터 컨트롤 플레인과 같은 Google 관리형 서비스 리소스의 유형을 선택합니다.
- 대상 GKE 클러스터 컨트롤 플레인 메뉴에서 GKE 컨트롤 플레인에 대한 연결을 테스트할 클러스터를 선택합니다.
- (선택사항) 목록에서 대상 GKE 클러스터 컨트롤 플레인 IP 주소를 선택합니다. 기본값은 소스 VM 인스턴스의 IP 주소입니다.
- 목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
- 만들기를 클릭합니다.
- 테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
gcloud
gcloud network-management connectivity-tests create
명령어를 사용합니다.
샘플 값을 VPC 네트워크의 값으로 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-app-engine-version=APP_ENGINE_VERSION \ --destination-ip-address=DESTINATION_IP_ADDRESS \ DESTINATION_RESOURCE_FLAG=DESTINATION_ENDPOINT \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름APP_ENGINE_VERSION
: 소스 App Engine 표준 환경 버전의 URI(예:apps/myproject/services/servicename/versions/version-number
)DESTINATION_IP_ADDRESS
: 테스트할 내부 또는 외부 대상 IP 주소DESTINATION_RESOURCE_FLAG
: Google 관리형 서비스 리소스 유형을 지정하는 플래그사용 가능한 옵션은 다음을 참조하세요.
--destination-gke-master-cluster
--destination-cloud-sql-instance
자세한 내용은
gcloud network-management connectivity-tests create
참조를 확인하세요.DESTINATION_ENDPOINT
: 대상 엔드포인트의 URI(예:--destination-gke-master-cluster
플래그인 경우projects/myproject/locations/us-central1/clusters/cluster-1
)DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다. 기본값은 포트80
입니다.PROTOCOL
: 서버리스 VPC 액세스 커넥터에서 지원하는 네트워킹 프로토콜(TCP
또는UDP
)
API
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "appEngineVersion": { "uri": "APP_ENGINE_VERSION", }, }, "destination": { "DESTINATION_RESOURCE_FIELD": "DESTINATION_ENDPOINT", "ipAddress": "DESTINATION_IP_ADDRESS", "port": DESTINATION_PORT, }, "protocol": "PROTOCOL", }'
다음을 바꿉니다.
PROJECT_ID
: 소스 Cloud Run 함수의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDAPP_ENGINE_VERSION
: 소스 App Engine 표준 환경 버전의 URI(예:apps/myproject/services/servicename/versions/version-number
)DESTINATION_RESOURCE_FIELD
: Google 관리형 서비스 리소스 유형을 지정하는 필드사용 가능한 옵션은 다음을 참조하세요.
gkeMasterCluster
cloudSqlInstance
자세한 내용은 엔드포인트 참조를 확인하세요.
DESTINATION_ENDPOINT
: 대상 엔드포인트의 URI(예:gkeMasterCluster
필드인 경우projects/myproject/locations/us-central1/clusters/cluster-1
)DESTINATION_IP_ADDRESS
: 테스트할 내부 또는 외부 대상 IP 주소DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다. 기본값은 포트80
입니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
Cloud Run 함수에서 대상으로의 테스트
이 섹션에서는 특정 Google Cloud 리전에 배포된 Cloud Run 함수에서 VM 인스턴스, IP 주소 또는 Google 관리 서비스로의 연결을 테스트하는 방법을 설명합니다. 예를 들어 이 섹션의 단계에 따라 us-central1
에 소스로 배포된 Cloud Run 함수에서 VPC 네트워크에 대상으로 배포된 엔드포인트로의 연결을 테스트할 수 있습니다.
자세한 구성 분석을 보려면 Cloud Run 함수가 활성 상태이고 Cloud Run 함수에 서버리스 VPC 액세스 커넥터를 구성했는지 확인합니다.
Cloud Run 함수의 이그레스 설정은 Cloud Run 함수에서 아웃바운드 HTTP 요청 라우팅을 제어하고 커넥터를 통해 VPC 네트워크로 라우팅되는 트래픽 유형을 제어합니다. 자세한 내용은 Cloud Run 함수 이그레스 설정을 참조하세요.
Cloud Run 함수에서 VM 인스턴스로의 연결 테스트
콘솔
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름 필드에 테스트 이름을 입력합니다.
- 프로토콜 목록에서 프로토콜을 선택합니다.
- 소스에 대해 다음을 수행합니다.
- 소스 엔드포인트 메뉴에서 Cloud 함수 1세대를 선택합니다.
- Cloud 함수 메뉴에서 연결을 테스트할 특정 Cloud Run 함수를 선택합니다. 예를 들어
function-1
을 선택합니다. - Cloud 함수 위치 메뉴에서 Cloud Run 함수를 배포한 Google Cloud 리전을 선택합니다. 구성은 다르지만 이름이 같은 여러 리전에 Cloud Run 함수를 배포할 수 있습니다.
대상에 대해 다음을 수행합니다.
- 대상 엔드포인트 메뉴에서 VM 인스턴스를 선택합니다.
- 대상 VM 인스턴스 메뉴에서 VM 인스턴스를 선택합니다.
대상 네트워크 인터페이스 메뉴에서 네트워크 인터페이스를 선택합니다.
VM 인스턴스에 여러 네트워크 인터페이스가 있는 경우 대상 위치를 고유하게 식별하는 VM 네트워크 인터페이스를 선택합니다.
(선택사항) 목록에서 대상 IP 주소를 선택합니다. 기본값은 대상 VM 인스턴스의 IP 주소입니다.
목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
만들기를 클릭합니다.
테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
gcloud
gcloud network-management connectivity-tests create
명령어를 사용합니다.
샘플 값을 VPC 네트워크의 값으로 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-cloud-function=SOURCE_CLOUD_FUNCTION \ --destination-instance=DESTINATION_INSTANCE \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름SOURCE_CLOUD_FUNCTION
: Cloud Run 함수 URI(예:projects/myproject/locations/us-central1/functions/function-1
)DESTINATION_INSTANCE
: 대상 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: 테스트할 대상 VM 인스턴스의 IP 주소. IP 주소는 대상 VM 인스턴스의 IP 주소 중 하나여야 합니다.DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
API
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "cloudFunction": { "uri": "SOURCE_CLOUD_FUNCTION", }, }, "destination": { "instance": "DESTINATION_INSTANCE", "ipAddress": "DESTINATION_IP_ADDRESS", }, "protocol": "PROTOCOL", }'
다음을 바꿉니다.
PROJECT_ID
: 소스 Cloud Run 함수의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDSOURCE_CLOUD_FUNCTION
: Cloud Run 함수 URI(예:projects/myproject/locations/us-central1/functions/function-1
)DESTINATION_INSTANCE
: 대상 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: 테스트할 대상 VM 인스턴스의 IP 주소. IP 주소는 대상 VM 인스턴스의 IP 주소 중 하나여야 합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
Cloud Run 함수에서 IP 주소로 연결 테스트
콘솔
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름 필드에 테스트 이름을 입력합니다.
- 프로토콜 목록에서 프로토콜을 선택합니다.
- 소스에 대해 다음을 수행합니다.
- 소스 엔드포인트 메뉴에서 Cloud 함수 1세대를 선택합니다.
- Cloud 함수 메뉴에서 연결을 테스트할 특정 Cloud Run 함수를 선택합니다. 예를 들어
function-1
을 선택합니다. - Cloud 함수 위치 메뉴에서 Cloud Run 함수를 배포한 Google Cloud 리전을 선택합니다. 구성은 다르지만 이름이 같은 여러 리전에 Cloud Run 함수를 배포할 수 있습니다.
- 대상에서 IP 주소를 선택한 후 IP 주소를 입력합니다.
- 목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
- 만들기를 클릭합니다.
- 테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 이 페이지의 뒷부분에 있는 테스트 결과 보기 섹션을 계속 진행합니다.
gcloud
gcloud network-management connectivity-tests create
명령어를 사용합니다.
샘플 값을 VPC 네트워크의 값으로 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-cloud-function=SOURCE_CLOUD_FUNCTION \ --destination-ip-address==DESTINATION_IP_ADDRESS \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름SOURCE_CLOUD_FUNCTION
: Cloud Run 함수 URI(예:projects/myproject/locations/us-central1/functions/function-1
)DESTINATION_IP_ADDRESS
: 테스트할 대상 IP 주소PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
API
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "cloudFunction": { "uri": "SOURCE_CLOUD_FUNCTION", }, }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", }, "protocol": "PROTOCOL", }'
다음을 바꿉니다.
PROJECT_ID
: 소스 Cloud Run 함수의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDSOURCE_CLOUD_FUNCTION
: Cloud Run 함수 URI(예:projects/myproject/locations/us-central1/functions/function-1
)DESTINATION_IP_ADDRESS
: 테스트할 대상 IP 주소PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
Cloud Run 함수에서 Google 관리 서비스로의 연결 테스트
콘솔
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름 필드에 테스트 이름을 입력합니다.
- 프로토콜 목록에서 프로토콜을 선택합니다.
- 소스에 대해 다음을 수행합니다.
- 소스 엔드포인트 메뉴에서 Cloud 함수 1세대를 선택합니다.
- Cloud 함수 메뉴에서 연결을 테스트할 특정 Cloud Run 함수를 선택합니다. 예를 들어
function-1
을 선택합니다. - Cloud 함수 위치 메뉴에서 Cloud Run 함수를 배포한 Google Cloud 리전을 선택합니다. 구성은 다르지만 이름이 같은 여러 리전에 Cloud Run 함수를 배포할 수 있습니다.
- 대상에 대해 다음을 수행합니다.
- 대상 엔드포인트 메뉴에서 Cloud SQL 인스턴스와 같은 Google 관리형 서비스 리소스의 유형을 선택합니다.
- 대상 클라우드 SQL 인스턴스 메뉴에서 연결을 테스트할 Cloud SQL 인스턴스를 선택합니다.
- (선택사항) 목록에서 대상 Cloud SQL 인스턴스 IP 주소를 선택합니다. 기본값은 소스 Cloud Run 함수의 IP 주소입니다.
- 목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
- 만들기를 클릭합니다.
- 테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 이 페이지의 뒷부분에 있는 테스트 결과 보기 섹션을 계속 진행합니다.
gcloud
gcloud network-management connectivity-tests create
명령어를 사용합니다.
샘플 값을 VPC 네트워크의 값으로 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-cloud-function=SOURCE_CLOUD_FUNCTION \ DESTINATION_RESOURCE_FLAG=DESTINATION_ENDPOINT \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름SOURCE_CLOUD_FUNCTION
: Cloud Run 함수 URI(예:projects/myproject/locations/us-central1/functions/function-1
)DESTINATION_RESOURCE_FLAG
: Google 관리형 서비스 리소스 유형을 지정하는 플래그사용 가능한 옵션은 다음을 참조하세요.
--destination-gke-master-cluster
--destination-cloud-sql-instance
자세한 내용은
gcloud network-management connectivity-tests create
참조를 확인하세요.DESTINATION_ENDPOINT
: 대상 엔드포인트의 URI(예:--destination-gke-master-cluster
플래그인 경우projects/myproject/locations/us-central1/clusters/cluster-1
)DESTINATION_IP_ADDRESS
: 테스트할 내부 또는 외부 대상 IP 주소DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다. 기본값은 포트80
입니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
Cloud Run 버전에서 대상으로의 테스트
이 섹션에서는 Cloud Run 버전에서 VM 인스턴스, IP 주소 또는 Google 관리형 서비스로의 연결을 테스트하는 방법을 설명합니다.
단일 프로젝트에서 여러 Cloud Run 서비스를 배포할 수 있습니다. 모든 Cloud Run 서비스에는 *.run.app
도메인의 고유한 하위 도메인에 HTTPS 엔드포인트가 있습니다. Cloud Run 서비스를 배포할 때마다 변경할 수 없는 새 버전이 생성됩니다. 버전에서 VM 인스턴스, IP 주소 또는 Google 관리형 서비스로의 연결 가능성을 테스트할 수 있습니다. 자세한 구성 분석을 보려면 버전에 서버리스 VPC 액세스 커넥터를 구성해야 합니다. 연결 테스트 결과는 버전마다 다를 수 있습니다.
예를 들어 이름이 cloud_run_test
인 Cloud Run 서비스에는 서버리스 VPC 액세스 커넥터를 사용하도록 구성된 버전 first-revision
및 서버리스 VPC 액세스 커넥터를 사용하도록 구성되지 않은 다른 버전 second-revision
이 있습니다. 전체 연결 가능성 결과는 first-revision
에는 연결할 수 있지만 second-revision
에는 연결할 수 없습니다.
연결 테스트를 만들 때 Cloud Run 서비스의 버전 목록에서 선택할 수 있습니다.
Cloud Run 서비스 버전에서 VM 인스턴스로의 연결 테스트
콘솔
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름을 입력합니다.
- 프로토콜을 선택합니다.
- 소스에 대해 다음을 수행합니다.
- 소스 엔드포인트 메뉴에서 Cloud Run을 선택합니다.
- Cloud Run 서비스 메뉴에서 연결을 테스트할 특정 Cloud Run 서비스를 선택합니다. 예를 들어
helloworld-run
을 선택합니다.- 소스 엔드포인트가 현재 프로젝트가 아닌 프로젝트에 있는 경우 엔드포인트가 '
PROJECT_NAME
' 이외의 프로젝트에 있습니다를 선택합니다. - 엔드포인트가 있는 프로젝트를 선택합니다.
- 소스 엔드포인트가 현재 프로젝트가 아닌 프로젝트에 있는 경우 엔드포인트가 '
- Cloud Run 버전 메뉴에서 테스트할 Cloud Run 버전을 선택합니다.
대상에 대해 다음을 수행합니다.
- 대상 엔드포인트 메뉴에서 VM 인스턴스를 선택합니다.
- 대상 VM 인스턴스 메뉴에서 특정 대상 VM 인스턴스를 선택합니다.
목적지 네트워크 인터페이스 메뉴에서 네트워크 인터페이스를 선택합니다.
VM 인스턴스에 여러 네트워크 인터페이스가 있는 경우 대상 위치를 고유하게 식별하는 VM 네트워크 인터페이스를 선택합니다.
(선택사항) 목록에서 대상 IP 주소를 선택합니다. 기본값은 대상 VM 인스턴스의 IP 주소입니다.
목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
만들기를 클릭합니다.
테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
gcloud
gcloud network-management connectivity-tests create
명령어를 사용합니다.
샘플 값을 VPC 네트워크의 값으로 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-cloud-run-revision=CLOUD_RUN_REVISION \ --destination-instance=DESTINATION_INSTANCE \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름CLOUD_RUN_REVISION
: 소스 Cloud Run 버전의 URI(예:projects/myproject/locations/us-central1/revisions/cloudrun-revision
)DESTINATION_INSTANCE
: 대상 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: 테스트할 대상 VM 인스턴스의 IP 주소. IP 주소는 대상 VM 인스턴스의 IP 주소 중 하나여야 합니다.PROTOCOL
: 서버리스 VPC 액세스 커넥터에서 지원하는 네트워킹 프로토콜(TCP
또는UDP
)
API
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "cloudRunRevision": { "uri": "CLOUD_RUN_REVISION", }, }, "destination": { "instance": "DESTINATION_INSTANCE", "ipAddress": "DESTINATION_IP_ADDRESS" }, "protocol": "PROTOCOL", }'
다음을 바꿉니다.
PROJECT_ID
: 소스 Cloud Run 함수의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDCLOUD_RUN_REVISION
: 소스 Cloud Run 버전의 URI(예:projects/myproject/locations/us-central1/revisions/cloudrun-revision
)DESTINATION_INSTANCE
: 대상 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-2
)DESTINATION_IP_ADDRESS
: 테스트할 대상 VM 인스턴스의 IP 주소. IP 주소는 대상 VM 인스턴스의 IP 주소 중 하나여야 합니다.PROTOCOL
: 서버리스 VPC 액세스 커넥터에서 지원하는 네트워킹 프로토콜(TCP
또는UDP
)
Cloud Run 서비스 버전에서 IP 주소로의 연결 테스트
콘솔
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름을 입력합니다.
- 프로토콜을 선택합니다.
- 소스에 대해 다음을 수행합니다.
- 소스 엔드포인트 메뉴에서 Cloud Run을 선택합니다.
- Cloud Run 서비스 메뉴에서 연결을 테스트할 특정 Cloud Run 서비스를 선택합니다. 예를 들어
helloworld-run
을 선택합니다.- 소스 엔드포인트가 현재 프로젝트가 아닌 프로젝트에 있는 경우 엔드포인트가 '
PROJECT_NAME
' 이외의 프로젝트에 있습니다를 선택합니다. - 엔드포인트가 있는 프로젝트를 선택합니다.
- 소스 엔드포인트가 현재 프로젝트가 아닌 프로젝트에 있는 경우 엔드포인트가 '
- Cloud Run 버전 메뉴에서 테스트할 Cloud Run 버전을 선택합니다.
- 대상에서 IP 주소를 선택한 후 IP 주소를 입력합니다.
- 목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
- 만들기를 클릭합니다.
- 테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
gcloud
gcloud network-management connectivity-tests create
명령어를 사용합니다.
샘플 값을 VPC 네트워크의 값으로 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-cloud-run-revision=CLOUD_RUN_REVISION \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름CLOUD_RUN_REVISION
: 소스 Cloud Run 버전의 URI(예:projects/myproject/locations/us-central1/revisions/cloudrun-revision
)DESTINATION_IP_ADDRESS
: 테스트할 외부 대상 IP 주소PROTOCOL
: 서버리스 VPC 액세스 커넥터에서 지원하는 네트워킹 프로토콜(TCP
또는UDP
)
API
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "cloudRunRevision": { "uri": "CLOUD_RUN_REVISION", }, }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", }, "protocol": "PROTOCOL", }'
다음을 바꿉니다.
PROJECT_ID
: 소스 Cloud Run 함수의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDCLOUD_RUN_REVISION
: 소스 Cloud Run 버전의 URI(예:projects/myproject/locations/us-central1/revisions/cloudrun-revision
)DESTINATION_IP_ADDRESS
: 테스트할 외부 대상 IP 주소PROTOCOL
: 서버리스 VPC 액세스 커넥터에서 지원하는 네트워킹 프로토콜(TCP
또는UDP
)
Cloud Run 서비스 버전에서 Google 관리형 서비스로의 연결 테스트
콘솔
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름을 입력합니다.
- 프로토콜을 선택합니다.
- 소스에 대해 다음을 수행합니다.
- 소스 엔드포인트 메뉴에서 Cloud Run을 선택합니다.
- Cloud Run 서비스 메뉴에서 연결을 테스트할 특정 Cloud Run 서비스를 선택합니다. 예를 들어
helloworld-run
을 선택합니다.- 소스 엔드포인트가 현재 프로젝트가 아닌 프로젝트에 있는 경우 엔드포인트가 '
PROJECT_NAME
' 이외의 프로젝트에 있습니다를 선택합니다. - 엔드포인트가 있는 프로젝트를 선택합니다.
- 소스 엔드포인트가 현재 프로젝트가 아닌 프로젝트에 있는 경우 엔드포인트가 '
- Cloud Run 버전 메뉴에서 테스트할 Cloud Run 버전을 선택합니다.
- 대상에 대해 다음을 수행합니다.
- 대상 엔드포인트 메뉴에서 GKE 클러스터 컨트롤 플레인과 같은 Google 관리형 서비스 리소스의 유형을 선택합니다.
- 대상 GKE 클러스터 컨트롤 플레인 메뉴에서 GKE 컨트롤 플레인에 대한 연결을 테스트할 클러스터를 선택합니다.
- (선택사항) 목록에서 대상 GKE 클러스터 컨트롤 플레인 IP 주소를 선택합니다. 기본값은 소스 VM 인스턴스의 IP 주소입니다.
- 목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
- 만들기를 클릭합니다.
- 테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
gcloud
gcloud network-management connectivity-tests create
명령어를 사용합니다.
샘플 값을 VPC 네트워크의 값으로 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-cloud-run-revision=CLOUD_RUN_REVISION \ DESTINATION_RESOURCE_FLAG=DESTINATION_ENDPOINT \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름CLOUD_RUN_REVISION
: 소스 Cloud Run 버전의 URI(예:projects/myproject/locations/us-central1/revisions/cloudrun-revision
)PROJECT_NAME
: 엔드포인트가 있는 프로젝트 이름(예:myproject
)DESTINATION_RESOURCE_FLAG
: Google 관리형 서비스 리소스 유형을 지정하는 플래그사용 가능한 옵션은 다음을 참조하세요.
--destination-gke-master-cluster
--destination-cloud-sql-instance
자세한 내용은
gcloud network-management connectivity-tests create
참조를 확인하세요.DESTINATION_ENDPOINT
: 대상 엔드포인트의 URI(예:--destination-gke-master-cluster
플래그인 경우projects/myproject/locations/us-central1/clusters/cluster-1
)DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다. 기본값은 포트80
입니다.PROTOCOL
: 서버리스 VPC 액세스 커넥터에서 지원하는 네트워킹 프로토콜(TCP
또는UDP
)
API
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "cloudRunRevision": { "uri": "CLOUD_RUN_REVISION", }, }, "destination": { "DESTINATION_RESOURCE_FIELD": "DESTINATION_ENDPOINT", "port": DESTINATION_PORT, }, "protocol": "PROTOCOL", }'
다음을 바꿉니다.
PROJECT_ID
: 소스 Cloud Run 함수의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDCLOUD_RUN_REVISION
: 소스 Cloud Run 버전의 URI(예:projects/myproject/locations/us-central1/revisions/cloudrun-revision
)DESTINATION_RESOURCE_FIELD
: Google 관리형 서비스 리소스 유형을 지정하는 필드사용 가능한 옵션은 다음을 참조하세요.
gkeMasterCluster
cloudSqlInstance
자세한 내용은 엔드포인트 참조를 확인하세요.
DESTINATION_ENDPOINT
: 대상 엔드포인트의 URI(예:gkeMasterCluster
필드인 경우projects/myproject/locations/us-central1/clusters/cluster-1
)DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다. 기본값은 포트80
입니다.PROTOCOL
: 서버리스 VPC 액세스 커넥터에서 지원하는 네트워킹 프로토콜(TCP
또는UDP
)
VPC 네트워크부터 Google Cloud 외부 네트워크까지 테스트
VPC 네트워크부터 Google Cloud 외부 네트워크까지 테스트하려면 다음 단계를 따르세요.
콘솔
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름 필드에 테스트 이름을 입력합니다.
- 프로토콜 목록에서 프로토콜을 선택합니다.
- 소스에서 IP 주소를 선택하고 IP 주소를 입력합니다.
- VPC 네트워크가 다른 프로젝트에 있는 경우 Google Cloud에서 사용되는 IP 주소입니다를 선택합니다. 그런 다음 소스 IP 주소 또는 서비스 프로젝트 필드에서 네트워크가 위치한 프로젝트를 선택합니다.
- 비공개 IP 주소가 RFC 1918 주소 공간을 벗어나는 경우 소스 엔드포인트가 RFC 1918 주소 공간을 벗어나는 범위에 있음을 확인 체크박스를 선택하고 IP 주소가 포함된 소스 네트워크를 선택합니다.
- 대상에서 IP 주소를 선택한 후 외부 IP 주소를 입력합니다.
- Google Cloud에서 사용되는 IP 주소입니다를 선택 취소합니다.
- 목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
- 만들기를 클릭합니다.
- 테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
gcloud
내부 및 외부 IP 주소 간을 테스트하려면 다음 명령어를 입력합니다. 명령어 옵션의 변수를 VPC 네트워크의 값으로 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-ip-address=SOURCE_IP_ADDRESS \ --source-network=SOURCE_NETWORK \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름SOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_NETWORK
: 소스 IP 주소가 있는 VPC 네트워크의 URI(예:projects/myproject/global/networks/default
)DESTINATION_IP_ADDRESS
: 테스트할 외부 대상 IP 주소PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
IP 주소가 Google Cloud에 있는지, 소스 및 대상 엔드포인트가 RFC 1918 주소 공간 외부에 있는지 확인할 필요가 없습니다. 이 매개변수는 소스 및 대상 IP 주소를 기준으로 자동으로 선택됩니다.
API
이 예시에서는 소스 IP 주소에서 대상 IP 주소로 핑하는 기능을 테스트합니다.
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
POST https://reachability.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "network": "SOURCE_NETWORK" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL". }'
다음을 바꿉니다.
PROJECT_ID
: 소스 VM의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDSOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_NETWORK
: 소스 IP 주소가 있는 VPC 네트워크의 URI(예:projects/myproject/global/networks/default
)DESTINATION_IP_ADDRESS
: 테스트할 외부 대상 IP 주소DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
Python
다음 예시 코드는 두 IP 주소 간에 테스트를 만듭니다. 자세한 내용은 Python용 Google API 클라이언트 라이브러리의 create
를 참조하세요.
test_input = { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_IP_PROJECT_ID" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
다음을 바꿉니다.
SOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_IP_PROJECT_ID
: 소스 IP 주소의 프로젝트 IDDESTINATION_IP_ADDRESS
: 테스트할 외부 대상 IP 주소DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.PROJECT_ID
: 테스트를 만들려는 프로젝트의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 ID
IP 주소가 Google Cloud에 있는지, 소스 및 대상 엔드포인트가 RFC 1918 주소 공간 외부에 있는지 확인할 필요가 없습니다. 이 매개변수는 소스 및 대상 IP 주소를 기준으로 자동으로 선택됩니다.
다음 예시는 두 IP 주소 간에 테스트를 만듭니다.
test_input = { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "networkType": "GCP_NETWORK" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
다음을 바꿉니다.
SOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_NETWORK_TYPE
: 소스가 있는 네트워크의 유형. 이 경우에는GCP_NETWORK
값을 사용합니다.DESTINATION_IP_ADDRESS
: 목적지의 IP 주소DESTINATION_PORT
: 대상 TCP 또는 UDP 포트 번호. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.PROJECT_ID
: 테스트를 만들려는 프로젝트의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 ID
한 VPC 스포크로부터 동일한 Network Connectivity Center 허브에 연결된 다른 VPC 스포크로 테스트
Network Connectivity Center 허브의 VPC 스포크에서 동일한 허브에 연결된 다른 VPC 스포크로 테스트하려면 다음 단계를 따르세요.
콘솔
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름 필드에 테스트 이름을 입력합니다.
- 프로토콜 목록에서 프로토콜을 선택합니다.
- 소스의 경우 IP 주소를 선택한 다음 소스 스포크 VPC 네트워크의 IP 주소를 입력합니다.
- 목적지의 경우 IP 주소를 선택한 다음, 테스트할 다른 스포크 VPC 네트워크의 IP 주소를 입력합니다.
- 목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
- 만들기를 클릭합니다.
- 테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
gcloud
다음 명령어를 입력하여 두 스포크 간에 테스트합니다. 명령어 옵션의 변수를 VPC 네트워크의 값으로 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-ip-address=SOURCE_IP_ADDRESS \ --source-network=SOURCE_NETWORK \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름SOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_NETWORK
: 소스 IP 주소가 있는 VPC 네트워크의 URI(예:projects/myproject/global/networks/default
)DESTINATION_IP_ADDRESS
: 테스트할 다른 스포크 VPC 네트워크의 목적지 IP 주소PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
IP 주소가 Google Cloud에 있는지, 소스 및 대상 엔드포인트가 RFC 1918 주소 공간 외부에 있는지 확인할 필요가 없습니다. 이 매개변수는 소스 및 대상 IP 주소를 기준으로 자동으로 선택됩니다.
API
이 예시에서는 소스 IP 주소에서 대상 IP 주소로 핑하는 기능을 테스트합니다.
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
POST https://reachability.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "network": "SOURCE_NETWORK" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL". }'
다음을 바꿉니다.
PROJECT_ID
: 소스 VM의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDSOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_NETWORK
: 소스 IP 주소가 있는 VPC 네트워크의 URI(예:projects/myproject/global/networks/default
)DESTINATION_IP_ADDRESS
: 테스트할 다른 스포크 VPC 네트워크의 목적지 IP 주소DESTINATION_PORT
: 대상 TCP 또는 UDP 포트 번호. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
Python
다음 예시 코드는 두 IP 주소 간에 테스트를 만듭니다. 자세한 내용은 Python용 Google API 클라이언트 라이브러리의 create
메서드를 참조하세요.
test_input = { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_IP_PROJECT_ID" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
다음을 바꿉니다.
SOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_IP_PROJECT_ID
: 소스 IP 주소의 프로젝트 IDDESTINATION_IP_ADDRESS
: 테스트할 다른 스포크 VPC 네트워크의 목적지 IP 주소DESTINATION_PORT
: 대상 TCP 또는 UDP 포트 번호. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.PROJECT_ID
: 테스트를 만들려는 프로젝트의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 ID
IP 주소가 Google Cloud에 있는지, 소스 및 대상 엔드포인트가 RFC 1918 주소 공간 외부에 있는지 확인할 필요가 없습니다. 이 매개변수는 소스 및 대상 IP 주소를 기준으로 자동으로 선택됩니다.
다음 예시는 두 IP 주소 간에 테스트를 만듭니다.
test_input = { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "networkType": "GCP_NETWORK" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
다음을 바꿉니다.
SOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_NETWORK_TYPE
: 소스가 있는 네트워크의 유형. 이 경우에는GCP_NETWORK
값을 사용합니다.DESTINATION_IP_ADDRESS
: 대상 VM의 IP 주소DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.PROJECT_ID
: 테스트를 만들려는 프로젝트의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 ID
VM에서 Google Cloud 외부 네트워크까지 테스트
이 테스트는 소스 VM에서 Google 네트워크 에지 위치까지의 연결을 분석합니다.
콘솔
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름 필드에 테스트 이름을 입력합니다.
- 프로토콜 목록에서 프로토콜을 선택합니다.
소스에 대해 다음을 수행합니다.
- 소스 엔드포인트 메뉴에서 VM 인스턴스를 선택합니다.
- 소스 VM 인스턴스 메뉴에서 특정 소스 VM 인스턴스를 선택합니다.
소스 네트워크 인터페이스 메뉴에서 네트워크 인터페이스를 선택합니다.
VM 인스턴스에 여러 네트워크 인터페이스가 있는 경우 소스 위치를 고유하게 식별하는 VM 네트워크 인터페이스를 선택합니다.
(선택사항) 목록에서 소스 IP 주소를 선택합니다. 기본값은 소스 VM 인스턴스의 IP 주소입니다.
대상에 대해 다음을 수행합니다.
- 대상 엔드포인트 메뉴에서 IP 주소를 선택합니다.
- 외부 대상 IP 주소를 입력합니다.
- Google Cloud에서 사용되는 IP 주소입니다를 선택 취소합니다.
목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
만들기를 클릭합니다.
테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
gcloud
VM과 외부 IP 주소 간을 테스트하려면 다음 명령어를 입력합니다. 샘플 값을 VPC 네트워크의 값으로 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-instance=SOURCE_INSTANCE \ --source-ip-address=SOURCE_IP_ADDRESS \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-port=DESTINATION_PORT \ --protocol=PROTOCOL
다음을 바꿉니다.
NAME
: 연결 테스트 이름SOURCE_INSTANCE
: 소스 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: 테스트할 소스 VM 인스턴스의 IP 주소. IP 주소는 소스 VM 인스턴스의 IP 주소 중 하나여야 합니다.DESTINATION_IP_ADDRESS
: 테스트할 외부 대상 IP 주소DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
API
다음 샘플 테스트는 기존 네트워크 구성에서 VM instance1
가 대상 IP 주소를 핑할 수 있는지 여부를 판단합니다.
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", }'
다음을 바꿉니다.
PROJECT_ID
: 소스 VM의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDSOURCE_INSTANCE
: 소스 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: 테스트할 소스 VM 인스턴스의 IP 주소. IP 주소는 소스 VM 인스턴스의 IP 주소 중 하나여야 합니다.DESTINATION_IP_ADDRESS
: 테스트할 외부 대상 IP 주소DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
Python
다음 예시 코드는 VM 인스턴스와 외부 IP 주소 간에 테스트를 만듭니다. 자세한 내용은 Python용 Google API 클라이언트 라이브러리의 create
를 참조하세요.
test_input = { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_INSTANCE_PROJECT_ID" }, "destination": { "ipAddress": "DESTINATION_IP_ADDRESS", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
다음을 바꿉니다.
SOURCE_INSTANCE
: 소스 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: 테스트할 소스 VM 인스턴스의 IP 주소. IP 주소는 소스 VM 인스턴스의 IP 주소 중 하나여야 합니다.SOURCE_INSTANCE_PROJECT_ID
: 소스 VM의 프로젝트 IDDESTINATION_IP_ADDRESS
: 테스트할 외부 대상 IP 주소DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.PROJECT_ID
: 테스트를 만들려는 프로젝트의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 ID
VM 또는 IP 주소에서 부하 분산기로 테스트
이 섹션에서는 VM 또는 IP 주소에서 Google Cloud 부하 분산기까지의 연결을 테스트하는 방법을 설명합니다.
연결 테스트 구성 분석에서는 모든 유형의 Google Cloud 부하 분산기에 시뮬레이션된 패킷을 추적할 수 있습니다. 외부 애플리케이션 부하 분산기의 trace 경로는 외부 프록시 네트워크 부하 분산기에도 적용됩니다. 자세한 내용은 Cloud Load Balancing 개요를 참조하세요.
다음에 대한 연결을 테스트할 수 있습니다.
VM에서 부하 분산기로 테스트
이 섹션에서는 소스 VM에서 부하 분산기로의 연결을 분석합니다.
콘솔
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름 필드에 테스트 이름을 입력합니다.
- 프로토콜 목록에서 프로토콜을 선택합니다.
소스에 대해 다음을 수행합니다.
- 소스 엔드포인트 메뉴에서 VM 인스턴스를 선택합니다.
- 소스 VM 인스턴스 메뉴에서 특정 소스 VM 인스턴스를 선택합니다.
소스 네트워크 인터페이스 메뉴에서 네트워크 인터페이스를 선택합니다.
VM 인스턴스에 여러 네트워크 인터페이스가 있는 경우 소스 위치를 고유하게 식별하는 VM 네트워크 인터페이스를 선택합니다.
(선택사항) 목록에서 소스 IP 주소를 선택합니다. 기본값은 소스 VM 인스턴스의 IP 주소입니다.
대상에 대해 다음을 수행합니다.
- 대상 엔드포인트 메뉴에서 부하 분산기를 선택합니다.
대상 부하 분산기 메뉴에서 부하 분산기를 선택합니다.
대상 엔드포인트가 현재 프로젝트 이외의 다른 프로젝트에 있는 경우 엔드포인트가 '
PROJECT_NAME
' 이외의 프로젝트에 있습니다를 선택합니다. 그런 다음 대상 엔드포인트 프로젝트 필드에서 엔드포인트가 위치한 프로젝트를 선택합니다.대상 전달 규칙을 선택합니다.
목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
만들기를 클릭합니다.
테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
gcloud
VM과 부하 분산기 간에 테스트하려면 다음 명령어를 입력합니다.
gcloud network-management connectivity-tests create NAME \ --source-instance=SOURCE_INSTANCE \ --source-ip-address=SOURCE_IP_ADDRESS \ --protocol=PROTOCOL \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-port=DESTINATION_PORT \
다음을 바꿉니다.
NAME
: 연결 테스트 이름SOURCE_INSTANCE
: 소스 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: 테스트할 소스 VM 인스턴스의 IP 주소. IP 주소는 소스 VM 인스턴스의 IP 주소 중 하나여야 합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.DESTINATION_IP_ADDRESS
: 테스트할 외부 대상 IP 주소DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.
API
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
POST https: //networkmanagement.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", }, "destination": { "forwardingRule": "DESTINATION_FORWARDING_RULE", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", }'
다음을 바꿉니다.
PROJECT_ID
: 소스 VM의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 IDSOURCE_INSTANCE
: 소스 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: 테스트할 소스 VM 인스턴스의 IP 주소. IP 주소는 소스 VM 인스턴스의 IP 주소 중 하나여야 합니다.DESTINATION_FORWARDING_RULE
: 엔드포인트를 나타내는 대상 전달 규칙DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
Python
다음 예시 코드에서는 VM 인스턴스와 부하 분산기 엔드포인트 간에 테스트를 만듭니다. 자세한 내용은 Python용 Google API 클라이언트 라이브러리의 create
를 참조하세요.
test_input = { "source": { "instance": "SOURCE_INSTANCE", "ipAddress": "SOURCE_IP_ADDRESS", "projectId": "SOURCE_INSTANCE_PROJECT_ID" }, "destination": { "forwardingRule": "DESTINATION_FORWARDING_RULE", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
다음을 바꿉니다.
SOURCE_INSTANCE
: 소스 VM의 URI(예:projects/myproject/zones/us-east1-b/instances/instance-1
)SOURCE_IP_ADDRESS
: 테스트할 소스 VM 인스턴스의 IP 주소. IP 주소는 소스 VM 인스턴스의 IP 주소 중 하나여야 합니다.SOURCE_INSTANCE_PROJECT_ID
: 소스 VM의 프로젝트 IDDESTINATION_FORWARDING_RULE
: 엔드포인트를 나타내는 대상 전달 규칙DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.PROJECT_ID
: 테스트를 만들려는 프로젝트의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 ID
IP 주소에서 부하 분산기로 테스트
콘솔
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 연결 테스트 만들기를 선택합니다.
- 테스트 이름 필드에 테스트 이름을 입력합니다.
- 프로토콜 목록에서 프로토콜을 선택합니다.
- 소스에 대해 다음을 수행합니다.
- 소스 엔드포인트 메뉴에서 IP 주소를 선택합니다.
- 소스 IP 주소 필드에 소스 IP 주소를 입력합니다.
- VPC 네트워크가 다른 프로젝트에 있는 경우 Google Cloud에서 사용되는 IP 주소입니다를 선택합니다. 그런 다음 소스 IP 주소 또는 서비스 프로젝트 필드에서 네트워크가 위치한 프로젝트를 선택합니다.
- IP 주소가 RFC 1918 주소 공간을 벗어나는 경우 소스 엔드포인트가 RFC 1918 주소 공간을 벗어나는 범위에 있음을 확인합니다.를 선택합니다. 그런 다음 소스 네트워크 목록에서 소스 IP 주소가 포함된 네트워크를 선택합니다.
대상에 대해 다음을 수행합니다.
- 대상 엔드포인트 메뉴에서 부하 분산기를 선택합니다.
대상 부하 분산기 메뉴에서 부하 분산기 엔드포인트를 선택합니다.
대상 엔드포인트가 현재 프로젝트 이외의 다른 프로젝트에 있는 경우 엔드포인트가 '
PROJECT_NAME
' 이외의 프로젝트에 있습니다를 선택합니다. 그런 다음 대상 엔드포인트 프로젝트 필드에서 엔드포인트가 위치한 프로젝트를 선택합니다.대상 전달 규칙을 선택합니다.
목적지 포트 필드에 지정된 대상의 목적지 포트를 입력합니다.
만들기를 클릭합니다.
테스트가 완료되면 기본 연결 테스트 페이지가 로드되고 이 테스트와 다른 테스트가 포함된 목록이 표시됩니다. 테스트 결과 보기로 계속 진행합니다.
gcloud
gcloud network-management connectivity-tests create
명령어를 사용합니다.
샘플 값을 VPC 네트워크의 값으로 바꿉니다.
gcloud network-management connectivity-tests create NAME \ --source-project=SOURCE_PROJECT \ --source-ip-address=SOURCE_IP_ADDRESS \ --protocol=PROTOCOL \ --destination-ip-address=DESTINATION_IP_ADDRESS \ --destination-port=DESTINATION_PORT \
다음을 바꿉니다.
NAME
: 연결 테스트 이름SOURCE_PROJECT
: 소스 엔드포인트의 프로젝트 IDSOURCE_IP_ADDRESS
: 테스트할 소스 VM 인스턴스의 IP 주소. IP 주소는 소스 VM 인스턴스의 IP 주소 중 하나여야 합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.DESTINATION_IP_ADDRESS
: 테스트할 외부 대상 IP 주소DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.
엔드포인트가 관리형 서비스 또는 다른 VPC 네트워크의 서비스에 액세스하는 데 사용되는 경우 엔드포인트에 내부 IP 주소가 있으므로 DESTINATION_NETWORK
를 지정해야 합니다.
API
이 예시에서는 소스 IP 주소에서 부하 분산기 엔드포인트로 핑하는 기능을 테스트합니다.
projects.locations.global.connectivityTests.create
메서드를 사용합니다.
Google Cloud 외부의 외부 IP 주소인 소스 IP 주소를 지정할 때는 NON_GCP_NETWORK
의 networkType
을 지정해야 합니다. 다음 명령어의 값을 Google Cloud 네트워크의 값으로 바꿉니다.
POST https://reachability.googleapis.com/v1/projects/PROJECT_ID/locations/global/connectivityTests?testId=TEST_ID' { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "networkType": "NON_GCP_NETWORK", }, "destination": { "forwardingRule": "DESTINATION_FORWARDING_RULE", "port": "DESTINATION_PORT", }, "protocol": "PROTOCOL", }'
다음을 바꿉니다.
SOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소DESTINATION_FORWARDING_RULE
: 엔드포인트를 나타내는 대상 전달 규칙DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.PROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.
엔드포인트가 게시된 서비스에 액세스하는 데 사용되는 경우 엔드포인트에 내부 IP 주소가 포함되므로 DESTINATION_NETWORK
를 지정해야 합니다.
Python
다음 예시 코드에서는 부하 분산기 엔드포인트에 대한 IP 주소 간에 테스트를 만듭니다. 자세한 내용은 Python용 Google API 클라이언트 라이브러리의 create
를 참조하세요.
Google Cloud 외부의 외부 IP 주소인 소스 IP 주소를 지정할 때는 NON_GCP_NETWORK
의 networkType
을 지정해야 합니다.
test_input = { "source": { "ipAddress": "SOURCE_IP_ADDRESS", "networkType": "NON_GCP_NETWORK" }, "destination": { "forwardingRule": "DESTINATION_FORWARDING_RULE", "port": "DESTINATION_PORT", "projectId": "DESTINATION_IP_PROJECT_ID" }, "protocol": "PROTOCOL", } request = api.projects().locations().global_().connectivityTests().create( parent="projects/PROJECT_ID/locations/global", testId="TEST_ID", body=test_input) print(json.dumps(request.execute(), indent=4))
다음을 바꿉니다.
SOURCE_IP_ADDRESS
: 테스트할 소스 IP 주소SOURCE_NETWORK_TYPE
: 소스가 있는 네트워크의 유형. 이 경우에는NON_GCP_NETWORK
값을 사용합니다.DESTINATION_FORWARDING_RULE
: 엔드포인트를 나타내는 대상 전달 규칙DESTINATION_PORT
: 대상의 IP 프로토콜 포트. 이 옵션은 TCP 또는 UDP 프로토콜에만 유효합니다.DESTINATION_IP_PROJECT_ID
: 대상 IP 주소의 프로젝트 IDPROTOCOL
: 연결 테스트에 지원되는 프로토콜. 기본 프로토콜은TCP
입니다.PROJECT_ID
: 테스트를 만들려는 프로젝트의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 ID
엔드포인트가 게시된 서비스에 액세스하는 데 사용되는 경우 엔드포인트에 내부 IP 주소가 포함되므로 DESTINATION_NETWORK
를 지정해야 합니다.
IP 주소가 Google Cloud에 있는지, 소스 및 대상 엔드포인트가 RFC 1918 주소 공간 외부에 있는지 확인할 필요가 없습니다. 이 매개변수는 소스 및 대상 IP 주소를 기준으로 자동으로 선택됩니다.
Google Cloud 외부 네트워크부터 VPC 네트워크까지 테스트
이 절차는 다음 단계를 제외하고 VPC 네트워크에서 비공개 IP 주소 테스트 절차와 동일합니다. Google Cloud 콘솔, Google Cloud CLI, API 예시, Python 예시에 이 절차를 사용합니다.
- 소스 주소가 Google Cloud에 없지만 피어(온프레미스) 네트워크가 아닌 경우 외부 IP 주소를 지정합니다.
- 소스 주소가 피어(온프레미스) 네트워크의 주소인 경우 기타 Google Cloud 외부 네트워크를 선택해야 합니다.
Google Cloud 외부 네트워크부터 Google Cloud 외부 네트워크까지 테스트
이 절차는 다음 단계를 제외하고 VPC 네트워크에서 비공개 IP 주소 테스트 절차와 동일합니다. Google Cloud 콘솔, Google Cloud CLI, API 예시, Python 예시에 이 절차를 사용합니다.
- 소스 IP 주소와 대상 IP 주소의 외부 IP 주소를 지정합니다.
- Google Cloud 콘솔에서 Google Cloud에서 사용되는 IP 주소입니다를 선택 취소합니다.
테스트 결과 보기
이 섹션에서는 연결 테스트 결과를 보는 방법을 설명합니다.
콘솔
서로 다른 여러 페이지에서 테스트를 볼 수 있습니다.
기본 연결 테스트 페이지:
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 결과 세부정보 열에서 테스트를 선택한 후 보기를 클릭합니다.
테스트의 정보 패널이 표시됩니다. 테스트 경로에서 각 Google Cloud 리소스의 전체 결과와 결과 카드를 볼 수 있습니다. VM 인스턴스 또는 경로와 같은 일부 Google Cloud 리소스의 세부정보 페이지 링크를 클릭해도 됩니다. 테스트에 여러 trace가 포함된 경우 trace 결과 목록에서 trace를 선택할 수 있습니다.
테스트가 실시간 데이터 영역 분석에 사용 가능한 경우 패킷 손실 및 지연 시간 측정항목을 볼 수 있습니다.
결과 카드를 펼치거나 닫으려면 카드 오른쪽에 있는 화살표를 클릭합니다.
구성 분석 상태 해석을 참조하여 테스트 결과를 해석합니다.
정보 패널을 닫으려면 페이지 오른쪽 상단에 있는 정보 패널 숨기기를 클릭합니다.
연결 테스트 세부정보 페이지:
또는 기본 Google Cloud 콘솔 페이지에서 테스트 이름을 클릭하고 연결 테스트 세부정보 페이지에서 결과를 확인합니다.
네트워크 인터페이스 세부정보 페이지:
네트워크 인터페이스 세부정보 페이지에서 Compute Engine VM 인스턴스의 네트워크 인터페이스에 대한 결과도 볼 수 있습니다. 이 페이지에는 현재 네트워크 인터페이스를 소스 또는 대상으로 사용하는 테스트만 나와 있습니다.
결과를 보려면 결과 세부정보 열에서 보기를 선택하거나 테스트 이름을 클릭합니다.
gcloud
테스트 결과를 보려면 다음 명령어를 입력합니다. 보려는 테스트 ID를 사용합니다.
gcloud network-management connectivity-tests describe NAME
NAME
을 연결 테스트 이름으로 바꿉니다.
API
테스트 결과를 보려면 projects.locations.global.connectivityTests.get
메서드를 사용합니다.
GET https://networkmanagement.googleapis.com/v1/{name=projects/PROJECT_ID/locations/global/connectivityTests/TEST_ID}
다음을 바꿉니다.
PROJECT_ID
: 소스 VM의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 ID
Python
다음 코드 예시는 테스트 결과를 출력합니다. 자세한 내용은 Python용 Google API 클라이언트 라이브러리의 get
를 참조하세요.
project_id = "PROJECT_ID" test_id= "TEST_ID" request = api.projects().locations().global_().connectivityTests().get( name='projects/%s/locations/global/connectivityTests/%s' % (project_id, test_id))
print(json.dumps(request.execute(), indent=4))
다음을 바꿉니다.
PROJECT_ID
: 테스트가 생성된 프로젝트의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 ID
하나 이상의 테스트 재실행
테스트 경로에서 Google Cloud 리소스 구성을 변경하고 최신 네트워크 구성에 대한 결과를 보기 위해 연결 테스트를 다시 실행할 수 있습니다. 1개 이상의 테스트를 동시에 다시 실행할 수 있습니다.
연결 테스트는 실행 시 네트워크 구성의 스냅샷을 기반으로 합니다. 테스트를 다시 실행하면 이전 테스트 결과를 덮어씁니다. 오래된 결과를 유지하려면 대신 새 테스트를 생성합니다.
작업 실행 중에 rerun
테스트 작업 상태를 확인하려면 실행 중인 테스트 작업 확인을 참조하세요.
콘솔
기본 연결 테스트 페이지:
- Google Cloud 콘솔에서 연결 테스트 페이지로 이동합니다.
- 사용 가능한 연결 테스트 목록에서 테스트를 한 개 이상 선택합니다.
- 다시 실행을 클릭합니다.
연결 테스트 세부정보 페이지:
- 이전의 기본 연결 테스트 페이지에서 테스트 이름을 클릭합니다.
- 연결 테스트 세부정보 페이지 상단에 있는 다시 실행을 클릭합니다.
네트워크 인터페이스 세부정보 페이지:
- Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
- 테스트를 다시 실행할 인스턴스가 포함된 프로젝트를 선택하지 않았으면 선택합니다.
- 테스트를 다시 실행하는 데 사용할 인스턴스를 클릭합니다.
- 네트워크 인터페이스에서 테스트를 다시 실행하는 데 사용할 네트워크 인터페이스를 선택합니다.
- 네트워크 분석에서 연결 테스트를 클릭합니다.
- 사용 가능한 연결 테스트 목록에서 테스트를 한 개 이상 선택합니다.
- 다시 실행을 클릭합니다.
gcloud
연결 테스트를 다시 실행하려면 다음 명령어를 입력합니다. 다시 실행하려는 테스트 ID를 사용합니다.
gcloud network-management connectivity-tests rerun NAME
NAME
을 연결 테스트 이름으로 바꿉니다.
API
Network Management API는 connectivityTests
리소스를 만들 때 삭제할 때까지 해당 테스트 리소스를 유지합니다. 이로 인해 테스트를 다시 실행할 수 있습니다.
지속적 테스트를 만들지 않으려면 API를 사용하여 테스트를 만들고 결과를 확인한 후 삭제할 수 있습니다.
projects.locations.global.connectivityTests.rerun
메서드를 사용하여 테스트를 다시 실행합니다.
POST https://networkmanagement.googleapis.com/v1/{name=projects/*/locations/global/connectivityTests/*}:rerun { "name": {projects/PROJECT_ID/connectivityTests/{TEST_ID}} }
다음을 바꿉니다.
PROJECT_ID
: 소스 VM의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 ID
Python
다음 예시 코드는 테스트를 다시 실행합니다. 자세한 내용은 Python용 Google API 클라이언트 라이브러리의 rerun
를 참조하세요.
project_id = "PROJECT_ID" test_id = "TEST_ID" request = api.projects().locations().global_().connectivityTests().rerun(name='projects/%s/locations/global/connectivityTests/%s' % (project_id, test_id))
print(json.dumps(request.execute(), indent=4))
다음 값을 바꿉니다.
PROJECT_ID
: 테스트가 생성된 프로젝트의 프로젝트 IDTEST_ID
: 실행 중인 연결 테스트 객체(테스트)의 ID