각 가상 머신(VM) 인스턴스는 데이터 센터의 클러스터에 배치된 랙에 있는 물리적 서버 또는 호스트에서 실행됩니다. 다음 배치 정책을 사용하여 영역 내에서 VM이 서로 상대적으로 배치된 물리적 위치를 제어할 수 있습니다.
- 분산 정책. VM을 서로 분산하려면 분산 정책을 사용합니다. 이렇게 하면 호스트 시스템 장애로 인한 영향을 줄이거나 VM의 라이브 마이그레이션을 최적화할 수 있습니다.
- 압축 정책. VM 간의 네트워크 지연 시간이 단축되도록 VM을 서로 가까이 배치하려는 경우에는 압축 정책을 사용합니다.
시작하기 전에
- 이 가이드의 명령줄 예시를 사용하려면 다음을 수행하세요.
- 최신 버전의 Google Cloud CLI를 설치하거나 업데이트합니다.
- 기본 리전 및 영역을 설정합니다.
- 이 가이드의 API 예시를 사용하려면 API 액세스를 설정합니다.
제한사항
배치 정책에는 다음과 같은 제한사항이 있습니다.
- 분산 정책:
- 정책당 VM을 최대 8개까지 지원합니다.
- C2, G2, N1, N2, N2D 머신 유형만 지원합니다.
- VM 배치 토폴로지 API에서는 사용할 수 없습니다.
- VM 예약과 함께 사용할 수 없습니다.
- 압축 정책:
- 각 정책에서 VM을 최대 150개까지 지원합니다.
- A2, C2, G2, C2D, N2, N2D 머신 유형만 지원합니다.
- 라이브 마이그레이션을 지원하지 않습니다.
- 호스트 유지보수 이벤트의 경우
TERMINATE
로 구성된 VM에서만 사용할 수 있습니다. - 단일 프로젝트의 VM 예약에만 사용할 수 있습니다. 프로젝트 간에 공유된 예약 또는 약정 사용 할인에 연결된 예약은 지원되지 않습니다.
- 단독 테넌트 노드와 함께 사용할 수 없습니다.
- 기존 VM에 적용할 수 없습니다.
배치 정책 만들기
VM이 서로 상대적으로 배치되어 있는 위치를 제어하려면 다음 프로세스를 수행합니다.
- VM에 필요한 배치 구성으로 분산 또는 압축 배치 정책 중 하나를 만듭니다.
- 하나 이상의 VM에 배치 정책을 적용합니다. 동일한 정책을 공유하는 VM은 정책을 정의한 방식에 따라 상대적으로 배치됩니다. 새 VM과 기존 VM에 정책을 적용할 수도 있고, 인스턴스 템플릿에 정책을 지정할 수도 있습니다. 인스턴스 템플릿을 사용하여 독립형 VM, 관리형 인스턴스 그룹(MIG), VM 예약을 만들 수 있습니다.
분산 배치 정책 만들기
VM이 여러 가용성 도메인에 위치한 분산 배치 정책을 만들려면 이 정책이 VM을 서로 구분하는 데 사용할 가용성 도메인 수를 지정합니다.
gcloud
gcloud CLI를 사용하여 정책을 만듭니다.
gcloud compute resource-policies create group-placement POLICY_NAME \ --availability-domain-count DOMAIN_COUNT \ --region REGION \ --project PROJECT_ID
다음을 바꿉니다.
POLICY_NAME
: 새 정책 이름입니다.DOMAIN_COUNT
: 이 정책이 VM을 구분하는 데 사용할 호스트 하드웨어 및 물리적 네트워크의 고유한 집합 수입니다.REGION
: 이 정책을 사용하는 VM을 만들려는 리전입니다.PROJECT_ID
: 프로젝트 ID입니다.
API
Google Cloud 콘솔 API 및 서비스에서 resourcePolicies.insert
메서드를 사용하여 분산 배치 정책을 만듭니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
요청 본문에 배치 정책 세부정보를 제공합니다.
{ "name": "POLICY_NAME", "groupPlacementPolicy": { "availabilityDomainCount": DOMAIN_COUNT } }
다음을 바꿉니다.
PROJECT_ID
: 프로젝트 ID입니다.REGION
: 이 정책을 사용하는 VM을 만들려는 리전입니다.POLICY_NAME
: 새 정책 이름입니다.DOMAIN_COUNT
: 이 정책이 VM을 구분하는 데 사용할 호스트 하드웨어 및 물리적 네트워크의 고유한 집합 수입니다.
압축 배치 정책 만들기
VM이 서로 가깝고 동일한 네트워크 인프라에 배치되는 압축 배치 정책을 만들려면 COLLOCATED
정책을 지정합니다.
gcloud
gcloud CLI를 사용하여 정책을 만듭니다.
gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation COLLOCATED \ --region REGION \ --project PROJECT_ID
다음을 바꿉니다.
POLICY_NAME
: 새 정책 이름입니다.REGION
: 이 정책을 사용하는 VM을 만들려는 리전입니다.PROJECT_ID
: 프로젝트 ID입니다.
API
Google Cloud 콘솔 API 및 서비스에서 resourcePolicies.insert
메서드를 사용하여 압축 배치 정책을 만듭니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
요청 본문에 배치 정책 세부정보를 제공합니다.
{ "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED" } }
다음을 바꿉니다.
PROJECT_ID
: 프로젝트 ID입니다.REGION
: 이 정책을 사용하는 VM을 만들려는 리전입니다.POLICY_NAME
: 새 정책 이름입니다.
VM에 배치 정책 적용
배치 정책을 만든 후 새 VM 또는 기존 VM에 적용할 수 있습니다. 배치 정책 지원은 시나리오에 따라 다릅니다.
시나리오 | 압축 배치 지원 | 분산 배치 지원 |
---|---|---|
새 VM에 배치 정책 적용 | ||
기존 VM에 배치 정책 적용 | ||
VM을 만드는 데 사용할 수 있는 인스턴스 템플릿에 배치 정책 지정 | ||
MIG를 만들거나 업데이트하는 데 사용할 수 있는 인스턴스 템플릿에 배치 정책 지정 | ||
VM 예약을 만드는 데 사용할 수 있는 인스턴스 템플릿에 배치 정책 지정 |
새 VM에 배치 정책 적용
배치 정책을 만든 후 하나 이상의 VM에 적용합니다. 동일한 정책을 공유하는 VM은 정책을 정의한 방식에 따라 상대적으로 배치됩니다.
gcloud
VM을 개별적으로 또는 일괄로 만들 때 --resource-policies
플래그를 포함하여 VM에 배치 정책을 적용합니다.
압축 배치 정책의 경우 --maintenance-policy=TERMINATE
및 --no-restart-on-failure
플래그를 포함해야 합니다.
예를 들어 압축 배치 정책을 사용하는 VM을 만들려면 다음 명령어를 사용합니다.
gcloud compute instances create VM_NAME \ --zone=ZONE \ --resource-policies=POLICY_NAME \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --project=PROJECT_ID \ --maintenance-policy=TERMINATE \ --no-restart-on-failure \ --async
다음을 바꿉니다.
VM_NAME
: 새 VM의 이름입니다.ZONE
: 새 VM을 만들 영역입니다.이 영역은 배치 정책이 위치한 동일한 리전에 있어야 합니다.
POLICY_NAME
: 이 VM에 적용할 배치 정책의 이름입니다.VM에 배치 정책을 두 개 이상 적용할 수 있습니다.
IMAGE_FAMILY
: 사용 가능한 이미지 계열 중 하나입니다.IMAGE_PROJECT
: 이미지가 속한 이미지 프로젝트입니다.PROJECT_ID
: 프로젝트 ID입니다.
API
VM을 개별적으로 또는 일괄로 만들 때 --resource-policies
플래그를 포함하여 VM에 배치 정책을 적용합니다.
예를 들어 단일 VM을 만들려면 다음 명령어를 사용합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
요청 본문에 리소스 정책을 제공합니다. 압축 배치 정책의 경우 "onHostMaintenance": "TERMINATE"
및 "automaticRestart": false
인수를 포함해야 합니다.
{ "name": "VM_NAME", "machineType": "machineTypes/MACHINE_TYPE" "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT" }], "network": "global/networks/default" }], "scheduling": { "onHostMaintenance": "TERMINATE", "automaticRestart": false }, "disks": [{ "autoDelete": "true", "boot": "true", "type": "PERSISTENT", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } }], "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ] }
다음을 바꿉니다.
PROJECT_ID
: 프로젝트 ID입니다.ZONE
: 새 VM을 만들 영역입니다.이 영역은 배치 정책이 위치한 동일한 리전에 있어야 합니다.
VM_NAME
: 새 VM의 이름입니다.MACHINE_TYPE
: 새 VM의 머신 유형입니다.IMAGE_PROJECT
: 이미지가 속한 이미지 프로젝트입니다.IMAGE_FAMILY
: 사용 가능한 이미지 계열 중 하나입니다.REGION
: 배치 정책을 만든 리전입니다.POLICY_NAME
: 이 VM에 적용할 배치 정책의 이름입니다.VM에 배치 정책을 두 개 이상 적용할 수 있습니다.
기존 VM에 분산 배치 정책 적용
분산 배치 정책을 만드는 경우 VM을 다시 시작하지 않고 기존 VM 하나 이상에 적용할 수 있습니다.
gcloud
add-resource-policies
명령어를 사용하여 기존 인스턴스에 분산 배치 정책을 적용합니다.
gcloud compute instances add-resource-policies VM_NAME \ --zone=ZONE \ --resource-policies=SPREAD_PLACEMENT_POLICY_NAME \ --project=PROJECT_ID
다음을 바꿉니다.
VM_NAME
: VM의 이름입니다.ZONE
: VM의 영역이 영역은 배치 정책이 위치한 동일한 리전에 있어야 합니다.
SPREAD_PLACEMENT_POLICY_NAME
: 이 VM에 적용할 기존 분산 배치 정책의 이름입니다.PROJECT_ID
: 프로젝트 ID입니다.
API
addResourcePolicies
메서드를 사용하여 기존 인스턴스에 분산 배치 정책을 적용합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/addResourcePolicies
요청 본문에 분산 배치 정책을 제공합니다.
{ "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/SPREAD_PLACEMENT_POLICY_NAME" ] }
다음을 바꿉니다.
PROJECT_ID
: 프로젝트 ID입니다.ZONE
: 새 VM을 만들 영역입니다.이 영역은 배치 정책이 위치한 동일한 리전에 있어야 합니다.
VM_NAME
: 새 VM의 이름입니다.REGION
: 이 정책을 사용하는 VM 인스턴스를 만들려는 리전입니다.SPREAD_PLACEMENT_POLICY_NAME
: 이 VM에 적용할 기존 분산 배치 정책의 이름입니다.
배치 정책을 지정하는 인스턴스 템플릿 만들기
인스턴스 템플릿을 만들 때 배치 정책을 지정할 수 있습니다. 구체적으로는 다음과 같습니다.
인스턴스 템플릿에 압축 배치 정책을 지정하면 템플릿을 사용하여 MIG, VM, VM 예약을 만들 수 있습니다.
인스턴스 템플릿에 분산 배치 정책을 지정하면 템플릿을 사용하여 MIG 및 VM만 만들 수 있습니다.
gcloud
리소스 정책을 지정하는 인스턴스 템플릿을 만들려면 gcloud compute instance-templates create
명령어를 --resource-policies
플래그와 함께 사용합니다. 압축 배치 정책을 지정하려면 --maintenance-policy=TERMINATE
및 --no-restart-on-failure
플래그도 지정해야 합니다.
예를 들어 기본 VM 속성이 있고 압축 배치 정책을 포함하는 인스턴스 템플릿을 만들려면 다음 명령어를 사용합니다.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--resource-policies=COMPACT_PLACEMENT_POLICY_NAME \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
다음을 바꿉니다.
INSTANCE_TEMPLATE_NAME
: 인스턴스 템플릿의 이름입니다.COMPACT_PLACEMENT_POLICY_NAME
: 기존 압축 배치 정책의 이름입니다.
API
리소스 정책을 지정하는 인스턴스 템플릿을 만들려면 instanceTemplates.insert
메서드에 POST
를 요청합니다.
요청 본문에서 resourcePolicies
필드에 배치 정책을 지정합니다. 압축 배치 정책을 지정하려면 "onHostMaintenance": "TERMINATE"
및 "automaticRestart": false
필드도 지정해야 합니다.
예를 들어 기본 VM 속성이 있고 압축 배치 정책을 포함하는 인스턴스 템플릿을 만들려면 다음 명령어를 사용합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"resourcePolicies": {
"COMPACT_PLACEMENT_POLICY_NAME"
},
"scheduling": {
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
},
...
}
}
다음을 바꿉니다.
PROJECT_ID
: 현재 프로젝트의 프로젝트 ID입니다.INSTANCE_TEMPLATE_NAME
: 인스턴스 템플릿의 이름입니다.COMPACT_PLACEMENT_POLICY_NAME
: 기존 압축 배치 정책의 이름입니다.
템플릿을 사용하여 MIG, VM, VM 예약을 만들려면 다음 문서를 참조하세요.
- 관리형 인스턴스 그룹의 VM에 배치 정책 적용
- 인스턴스 템플릿에서 VM 인스턴스 만들기 제한사항을 검토합니다.
- 인스턴스 템플릿에서 압축 배치 정책을 지정하면 이를 사용하여 단일 프로젝트에 대한 예약을 만들 수 있습니다.
관리형 인스턴스 그룹의 VM에 배치 정책 적용
배치 정책을 만든 후 정책을 지정하는 인스턴스 템플릿을 만듭니다. 그런 다음 해당 인스턴스 템플릿으로 MIG를 만들거나 기존 MIG를 업데이트합니다. 해당 인스턴스 템플릿을 사용하는 그룹의 VM에 배치 정책이 적용됩니다.
워크로드에 필요한 VM 간 통신량이 많은 경우 압축 배치 정책을 만들고 모든 단일 영역 분산 형태로 리전 MIG를 사용하는 것이 좋습니다. 모든 단일 영역 형태를 사용하면 리전 MIG에 VM이 없는 상황에서 수평 확장해야 할 때 그룹에서 예약, 할당량, 하드웨어 요구사항을 기반으로 최적의 영역을 선택합니다.
새 MIG에 배치 정책 적용
gcloud CLI 또는 Compute Engine API를 사용할 수 있습니다.
gcloud
이전에 만든 템플릿을 기반으로 하는 VM을 사용하여 MIG를 만들려면 instance-groups managed create
명령어를 사용합니다.
예를 들어 모든 단일 영역 분산 형태로 리전 MIG를 만들려면 다음 명령어를 사용합니다.
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template TEMPLATE_NAME \ --size SIZE \ --region REGION \ --zones ZONES \ --target-distribution-shape=any-single-zone
다음을 바꿉니다.
INSTANCE_GROUP_NAME
: 이 인스턴스 그룹의 이름입니다.TEMPLATE_NAME
: 이 그룹에 사용할 인스턴스 템플릿의 이름입니다.SIZE
: 인스턴스 그룹의 크기입니다.REGION
: 이 인스턴스 그룹의 리전입니다.ZONES
(선택사항): MIG가 VM 인스턴스를 배포할 수 있는 리전의 영역 목록입니다. 기본적으로 Compute Engine은 자동으로 영역 3개를 선택합니다.MIG에서 리전의 모든 영역을 사용할 수 있게 하려면 사용 가능한 모든 영역을 지정합니다. 다음 명령어를 사용하여 리전 내 영역 목록을 가져올 수 있습니다.
gcloud compute zones list --filter=region:
REGION
--format='list(NAME)'리전 MIG를 만든 후에는 다른 영역을 사용하도록 업데이트할 수 없습니다.
API
이전에 만든 템플릿을 기반으로 하는 VM을 사용하여 MIG를 만들려면 instanceGroupManagers.insert
또는 regionInstanceGroupManagers.insert
메서드를 호출하고 해당 템플릿을 지정합니다. 예를 들어 모든 단일 영역 분산 형태로 리전 MIG를 만들려면 다음 메서드를 사용합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "instanceTemplate": "global/instanceTemplates/TEMPLATE_NAME", "targetSize": SIZE, "distributionPolicy": { "zones": [ {"zone": "zones/ZONE1"}, {"zone": "zones/ZONE2"}, {"zone": "zones/ZONE3"}, ], "targetShape": "ANY_SINGLE_ZONE" } }
다음을 바꿉니다.
PROJECT_ID
: 이 요청의 프로젝트 ID입니다.REGION
: 그룹의 리전입니다.INSTANCE_GROUP_NAME
: MIG 이름입니다.TEMPLATE_NAME
: 사용할 인스턴스 템플릿입니다.SIZE
: 그룹의 대상 VM 수입니다.ZONES
: MIG가 VM 인스턴스를 배포할 수 있는 리전의 영역 이름입니다.- MIG에서 리전의 모든 영역을 사용할 수 있게 하려면 사용 가능한 모든 영역을 지정합니다.
regions.get
메서드를 호출하여 리전 내 영역 목록을 가져올 수 있습니다. - 리전 MIG를 만든 후에는 다른 영역을 사용하도록 업데이트할 수 없습니다.
- MIG에서 리전의 모든 영역을 사용할 수 있게 하려면 사용 가능한 모든 영역을 지정합니다.
MIG를 만드는 방법에 대한 자세한 내용은 관리형 인스턴스 그룹(MIG)을 만들기 위한 기본 시나리오를 참조하세요.
기존 MIG에 배치 정책 적용
배치 정책을 만든 후 정책을 지정하는 인스턴스 템플릿을 만듭니다. 그런 다음 기존 MIG에 템플릿을 적용합니다. gcloud CLI 또는 Compute Engine API를 사용할 수 있습니다.
gcloud
새 템플릿을 사용하도록 MIG를 업데이트하고 새 템플릿을 MIG의 기존 VM에 자동으로 출시하려면 다음과 같이 instance-groups managed rolling-action start-update
명령어를 사용합니다.
gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \ --template TEMPLATE_NAME \ --type=proactive
API
새 템플릿을 사용하도록 MIG를 업데이트하려면 리전 또는 영역 MIG에 대해 patch
메서드를 호출합니다.
예를 들어 리전 MIG의 경우 다음 요청은 전체 인스턴스를 자동으로 새 인스턴스 템플릿으로 업데이트하는 데 필요한 최소 구성을 보여줍니다.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "instanceTemplate": "global/instanceTemplates/TEMPLATE_NAME", "updatePolicy": { "type": "PROACTIVE" } }
MIG의 VM을 업데이트하는 다른 방법은 MIG의 VM에 새 구성 업데이트 및 적용을 참조하세요.
배치 정책 보기
gcloud CLI와 Compute Engine API를 사용하여 VM에 적용된 배치 정책과 특정 배치 정책의 세부정보를 볼 수 있습니다.
VM 배치 정책 보기
gcloud
VM 리소스 배치 정책을 보려면 gcloud compute instances
describe
명령어를 사용합니다.
gcloud compute instances describe VM_NAME
VM_NAME
을 VM 이름으로 바꿉니다.
배치 정책을 사용할 수 있으면 출력에 resourcePolicies
필드가 포함됩니다.
resourcePolicies: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGIONS/resourcePolicies/POLICY_NAME
API
VM 리소스 배치 정책을 보려면 instances.get
메서드를 사용합니다.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
다음을 바꿉니다.
PROJECT_ID
: 프로젝트 ID입니다.ZONE
: VM이 포함된 영역입니다.VM_NAME
: VM의 이름입니다.
배치 정책을 사용할 수 있으면 resourcePolicies
필드에서 VM의 리소스 정책을 반환합니다.
"resourcePolicies": [ "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/VM_NAME" ],
배치 정책 세부정보 보기
gcloud
배치 정책 세부정보를 보려면 gcloud compute
resource-policies describe
명령어를 사용합니다.
gcloud compute resource-policies describe POLICY_NAME
POLICY_NAME
을 배치 정책의 이름으로 바꿉니다.
배치 정책을 사용할 수 있으면 출력에 배치 정책 세부정보가 포함됩니다.
... groupPlacementPolicy: availabilityDomainCount: 2 kind: compute#resourcePolicy name: POLICY_NAME region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION ...
API
배치 정책 세부정보를 보려면 resourcePolicies.get
메서드를 사용합니다.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME
다음을 바꿉니다.
PROJECT_ID
: 프로젝트 ID입니다.REGION
: VM이 포함된 리전입니다.POLICY_NAME
: 배치 정책의 이름입니다.
배치 정책을 사용할 수 있으면 응답 본문에 배치 정책 세부정보가 포함됩니다.
... "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION", "name": "POLICY_NAME", "groupPlacementPolicy": { "availabilityDomainCount": 2 }, "kind": "compute#resourcePolicy" ...
VM 배치 토폴로지 보기
다른 VM과 관련하여 VM이 있는 위치에 대한 정보를 볼 수 있습니다. 이 정보는 VM의 토폴로지를 빌드하고 서로 가장 가까운 VM과 최소 하드웨어 용량을 공유하는 VM을 결정하는 데 도움이 됩니다.
동일한 배치 정책을 사용하는 VM에 대해서만 VM 배치 토폴로지 정보를 비교할 수 있습니다.
gcloud
배치 정책으로 만든 VM의 resource
속성을 봅니다.
gcloud compute instances describe VM_NAME \ --format="table[box,title=VM-Topology](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)"
VM_NAME
을 배치 정책을 사용하는 VM 인스턴스의 이름으로 바꿉니다.
출력은 다음과 비슷하게 표시됩니다.
VM-Topology RESOURCE_POLICIES: us-central1/resourcePolicies/policy_name'] PHYSICAL_HOST: /xxxxxxxx/xxxxxx/xxxxx
PHYSICAL_HOST
의 값은 필드 3개로 구성됩니다. 이 필드에는 VM이 있는 클러스터, 서버 랙, 호스트 머신을 나타내는 해시 값이 포함됩니다. 이 값을 다른 VM과 비교할 때 동일한 문자열이 있는 필드가 많을수록 VM이 서로 더 가깝게 배치됩니다. 예를 들어 같은 프로젝트, 클러스터에 속하고 같은 랙에서 실행되는 두 VM에서는 PHYSICAL_HOST
필드의 처음 두 부분의 값이 같습니다.
API
압축 배치 정책으로 만든 VM의 세부정보를 봅니다.
instances.get
메서드에 대해 GET
요청을 실행합니다.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
다음을 바꿉니다.
PROJECT_ID
: 이 쿼리의 프로젝트 IDZONE
: 쿼리할 인스턴스의 영역VM_NAME
: 배치 정책을 사용하는 VM의 이름
응답 본문에는 다음과 유사한 스니펫이 포함됩니다.
{ ... resourcePolicies: - https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ZONE/resourcePolicies/POLICY_NAME resourceStatus: physical_host: /xxxxxxxx/xxxxxx/xxxxx ... }
physical_host
값은 VM이 있는 클러스터, 서버 랙, 호스트 머신을 나타내는 해시 값이 포함된 필드 3개로 구성됩니다. 이 값을 다른 VM과 비교할 때 동일한 문자열이 있는 필드가 많을수록 VM이 서로 더 가깝게 배치됩니다. 예를 들어 같은 프로젝트, 클러스터에 속하고 같은 랙에서 실행되는 두 VM에서는 physicalHost
필드의 처음 두 부분의 값이 같습니다.
VM에서 압축 배치 정책을 사용하지 않으면 속성 값은 출력에 다음과 같이 표시됩니다.
resourceStatus: {}
배치 정책 삭제
필요하지 않은 배치 정책을 삭제할 수 있습니다.
gcloud
gcloud CLI를 사용하여 정책을 삭제합니다.
gcloud compute resource-policies delete POLICY_NAME \ --region REGION \ --project PROJECT_ID
다음을 바꿉니다.
POLICY_NAME
: 삭제할 새 정책의 이름REGION
: 이 정책을 사용하는 VM 인스턴스를 만든 리전PROJECT_ID
: 프로젝트 ID입니다.
API
분산 배치 정책을 만들려면 Google Cloud 콘솔 API 및 서비스에서 resourcePolicies.insert
메서드를 사용합니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
요청 본문에 배치 정책 세부정보를 제공합니다.
{ "name": "POLICY_NAME", "groupPlacementPolicy": { "availabilityDomainCount": DOMAIN_COUNT } }
다음을 바꿉니다.
PROJECT_ID
: 프로젝트 ID입니다.REGION
: 이 정책을 사용하는 VM 인스턴스를 만들려는 리전입니다.POLICY_NAME
: 새 정책 이름입니다.DOMAIN_COUNT
: 이 정책이 인스턴스를 구분하는 데 사용할 호스트 하드웨어 및 물리적 네트워크의 고유한 집합 수입니다.
다음 단계
- 인스턴스의 상태를 확인하여 사용할 준비가 되었는지 확인
- 인스턴스에 연결
- 서비스 중단을 처리할 수 있는 강력한 시스템 설계에 대한 팁을 읽어보세요.