이 문서에서는 실행 중인 Compute Engine 인스턴스의 토폴로지를 보는 방법을 설명합니다. 컴퓨팅 인스턴스를 만들고 시작한 후 영역에서 실제 위치를 확인하여 클러스터의 토폴로지를 파악할 수 있습니다. 이 정보를 사용하면 다음 작업을 할 수 있습니다.
작업 구성: 워크로드 설계를 조정하여 예를 들어 통신량이 많은 작업을 물리적으로 가장 가까운 컴퓨팅 인스턴스에 배치할 수 있습니다.
문제 해결: 특정 컴퓨팅 인스턴스가 예기치 않게 멀리 떨어져 있는 경우 네트워크 지연 시간 또는 성능 문제를 조사할 수 있습니다.
프로젝트에서 실행 중인 컴퓨팅 인스턴스를 확인하려면 컴퓨팅 인스턴스 목록을 확인하세요.
제한사항
다음 요구사항 중 하나 이상을 충족하는 컴퓨팅 인스턴스의 토폴로지만 볼 수 있습니다.
컴퓨팅 인스턴스는 다음 머신 유형 중 하나를 사용합니다.
A4X Max
A4X
A4
A3 Ultra
A3 Mega
GPU 8개가 있는 A3 High
H4D
컴퓨팅 인스턴스는 처리량이 높은 (
HIGH_THROUGHPUT) 유형의 워크로드 정책을 지정하는 관리형 인스턴스 그룹 (MIG)의 일부입니다.
컴퓨팅 인스턴스 토폴로지 이해
각 컴퓨팅 인스턴스는 서버
블록에 있는 물리적 서버인 호스트에서 실행됩니다. 각 블록은 영역 내 데이터 센터에 있는 클러스터에 속합니다.Google Cloud 특정 요구사항을 충족하는 컴퓨팅 인스턴스를 보면 동일한 요구사항을 충족하는 다른 컴퓨팅 인스턴스와 관련된 토폴로지를 파악할 수 있습니다.
특히 각 컴퓨팅 인스턴스의 physicalHostTopology 필드에서 다음 하위 필드를 확인하여 컴퓨팅 인스턴스의 실제 위치를 파악할 수 있습니다.
클러스터 (
cluster): 컴퓨팅 인스턴스가 있는 클러스터의 전역 이름입니다. 클러스터 는 여러 블록에 걸쳐 있을 수 있으며 단일 리소스 풀로 함께 작동하는 여러 호스트의 상위 수준 논리적 그룹화입니다.블록 (
block): 컴퓨팅 인스턴스가 있는 블록의 조직별 ID입니다. 블록 은 함께 그룹화된 여러 호스트의 모음입니다. 동일한 블록의 컴퓨팅 인스턴스는 네트워크 지연 시간이 짧습니다.하위 블록 (
subBlock): 컴퓨팅 인스턴스가 있는 하위 블록의 조직별 ID입니다. 하위 블록 은 블록의 물리적 세분화로, 단일 물리적 인클로저 내에서 호스트를 그룹화합니다. 동일한 하위 블록의 컴퓨팅 인스턴스는 동일한 블록의 컴퓨팅 인스턴스보다 네트워크 지연 시간이 짧습니다.호스트 (
host): 컴퓨팅 인스턴스가 있는 호스트의 조직별 ID입니다. 호스트 는 컴퓨팅 인스턴스가 실행되는 단일 물리적 서버입니다. 각 호스트에는 자체 물리적 vCPU, 메모리, 스토리지, 네트워크 인터페이스 카드 (NIC)가 있습니다. 인접한 호스트의 컴퓨팅 인스턴스는 가능한 가장 낮은 네트워크 지연 시간을 경험합니다.
실행 중인 두 컴퓨팅 인스턴스가 공유하는 하위 필드가 많을수록 물리적으로 서로 더 가깝습니다. 이 정보를 사용하면 네트워크 지연 시간을 최소화할 수 있도록 작업을 구성하거나 더 복원력이 뛰어난 시스템을 설계하여 워크로드를 최적화할 수 있습니다.
시작하기 전에
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 서비스 및 API에 액세스하기 위해 ID를 확인합니다. Google Cloud 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.
이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.
콘솔
콘솔을 사용하여서비스 및 API에 액세스하는 경우 인증을 설정할 필요가 없습니다. Google Cloud Google Cloud
gcloud
-
Google Cloud CLI를 설치합니다. 설치 후 Google Cloud CLI를 초기화하려면 다음 명령어를 실행합니다.
gcloud init외부 ID 공급업체 (IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
-
- 기본 리전 및 영역을 설정합니다.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Google Cloud CLI를 설치합니다.
외부 ID 공급업체 (IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
자세한 내용은 인증 문서의 REST 사용을 위한 인증 을 참조하세요. Google Cloud
필요한 역할
컴퓨팅 인스턴스의 토폴로지를 확인하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 뷰어 (roles/compute.viewer) IAM 역할을 부여해달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이 사전 정의된 역할에는 컴퓨팅 인스턴스의 토폴로지를 확인하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
컴퓨팅 인스턴스의 토폴로지를 확인하려면 다음 권한이 필요합니다.
-
컴퓨팅 인스턴스의 세부정보를 보려면 프로젝트에 대한
compute.instances.get -
컴퓨팅 인스턴스 목록을 보려면:
compute.instances.list프로젝트에 대한
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
컴퓨팅 인스턴스 토폴로지 확인
실행 중인 컴퓨팅 인스턴스의 토폴로지를 확인하려면 다음 방법 중 하나를 사용하세요.
콘솔, gcloud CLI 또는 REST를 사용하여 컴퓨팅 인스턴스 토폴로지 확인 Google Cloud
콘솔, gcloud CLI 또는 REST를 사용하여 컴퓨팅 인스턴스 토폴로지 확인 Google Cloud
여러 컴퓨팅 인스턴스의 토폴로지를 동시에 보려면 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: 컴퓨팅 인스턴스가 있는 영역입니다.
출력은 다음과 비슷합니다.
---
block: 3e3056e23cf91a5cb4a8621b6a52c100
cluster: europe-west1-cluster-jfhb
host: 1215168a4ecdfb434fd4d28056589059
subBlock: 0fc09525cbd5abd734342893ca1c083f
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: 컴퓨팅 인스턴스가 있는 영역입니다.
출력은 다음과 비슷합니다. 다음 예시에서 컴퓨팅 인스턴스 vm-01 및 vm-02는 동일한 블록에 있습니다.
{
"items": [
{
"name": "vm-01",
"machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
"resourceStatus": {
"physicalHostTopology": {
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"cluster": "europe-west1-cluster-jfhb",
"host": "1215168a4ecdfb434fd4d28056589059",
"subBlock": "0fc09525cbd5abd734342893ca1c083f"
}
}
},
{
"name": "vm-02",
"machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
"resourceStatus": {
"physicalHostTopology": {
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"cluster": "europe-west1-cluster-jfhb",
"host": "2326279b5ecdfc545fd5e39167698168",
"subBlock": "1fc18636cbd4abd623553784ca2c174e"
}
}
},
...
]
}
컴퓨팅 인스턴스 목록을 세분화하려면 필터
표현식을
filter 쿼리 매개변수에서 수정하세요.
메타데이터 키를 쿼리하여 컴퓨팅 인스턴스 토폴로지 확인
physical_host_topology 메타데이터 키를 쿼리하여 실행 중인 컴퓨팅 인스턴스의 토폴로지를 보려면 다음 옵션 중 하나를 선택하세요.
Linux 인스턴스
Linux 인스턴스에 연결합니다.
physical_host_topology메타데이터 키를 사용하여curl쿼리합니다.user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology출력은 다음과 비슷합니다.
{ "block": "3e3056e23cf91a5cb4a8621b6a52c100", "cluster": "europe-west1-cluster-jfhb", "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": "1fc18636cbd4abd623553784ca2c174e" }
Windows 인스턴스
Windows 인스턴스에 연결합니다.
Invoke-RestMethod명령어를 사용하여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출력은 다음과 비슷합니다.
{ "block": "3e3056e23cf91a5cb4a8621b6a52c100", "cluster": "europe-west1-cluster-jfhb", "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": "1fc18636cbd4abd623553784ca2c174e" }