이 문서에서는 예약된 용량 블록에서 실행되는 A4X Max, A4X, A4, A3 Ultra, A3 Mega, A3 High (GPU 8개) Compute Engine 인스턴스의 실제 위치를 확인하는 방법을 설명합니다.
A4X Max, A4X, A4, A3 Ultra, A3 Mega, A3 High (GPU 8개) 인스턴스를 만든 후 배치를 확인하여 서로 가장 가까운 인스턴스를 확인할 수 있습니다. 인스턴스 근접성을 이해하면 다음 작업을 수행할 수 있습니다.
애플리케이션 또는 워크로드 디자인을 조정하여 네트워크 지연 시간을 한층 더 최소화합니다.
빈번하게 통신하는 인스턴스가 예상치 않게 멀리 떨어져 있는 경우 인스턴스의 네트워크 지연 시간 또는 성능 문제를 해결합니다.
시작하기 전에
- Cluster Director 기능에서 사용되는 용어를 검토합니다.
-
이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.
콘솔
Google Cloud 콘솔을 사용하여 Google Cloud 서비스 및 API에 액세스하는 경우 인증을 설정할 필요가 없습니다.
gcloud
Google Cloud 콘솔에서 Cloud Shell을 활성화합니다.
Google Cloud 콘솔 하단에 Cloud Shell 세션이 시작되고 명령줄 프롬프트가 표시됩니다. Cloud Shell은 Google Cloud CLI가 사전 설치된 셸 환경으로, 현재 프로젝트의 값이 이미 설정되어 있습니다. 세션이 초기화되는 데 몇 초 정도 걸릴 수 있습니다.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Google Cloud CLI를 설치합니다.
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요.
필요한 역할
컴퓨팅 인스턴스 토폴로지를 보는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 인스턴스 관리자 (v1) (roles/compute.instanceAdmin.v1) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이 사전 정의된 역할에는 컴퓨팅 인스턴스 토폴로지를 보는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
컴퓨팅 인스턴스 토폴로지를 보려면 다음 권한이 필요합니다.
-
인스턴스 세부정보 보기:
프로젝트에 대한
compute.instances.get권한 -
인스턴스 목록 보기: 프로젝트에 대한
compute.instances.list권한
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
컴퓨팅 인스턴스 토폴로지 이해
실행 중인 컴퓨팅 인스턴스의 세부정보를 볼 때 물리적 호스트 필드( Google Cloud 콘솔의 경우) 또는 physicalHostTopology 필드 (gcloud CLI, Compute Engine API의 경우 또는 메타데이터 키를 쿼리하여)를 확인하여 클러스터의 실제 위치를 파악할 수 있습니다. 이러한 필드에는 다음 하위 필드가 포함됩니다.
cluster: 클러스터의 전역 이름입니다.block: 인스턴스가 있는 예약된 블록의 조직별 ID입니다.sub-block: 인스턴스가 있는 하위 블록의 조직별 ID입니다.host: 인스턴스가 실행되는 호스트의 조직별 ID입니다.
인스턴스 근접성을 파악하려면 인스턴스 간에 물리적 호스트 또는 physicalHostTopology 필드 값을 비교합니다. 인스턴스가 공유하는 하위 필드가 많을수록 물리적으로 더 가까운 위치에 있습니다.
컴퓨팅 인스턴스가 생성된 예약의 토폴로지도 볼 수 있습니다. 예약 및 인스턴스의 physicalHostTopology 필드에 동일한 block 및 cluster 필드가 표시됩니다. 예를 들어 특정 예약 블록을 볼 때 블록에 배포된 모든 인스턴스의 이름과 하위 블록을 볼 수 있습니다. 예약의 토폴로지에 대한 자세한 내용은 예약의 토폴로지 보기를 참고하세요.
컴퓨팅 인스턴스 토폴로지 보기
실행 중인 여러 컴퓨팅 인스턴스의 실제 위치를 한 번에 보려면 REST API를 사용하세요. 그렇지 않으면 다음 옵션 중 하나를 선택합니다.
콘솔
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
이름 열에서 세부정보를 보려는 인스턴스의 이름을 클릭합니다. 인스턴스의 세부정보를 제공하는 페이지가 표시되고 세부정보 탭이 선택됩니다.
기본 정보 섹션에서 물리적 호스트 필드의 값을 확인합니다.
gcloud
실행 중인 컴퓨팅 인스턴스의 실제 위치를 보려면 --flatten=resourceStatus.physicalHostTopology 플래그와 함께 gcloud compute instances describe 명령어를 사용합니다.
gcloud compute instances describe INSTANCE_NAME \
--flatten=resourceStatus.physicalHostTopology \
--zone=ZONE
다음을 바꿉니다.
INSTANCE_NAME: 인스턴스의 이름ZONE: 인스턴스가 있는 영역
출력은 다음과 비슷합니다.
---
cluster: europe-west1-cluster-jfhb
block: 3e3056e23cf91a5cb4a8621b6a52c100
subBlock: 0fc09525cbd5abd734342893ca1c083f
host: 1215168a4ecdfb434fd4d28056589059
REST
실행 중인 컴퓨팅 인스턴스의 실제 위치를 보려면 다음 GET 요청 중 하나를 수행하세요. 요청 시 fields 쿼리 매개변수를 포함하고 인스턴스의 name, machineType, physicalHostTopology 필드만 표시하도록 지정해야 합니다. filter 쿼리 매개변수도 포함하고 실행 중인 인스턴스만 나열하도록 지정해야 합니다.
모든 영역의 인스턴스 목록을 보려면 다음을 사용하세요.
instances.aggregatedList메서드GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING특정 영역에 있는 인스턴스 목록을 보려면 다음을 사용하세요.
instances.list메서드GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
다음을 바꿉니다.
PROJECT_ID: 인스턴스가 있는 프로젝트의 ID입니다.ZONE: 인스턴스가 있는 영역입니다.
출력은 다음과 비슷합니다.
{
"items": [
{
"name": "vm-01",
"machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
"resourceStatus": {
"physicalHostTopology": {
"cluster": "europe-west1-cluster-jfhb",
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"subBlock": "0fc09525cbd5abd734342893ca1c083f",
"host": "1215168a4ecdfb434fd4d28056589059"
}
}
},
{
"name": "vm-02",
"machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
"resourceStatus": {
"physicalHostTopology": {
"cluster": "europe-west1-cluster-jfhb",
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"subBlock": "1fc18636cbd4abd623553784ca2c174e",
"host": "2326279b5ecdfc545fd5e39167698168"
}
}
},
...
]
}
인스턴스 목록을 미세 조정하려면 filter 쿼리 매개변수에서 필터 표현식을 수정합니다.
메타데이터 키를 쿼리하여 컴퓨팅 인스턴스 토폴로지 보기
physical_host_topology 메타데이터 키를 쿼리하여 실행 중인 Compute 인스턴스의 실제 위치를 보려면 다음 옵션 중 하나를 선택합니다.
Linux 인스턴스
Linux 컴퓨팅 인스턴스에 연결합니다.
Linux 인스턴스에서
curl도구를 사용하여 쿼리를 만듭니다. Linux 인스턴스에서physical_host_topology메타데이터 키를 쿼리하려면 다음 명령어를 실행합니다.user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology출력은 다음과 비슷합니다.
{ "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "1fc18636cbd4abd623553784ca2c174e", "host": "2326279b5ecdfc545fd5e39167698168" }
Windows 인스턴스
Windows 컴퓨팅 인스턴스에 연결합니다.
Windows 인스턴스에서
Invoke-RestMethod명령어를 사용하여 쿼리를 만듭니다. Windows 인스턴스에서physical_host_topology메타데이터 키를 쿼리하려면 다음 명령어를 실행합니다.PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology") $value출력은 다음과 비슷합니다.
{ "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "1fc18636cbd4abd623553784ca2c174e", "host": "2326279b5ecdfc545fd5e39167698168" }
다음 단계
호스트 이벤트를 관리하는 방법을 알아보세요.