이 문서에서는 Google Cloud 조직에서 실행 중인 Compute Engine 인스턴스의 실제 위치를 확인하는 방법을 설명합니다.
컴퓨팅 인스턴스를 만들고 시작한 후 각 컴퓨팅 인스턴스가 실행되는 실제 호스트를 영역에서 확인할 수 있습니다. 클러스터에 있는 컴퓨팅 인스턴스의 실제 위치를 사용하여 다음 작업을 실행합니다.
네트워크 지연 시간 최소화: 서로 가장 가까운 컴퓨팅 인스턴스에서 지연 시간에 민감한 작업을 실행하도록 애플리케이션 또는 워크로드 설계를 조정합니다.
워크로드 안정성 개선: 별도의 실제 호스트에 컴퓨팅 인스턴스를 분산하여 애플리케이션에서 호스트 오류의 영향을 제한합니다.
프로젝트에서 실행되는 컴퓨팅 인스턴스를 확인하려면 컴퓨팅 인스턴스 목록을 확인하세요.
제한사항
다음 요구사항 중 하나 이상을 충족하는 클러스터, 블록, 하위 블록, 컴퓨팅 인스턴스 호스트의 ID를 볼 수 있습니다.
컴퓨팅 인스턴스는 다음 머신 유형 중 하나를 사용합니다.
A4X Max
A4X
A4
A3 Ultra
A3 Mega
GPU가 8개인 A3 High
A3 Edge
H4D
컴퓨팅 인스턴스가 압축 배치 정책을 지정합니다.
컴퓨팅 인스턴스가 높은 처리량 (
HIGH_THROUGHPUT) 유형의 워크로드 정책을 지정하는 관리형 인스턴스 그룹 (MIG)에 속합니다.
컴퓨팅 인스턴스가 앞의 요구사항을 충족하지 않으면 이 문서에 설명된 대로 노출한 후 호스트 ID를 볼 수 있습니다.
컴퓨팅 인스턴스 토폴로지 이해
각 컴퓨팅 인스턴스는 서버 블록에 있는 물리적 서버(호스트)에서 실행됩니다. 각 블록은 영역의 클러스터에 속합니다. 특정 요구사항을 충족하는 컴퓨팅 인스턴스의 세부정보를 보면 동일한 요구사항을 충족하는 다른 컴퓨팅 인스턴스와 관련된 토폴로지를 파악할 수 있습니다.
Compute Engine은 각 컴퓨팅 인스턴스의 physicalHostTopology 필드에 다음 하위 필드를 노출합니다. 실행 중인 두 컴퓨팅 인스턴스가 공유하는 하위 필드가 많을수록 서로 더 가까이 위치합니다.
클러스터 (
cluster): 컴퓨팅 인스턴스가 있는 클러스터의 전역 이름입니다. 클러스터는 여러 블록에 걸쳐 있을 수 있고 단일 리소스 풀로 함께 작동하는 여러 호스트의 상위 수준 논리적 그룹화입니다.블록 (
block): 컴퓨팅 인스턴스가 있는 블록의 조직별 ID입니다. 블록은 함께 그룹화된 여러 호스트의 모음입니다.하위 블록 (
subBlock): 컴퓨팅 인스턴스가 있는 하위 블록의 조직별 ID입니다. 하위 블록은 블록의 물리적 하위 구분으로, 단일 물리적 인클로저 내에서 호스트를 그룹화합니다.호스트 (
host): 컴퓨팅 인스턴스가 실행되는 호스트의 조직 또는 프로젝트별 ID입니다. 호스트 ID는 다음과 같이 변경됩니다.컴퓨팅 인스턴스에서 압축 배치 정책 또는 워크로드 정책을 지정하는 경우 호스트 ID는 프로젝트에만 적용됩니다.
컴퓨팅 인스턴스에서 지원되는 머신 시리즈를 지정하거나 호스트 ID를 노출하는 경우 호스트 ID는 조직에만 해당합니다.
시작하기 전에
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인합니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.
이 페이지의 샘플 사용 방법에 대한 탭을 선택하세요.
콘솔
Google Cloud 콘솔을 사용하여 Google Cloud 서비스 및 API에 액세스하는 경우 인증을 설정할 필요가 없습니다.
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에 로그인해야 합니다.
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요.
필요한 역할
컴퓨팅 인스턴스의 토폴로지를 확인하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 관리자 (roles/compute.admin) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이 사전 정의된 역할에는 컴퓨팅 인스턴스의 토폴로지를 확인하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
컴퓨팅 인스턴스의 토폴로지를 확인하려면 다음 권한이 필요합니다.
- 컴퓨팅 인스턴스의 세부정보를 보려면 다음을 실행하세요. compute.instances.get
- 컴퓨팅 인스턴스 목록을 보려면 다음을 실행하세요. compute.instances.list
-
컴퓨팅 인스턴스를 만들 때 호스트 ID를 노출하려면 다음을 실행하세요.
- 프로젝트에 대한
compute.instances.create권한 - 커스텀 이미지를 사용하여 VM 만들기: 이미지에 대한
compute.images.useReadOnly권한 - 스냅샷을 사용하여 VM 만들기: 스냅샷에 대한
compute.snapshots.useReadOnly권한 - 인스턴스 템플릿을 사용하여 VM 만들기: 인스턴스 템플릿에 대한
compute.instanceTemplates.useReadOnly권한 - VM에 기존 네트워크 할당: 프로젝트에 대한
compute.networks.use권한 - VM의 고정 IP 주소 지정: 프로젝트에 대한
compute.addresses.use권한 - 기존 네트워크 사용 시 VM에 외부 IP 주소 할당: 프로젝트에 대한
compute.networks.useExternalIp권한 - VM의 서브넷 지정: 프로젝트 또는 선택한 서브넷에 대한
compute.subnetworks.use권한 - VPC 네트워크를 사용할 때 VM에 외부 IP 주소 할당: 프로젝트 또는 선택한 서브넷에 대한
compute.subnetworks.useExternalIp권한 - VM에 VM 인스턴스 메타데이터 설정: 프로젝트에 대한
compute.instances.setMetadata권한 - VM에 태그 설정: VM에 대한
compute.instances.setTags권한 - VM에 라벨 설정: VM에 대한
compute.instances.setLabels권한 - VM에 사용할 서비스 계정 설정: VM에 대한
compute.instances.setServiceAccount권한 - VM의 새 디스크 만들기: 프로젝트에 대한
compute.disks.create권한 - 기존 디스크를 읽기 전용 또는 읽기-쓰기 모드로 연결: 디스크에 대한
compute.disks.use권한 - 기존 디스크를 읽기 전용 모드로 연결: 디스크에 대한
compute.disks.useReadOnly권한
- 프로젝트에 대한
- 인스턴스 템플릿을 만들 때 호스트 ID를 노출하려면 compute.instanceTemplates.create 권한이 필요합니다.
- 기존 컴퓨팅 인스턴스에서 호스트 ID를 표시하거나 숨기려면 compute.instances.update 권한이 필요합니다.
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
호스트 ID 노출 또는 숨기기
컴퓨팅 인스턴스가 특정 요구사항을 충족하지 않는 한 호스트 ID는 기본적으로 숨겨집니다. 컴퓨팅 인스턴스를 만들거나 업데이트할 때 호스트 ID를 노출할 수 있습니다. 컴퓨팅 인스턴스의 세부정보를 보면 Google Cloud 조직에 해당하는 호스트 ID를 확인할 수 있습니다. 컴퓨팅 인스턴스의 블록, 하위 블록 또는 클러스터 ID는 표시되지 않습니다.
컴퓨팅 인스턴스에서 호스트 ID를 노출하거나 숨기려면 다음 방법 중 하나를 사용하세요.
조직의 하나 이상의 프로젝트에 대해 호스트 ID 노출을 방지하려면 커스텀 제약 조건을 만들면 됩니다. 이 제약 조건은 보안에 민감한 워크로드를 실행하려는 경우에 유용합니다. 자세한 내용은 커스텀 제약 조건을 참고하세요.
기존 컴퓨팅 인스턴스에서 호스트 ID 노출 또는 숨기기
다시 시작하지 않고도 기존 컴퓨팅 인스턴스에서 호스트 ID를 노출하거나 숨길 수 있습니다. 기본적으로 호스트 ID를 표시하는 컴퓨팅 인스턴스의 호스트 ID를 노출하는 설정을 사용 중지하면 다음 중 하나가 발생합니다.
컴퓨팅 인스턴스에 압축 배치 정책 또는 워크로드 정책이 지정된 경우 프로젝트별 호스트 ID와 관련 실제 위치 정보가 표시됩니다.
컴퓨팅 인스턴스에서 H4D 머신 유형 또는 GPU가 8개인 A3 High 머신 유형 (또는 이후 세대)을 사용하는 경우 Compute Engine은 요청을 무시합니다.
기존 컴퓨팅 인스턴스의 호스트 ID를 표시하거나 숨기려면 다음 옵션 중 하나를 선택합니다.
gcloud
기존 컴퓨팅 인스턴스의 호스트 ID를 노출하거나 숨기려면 다음 플래그 중 하나와 함께 gcloud compute instances update 명령어를 사용합니다.
호스트 ID를 노출하려면
--expose-host-topology플래그를 포함하세요.gcloud compute instances update INSTANCE_NAME \ --expose-host-topology \ --zone=ZONE호스트 ID를 숨기려면
--no-expose-host-topology플래그를 포함합니다.gcloud compute instances update INSTANCE_NAME \ --no-expose-host-topology \ --zone=ZONE
다음을 바꿉니다.
INSTANCE_NAME: 컴퓨팅 인스턴스의 이름입니다.ZONE: 컴퓨팅 인스턴스가 있는 영역입니다.
REST
기존 컴퓨팅 인스턴스의 속성을 보려면
instances.get메서드에GET요청을 실행합니다.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME다음을 바꿉니다.
PROJECT_ID: 컴퓨팅 인스턴스를 만든 프로젝트의 ID입니다.ZONE: 컴퓨팅 인스턴스가 있는 영역입니다.INSTANCE_NAME: 컴퓨팅 인스턴스의 이름입니다.
호스트 ID를 표시하거나 숨기도록 컴퓨팅 인스턴스를 업데이트하려면
PUT요청을instances.update메서드에 보냅니다. 요청 본문에서 이전 단계의GET요청 출력을 사용합니다. 하지만scheduling필드에는exposeHostTopology필드를 추가하여 호스트 ID를 표시하거나 숨겨야 합니다. 요청 출력에scheduling필드가 없으면 이 필드도 추가합니다.PUT요청은 다음과 유사합니다.PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME?mostDisruptiveAllowedAction=REFRESH { "scheduling": { "exposeHostTopology": EXPOSE_HOST_ID }, ... }EXPOSE_HOST_ID을 다음 값 중 하나로 바꿉니다.호스트 ID를 노출하려면 다음을 실행하세요.
true호스트 ID를 숨기려면 다음을 따르세요.
false
새 컴퓨팅 인스턴스에서 호스트 ID 노출
컴퓨팅 인스턴스를 만드는 동안 호스트 ID를 노출하려면 다음 옵션 중 하나를 선택합니다.
gcloud
컴퓨팅 인스턴스를 만드는 동안 호스트 ID를 노출하려면 --expose-host-topology 플래그와 함께 gcloud compute instances create 명령어를 사용합니다.
gcloud compute instances create INSTANCE_NAME \
--machine-type=MACHINE_TYPE \
--expose-host-topology \
--zone=ZONE
다음을 바꿉니다.
INSTANCE_NAME: 컴퓨팅 인스턴스의 이름입니다.MACHINE_TYPE: 컴퓨팅 인스턴스에서 사용할 머신 유형입니다.ZONE: 컴퓨팅 인스턴스를 만들 영역입니다.
REST
컴퓨팅 인스턴스를 만드는 동안 호스트 ID를 노출하려면 instances.insert 메서드에 POST 요청을 보냅니다.
요청 본문에 true로 설정된 scheduling.exposeHostTopology 필드를 포함합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"name": "INSTANCE_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"scheduling": {
"exposeHostTopology": true
}
}
다음을 바꿉니다.
PROJECT_ID: 컴퓨팅 인스턴스를 만들 프로젝트의 ID입니다.ZONE: 컴퓨팅 인스턴스를 만들 영역입니다.INSTANCE_NAME: 컴퓨팅 인스턴스의 이름입니다.MACHINE_TYPE: 컴퓨팅 인스턴스에서 사용할 머신 유형입니다.IMAGE_PROJECT: 이미지가 포함된 이미지 프로젝트입니다(예:debian-cloud). 지원되는 이미지 프로젝트에 대한 자세한 내용은 공개 OS 이미지를 참고하세요.IMAGE: 다음 중 하나를 지정합니다.OS 이미지의 특정 버전입니다(예:
debian-12-bookworm-v20240617).이미지 계열이며 형식은
family/IMAGE_FAMILY여야 합니다. 중단되지 않은 최신 OS 이미지를 지정합니다. 예를 들어family/debian-12를 지정하면 Debian 12 이미지 계열의 최신 버전이 사용됩니다. 이미지 계열 사용에 대한 자세한 내용은 이미지 계열 권장사항을 참조하세요.
새 컴퓨팅 인스턴스에서 호스트 ID를 일괄적으로 노출
컴퓨팅 인스턴스를 일괄로 만들 때 호스트 ID를 노출하려면 다음 옵션 중 하나를 선택합니다.
gcloud
컴퓨팅 인스턴스를 일괄적으로 만들 때 호스트 ID를 노출하려면 --expose-host-topology 플래그와 함께 gcloud compute instances create-bulk 명령어를 실행합니다.
예를 들어 단일 영역에서 컴퓨팅 인스턴스를 일괄로 만들고 호스트 ID를 노출하도록 지정하려면 다음 명령어를 실행합니다.
gcloud compute instances create-bulk \
--count=COUNT \
--machine-type=MACHINE_TYPE \
--name-pattern="NAME_PATTERN" \
--expose-host-topology \
--zone=ZONE
다음을 바꿉니다.
COUNT: 만들 컴퓨팅 인스턴스 수입니다.MACHINE_TYPE: 컴퓨팅 인스턴스에서 사용할 머신 유형입니다.NAME_PATTERN: 컴퓨팅 인스턴스의 이름 패턴입니다. 컴퓨팅 인스턴스 이름에서 일련의 숫자를 바꾸려면 해시 (#) 문자 시퀀스를 사용하세요. 예를 들어 이름 패턴에instance-#을 사용하면 이름이instance-1,instance-2로 시작하고COUNT에 지정된 최대 컴퓨팅 인스턴스 수까지 이어지는 컴퓨팅 인스턴스가 생성됩니다.ZONE: 컴퓨팅 인스턴스를 일괄로 만들 영역
REST
컴퓨팅 인스턴스를 일괄적으로 만들 때 호스트 ID를 노출하려면 instances.bulkInsert 메서드에 POST 요청을 보냅니다.
요청 본문에 true으로 설정된 instanceProperties.scheduling.exposeHostTopology 필드를 포함합니다.
예를 들어 단일 영역에 컴퓨팅 인스턴스를 일괄로 만들고 호스트 ID를 노출하도록 지정하려면 다음과 같이 POST 요청을 수행합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert
{
"count": "COUNT",
"namePattern": "NAME_PATTERN",
"instanceProperties": {
"machineType": "MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"scheduling": {
"exposeHostTopology": true
}
}
}
다음을 바꿉니다.
PROJECT_ID: 컴퓨팅 인스턴스를 만들 프로젝트의 ID입니다.ZONE: 컴퓨팅 인스턴스를 만들 영역입니다.COUNT: 만들 컴퓨팅 인스턴스 수입니다.NAME_PATTERN: 컴퓨팅 인스턴스의 이름 패턴입니다. 컴퓨팅 인스턴스 이름에서 일련의 숫자를 바꾸려면 해시 (#) 문자 시퀀스를 사용하세요. 예를 들어 이름 패턴에instance-#을 사용하면 이름이instance-1,instance-2로 시작하고COUNT에 지정된 최대 컴퓨팅 인스턴스 수까지 이어지는 컴퓨팅 인스턴스가 생성됩니다.MACHINE_TYPE: 컴퓨팅 인스턴스에서 사용할 머신 유형입니다.IMAGE_PROJECT: 이미지가 포함된 이미지 프로젝트입니다(예:debian-cloud). 지원되는 이미지 프로젝트에 대한 자세한 내용은 공개 OS 이미지를 참고하세요.IMAGE: 다음 중 하나를 지정합니다.OS 이미지의 특정 버전입니다(예:
debian-12-bookworm-v20240617).이미지 계열이며 형식은
family/IMAGE_FAMILY여야 합니다. 중단되지 않은 최신 OS 이미지를 지정합니다. 예를 들어family/debian-12를 지정하면 Debian 12 이미지 계열의 최신 버전이 사용됩니다. 이미지 계열 사용에 대한 자세한 내용은 이미지 계열 권장사항을 참조하세요.
새 인스턴스 템플릿에서 호스트 ID 노출
호스트 ID를 노출하도록 지정하는 인스턴스 템플릿을 만든 후에는 인스턴스 템플릿을 사용하여 다음을 수행할 수 있습니다.
다음을 수행할 때 관리형 인스턴스 그룹(MIG)의 컴퓨팅 인스턴스에서 호스트 ID를 노출합니다.
인스턴스 템플릿을 만드는 동안 호스트 ID를 노출하려면 다음 옵션 중 하나를 선택합니다.
gcloud
인스턴스 템플릿을 만드는 동안 호스트 ID를 노출하려면 --expose-host-topology 플래그와 함께 gcloud compute instance-templates create 명령어를 사용합니다.
예를 들어 다음 명령어를 사용하여 리전 인스턴스 템플릿을 만듭니다. 전역 인스턴스 템플릿을 만들려면 --instance-template-region 플래그 없이 같은 명령어를 사용합니다.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--expose-host-topology \
--instance-template-region=REGION \
--machine-type=MACHINE_TYPE
다음을 바꿉니다.
INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름입니다.REGION: 인스턴스 템플릿을 만들 리전MACHINE_TYPE: 컴퓨팅 인스턴스에서 사용할 머신 유형입니다.
REST
인스턴스 템플릿을 만드는 동안 호스트 ID를 노출하려면 다음 메서드 중 하나에 POST 요청을 보냅니다. 요청 본문에 true으로 설정된 properties.scheduling.exposeHostTopology 필드를 포함합니다.
전역 인스턴스 템플릿을 만들려면
instanceTemplates.insert메서드를 사용합니다.리전 인스턴스 템플릿을 만들려면
regionInstanceTemplates.insert메서드를 사용합니다.
예를 들어 호스트 ID를 노출하는 리전 인스턴스 템플릿을 만들려면 다음과 같이 POST 요청을 수행합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"scheduling": {
"exposeHostTopology": true
}
}
}
다음을 바꿉니다.
PROJECT_ID: 인스턴스 템플릿을 만들 프로젝트의 ID입니다.REGION: 인스턴스 템플릿을 만들 리전입니다.INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름입니다.IMAGE_PROJECT: 이미지가 포함된 이미지 프로젝트입니다(예:debian-cloud). 지원되는 이미지 프로젝트에 대한 자세한 내용은 공개 OS 이미지를 참고하세요.IMAGE: 다음 중 하나를 지정합니다.OS 이미지의 특정 버전입니다(예:
debian-12-bookworm-v20240617).이미지 계열이며 형식은
family/IMAGE_FAMILY여야 합니다. 중단되지 않은 최신 OS 이미지를 지정합니다. 예를 들어family/debian-12를 지정하면 Debian 12 이미지 계열의 최신 버전이 사용됩니다. 이미지 계열 사용에 대한 자세한 내용은 이미지 계열 권장사항을 참조하세요.
MACHINE_TYPE: 컴퓨팅 인스턴스에서 사용할 머신 유형입니다.
컴퓨팅 인스턴스 실제 위치 확인
실행 중인 컴퓨팅 인스턴스가 특정 요구사항을 충족하거나 호스트 ID를 노출하는 경우에만 실행 중인 컴퓨팅 인스턴스의 실제 위치를 볼 수 있습니다.
조직에서 실행 중인 컴퓨팅 인스턴스의 실제 위치를 확인하려면 다음 방법 중 하나를 사용하세요.
Google Cloud 콘솔, gcloud CLI 또는 REST를 사용하여 실제 위치 확인
여러 컴퓨팅 인스턴스의 실제 위치를 한 번에 보려면 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: 컴퓨팅 인스턴스가 있는 영역입니다.
출력은 다음 중 하나와 비슷합니다.
컴퓨팅 인스턴스의 클러스터, 블록, 하위 블록, 호스트 ID를 볼 수 있으면 출력은 다음과 비슷합니다.
--- block: 3e3056e23cf91a5cb4a8621b6a52c100 cluster: europe-west1-cluster-jfhb host: 1215168a4ecdfb434fd4d28056589059 subBlock: 0fc09525cbd5abd734342893ca1c083f호스트를 노출한 후에만 호스트의 ID를 볼 수 있는 경우 출력은 다음과 유사합니다.
--- block: null cluster: null host: 1215168a4ecdfb434fd4d28056589059 subBlock: null
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: 컴퓨팅 인스턴스가 있는 영역입니다.
출력은 다음 중 하나와 비슷합니다.
컴퓨팅 인스턴스의 클러스터, 블록, 하위 블록, 호스트 ID를 볼 수 있으면 출력은 다음과 비슷합니다. 다음 예에서 컴퓨팅 인스턴스
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" } } }, ... ] }호스트를 노출한 후에만 호스트의 ID를 볼 수 있는 경우 출력은 다음과 유사합니다.
{ "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": null, "cluster": null, "host": "1215168a4ecdfb434fd4d28056589059", "subBlock": null } } }, { "name": "vm-02", "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g", "resourceStatus": { "physicalHostTopology": { "block": null, "cluster": null, "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": null } } }, ... ] }
컴퓨팅 인스턴스 목록을 미세 조정하려면 filter 쿼리 매개변수에서 필터 표현식을 수정합니다.
메타데이터 키를 쿼리하여 실제 위치 확인
physical_host_topology 메타데이터 키를 쿼리하여 실행 중인 컴퓨팅 인스턴스의 실제 위치를 보려면 다음 옵션 중 하나를 선택합니다.
Linux 인스턴스
Linux 인스턴스에 연결합니다.
curl를 사용하여physical_host_topology메타데이터 키를 쿼리합니다.user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology출력은 다음 중 하나와 비슷합니다.
컴퓨팅 인스턴스의 클러스터, 블록, 하위 블록, 호스트 ID를 볼 수 있으면 출력은 다음과 비슷합니다.
{ "block": "3e3056e23cf91a5cb4a8621b6a52c100", "cluster": "europe-west1-cluster-jfhb", "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": "1fc18636cbd4abd623553784ca2c174e" }호스트를 노출한 후에만 호스트의 ID를 볼 수 있는 경우 출력은 다음과 비슷합니다.
{ "block": null, "cluster": null, "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": null }
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출력은 다음 중 하나와 비슷합니다.
컴퓨팅 인스턴스의 클러스터, 블록, 하위 블록, 호스트 ID를 볼 수 있으면 출력은 다음과 비슷합니다.
{ "block": "3e3056e23cf91a5cb4a8621b6a52c100", "cluster": "europe-west1-cluster-jfhb", "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": "1fc18636cbd4abd623553784ca2c174e" }호스트를 노출한 후에만 호스트의 ID를 볼 수 있는 경우 출력은 다음과 비슷합니다.
{ "block": null, "cluster": null, "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": null }
다음 단계
컴퓨팅 인스턴스의 호스트 이벤트에 대해 자세히 알아보세요.
컴퓨팅 인스턴스를 모니터링하는 방법을 알아봅니다.