이 문서에서는 압축 배치 정책을 만들고 Compute Engine 인스턴스에 적용하여 인스턴스 간 네트워크 지연 시간을 줄이는 방법을 설명합니다. 지원되는 머신 시리즈, 제한사항, 가격 책정 등 배치 정책에 관한 자세한 내용은 배치 정책 개요를 참조하세요.
압축 배치 정책은 인스턴스가 물리적으로 서로 더 가깝게 배치되도록 지정합니다. 이 정책은 예를 들어 고성능 컴퓨팅(HPC), 머신러닝(ML), 데이터베이스 서버 워크로드를 실행할 때 성능을 개선하고 인스턴스 간의 네트워크 지연 시간을 줄이는 데 도움이 될 수 있습니다.
시작하기 전에
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인합니다. 로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.
Select the tab for how you plan to use the samples on this page:
gcloud
-
Google Cloud CLI를 설치합니다. 설치 후 다음 명령어를 실행하여 Google Cloud CLI를 초기화합니다.
gcloud init
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
- Set a default region and zone.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Google Cloud CLI를 설치합니다. 설치 후 다음 명령어를 실행하여 Google Cloud CLI를 초기화합니다.
gcloud init
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요.
필요한 역할
압축 배치 정책을 만들어 컴퓨팅 인스턴스에 적용하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
Compute 인스턴스 관리자(v1)(
roles/compute.instanceAdmin.v1
) -
예약 만들기:
Compute 관리자(
roles/compute.admin
)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이러한 사전 정의된 역할에는 압축 배치 정책을 만들고 컴퓨팅 인스턴스에 적용하는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
압축 배치 정책을 만들고 컴퓨팅 인스턴스에 적용하려면 다음 권한이 필요합니다.
- 배치 정책 만들기: 프로젝트에 대한
compute.resourcePolicies.create
권한 -
기존 인스턴스에 배치 정책 적용:
프로젝트에 대한
compute.instances.addResourcePolicies
권한 -
인스턴스를 만드는 경우:
- 프로젝트에 대한
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
권한
- 프로젝트에 대한
-
예약 만들기:
프로젝트에 대한
compute.reservations.create
권한 - 인스턴스 템플릿 만들기: 프로젝트에 대한
compute.instanceTemplates.create
권한 -
관리형 인스턴스 그룹(MIG) 만들기: 프로젝트에 대한
compute.instanceGroupManagers.create
권한 -
인스턴스 세부정보 보기:
프로젝트에 대한
compute.instances.get
권한
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
압축 배치 정책 만들기
압축 배치 정책을 만들기 전에 다음 사항을 고려하세요.
N2 또는 N2D 이외의 컴퓨팅 인스턴스에 압축 배치 정책을 적용하려면 최대 거리 값을 지정하는 것이 좋습니다.
예약에 따름 프로비저닝 모델을 사용하여 배포된 A4 또는 A3 Ultra 인스턴스에만 압축 배치 정책을 적용할 수 있습니다. 자세한 내용은 AI 하이퍼컴퓨터 문서의 클러스터 관리 개요를 참조하세요.
기본적으로 최대 거리 값이 있는 압축 배치 정책은 A3 Mega, A3 High 또는 A3 Edge 인스턴스에 적용할 수 없습니다. 이 기능에 대한 액세스를 요청하려면 지정된 기술계정 관리자(TAM) 또는 영업팀에 문의하세요.
압축 배치 정책을 만들려면 다음 옵션 중 하나를 선택합니다.
gcloud
N2 또는 N2D 인스턴스에 압축 배치 정책을 적용하려면
--collocation=collocated
플래그와 함께gcloud compute resource-policies create group-placement
명령어를 사용하여 정책을 만듭니다.gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --region=REGION
다음을 바꿉니다.
POLICY_NAME
: 압축 배치 정책의 이름입니다.REGION
: 배치 정책을 만들려는 리전입니다.
지원되는 다른 인스턴스에 압축 배치 정책을 적용하려면
--collocation=collocated
및--max-distance
플래그와 함께gcloud beta compute resource-policies create group-placement
명령어를 사용하여 정책을 만듭니다.gcloud beta compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --max-distance=MAX_DISTANCE \ --region=REGION
다음을 바꿉니다.
POLICY_NAME
: 압축 배치 정책의 이름입니다.MAX_DISTANCE
: 인스턴스의 최대 거리 구성입니다. 값은1
(가능한 한 가장 낮은 네트워크 지연 시간을 위해 인스턴스를 동일한 랙에 배치하도록 지정)과3
(인스턴스를 인접한 클러스터에 배치하도록 지정) 사이여야 합니다. 압축 배치 정책을 예약이나 A4 또는 A3 Ultra 인스턴스에 적용하려는 경우에는 값을1
로 지정하면 안 됩니다.REGION
: 배치 정책을 만들려는 리전입니다.
REST
N2 또는 N2D 인스턴스에 압축 배치 정책을 적용하려면
resourcePolicies.insert
메서드에 대한POST
요청을 수행하여 정책을 만듭니다. 요청 본문에collocation
필드를 포함하고COLLOCATED
로 설정합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED" } }
다음을 바꿉니다.
PROJECT_ID
: 배치 정책을 만들려고 하는 프로젝트의 ID입니다.REGION
: 배치 정책을 만들려는 리전입니다.POLICY_NAME
: 압축 배치 정책의 이름입니다.
지원되는 다른 인스턴스에 압축 배치 정책을 적용하려면
beta.resourcePolicies.insert
메서드에 대한POST
요청을 수행하여 정책을 만듭니다. 요청 본문에 다음을 포함합니다.COLLOCATED
로 설정된collocation
필드maxDistance
필드
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "maxDistance": MAX_DISTANCE } }
다음을 바꿉니다.
PROJECT_ID
: 배치 정책을 만들려고 하는 프로젝트의 ID입니다.REGION
: 배치 정책을 만들려는 리전입니다.POLICY_NAME
: 압축 배치 정책의 이름입니다.MAX_DISTANCE
: 인스턴스의 최대 거리 구성입니다. 값은1
(가능한 한 가장 낮은 네트워크 지연 시간을 위해 인스턴스를 동일한 랙에 배치하도록 지정)과3
(인스턴스를 인접한 클러스터에 배치하도록 지정) 사이여야 합니다. 압축 배치 정책을 예약이나 A4 또는 A3 Ultra 인스턴스에 적용하려는 경우에는 값을1
로 지정하면 안 됩니다.
압축 배치 정책 적용
압축 배치 정책은 기존 컴퓨팅 인스턴스 또는 관리형 인스턴스 그룹(MIG)에 적용하거나 인스턴스, 인스턴스 템플릿, MIG 또는 인스턴스 예약을 만들 때 적용할 수 있습니다.
Compute Engine 리소스에 압축 배치 정책을 적용하려면 다음 방법 중 하나를 선택합니다.
- 기존 인스턴스에 정책 적용
- 인스턴스를 만드는 동안 정책 적용
- 인스턴스를 일괄 생성하는 동안 정책 적용.
- 예약을 만드는 동안 정책을 적용합니다.
- 인스턴스 템플릿을 만드는 동안 정책을 적용합니다.
- MIG의 인스턴스에 정책 적용
인스턴스에 압축 배치 정책을 적용한 후 동일한 배치 정책을 지정한 다른 인스턴스와 관련된 인스턴스의 실제 위치를 확인할 수 있습니다.
기존 인스턴스에 정책 적용
기존 컴퓨팅 인스턴스에 압축 배치 정책을 적용하기 전에 다음을 확인합니다.
인스턴스 및 압축 배치 정책은 같은 리전에 있어야 합니다. 예를 들어 배치 정책이
us-central1
리전에 있는 경우 인스턴스가us-central1
의 영역에 있어야 합니다. 인스턴스를 다른 리전으로 마이그레이션해야 하는 경우 영역 또는 리전 간 인스턴스 이동을 참조하세요.인스턴스는 지원되는 머신 시리즈 및 호스트 유지보수 정책을 사용해야 합니다. 인스턴스를 변경해야 하는 경우 다음 중 하나 또는 둘 다를 수행합니다.
그렇게 하지 않으면 인스턴스에 압축 배치 정책을 적용할 수 없습니다. 인스턴스가 이미 배치 정책을 지정했으며 이를 교체하려는 경우 인스턴스의 배치 정책 교체를 참조하세요.
기존 인스턴스에 압축 배치 정책을 적용하려면 다음 옵션 중 하나를 선택합니다.
gcloud
기존 인스턴스에 압축 배치 정책을 적용하려면
gcloud compute instances add-resource-policies
명령어를 사용합니다.gcloud compute instances add-resource-policies INSTANCE_NAME \ --resource-policies=POLICY_NAME \ --zone=ZONE
다음을 바꿉니다.
INSTANCE_NAME
: 기존 인스턴스 이름POLICY_NAME
: 기존 압축 배치 정책의 이름입니다.ZONE
: 인스턴스가 있는 영역입니다.
REST
기존 인스턴스에 압축 배치 정책을 적용하려면
instances.addResourcePolicies
메서드에POST
요청을 수행합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addResourcePolicies { "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ] }
다음을 바꿉니다.
PROJECT_ID
: 압축 배치 정책과 인스턴스가 있는 프로젝트의 ID입니다.ZONE
: 인스턴스가 있는 영역입니다.INSTANCE_NAME
: 기존 인스턴스 이름REGION
: 압축 배치 정책이 있는 리전입니다.POLICY_NAME
: 기존 압축 배치 정책의 이름입니다.
인스턴스를 만드는 동안 정책 적용
배치 정책과 동일한 리전에 압축 배치 정책을 지정하는 컴퓨팅 인스턴스만 만들 수 있습니다.
압축 배치 정책을 지정하는 인스턴스를 만들려면 다음 옵션 중 하나를 선택합니다.
gcloud
압축 배치 정책을 지정하는 인스턴스를 만들려면
gcloud compute instances create
명령어를--maintenance-policy
및--resource-policies
플래그와 함께 사용합니다.gcloud compute instances create INSTANCE_NAME \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --resource-policies=POLICY_NAME \ --zone=ZONE
다음을 바꿉니다.
INSTANCE_NAME
: 만들려는 인스턴스의 이름.MACHINE_TYPE
: 압축 배치 정책에 지원되는 머신 유형입니다.MAINTENANCE_POLICY
: 인스턴스의 호스트 유지보수 정책입니다. 지정한 압축 배치 정책이 최대 거리 값으로1
또는2
를 사용하거나 선택한 머신 유형이 라이브 마이그레이션을 지원하지 않는 경우TERMINATE
만 지정할 수 있습니다. 그 외에는MIGRATE
또는TERMINATE
를 지정할 수 있습니다.POLICY_NAME
: 기존 압축 배치 정책의 이름입니다.ZONE
: 인스턴스를 만들 영역입니다.
REST
압축 배치 정책을 지정하는 인스턴스를 만들려면
instances.insert
메서드에POST
요청을 수행합니다. 요청 본문에onHostMaintenance
및resourcePolicies
필드를 포함합니다.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" } ], "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } }
다음을 바꿉니다.
PROJECT_ID
: 압축 배치 정책이 있는 프로젝트의 ID입니다.ZONE
: 인스턴스를 만드는 영역이자 머신 유형이 있는 영역입니다. 압축 배치 정책의 리전 내 영역만 지정할 수 있습니다.INSTANCE_NAME
: 만들려는 인스턴스의 이름.MACHINE_TYPE
: 압축 배치 정책에 지원되는 머신 유형입니다.IMAGE_PROJECT
: 이미지가 포함된 이미지 프로젝트입니다(예:debian-cloud
). 지원되는 이미지 프로젝트에 대한 자세한 내용은 공개 이미지를 참조하세요.IMAGE
: 다음 중 하나를 지정합니다.OS 이미지의 특정 버전입니다(예:
debian-12-bookworm-v20240617
).이미지 계열이며 형식은
family/IMAGE_FAMILY
여야 합니다. 중단되지 않은 최신 OS 이미지를 지정합니다. 예를 들어family/debian-12
를 지정하면 Debian 12 이미지 계열의 최신 버전이 사용됩니다. 이미지 계열 사용에 대한 자세한 내용은 이미지 계열 권장사항을 참조하세요.
REGION
: 압축 배치 정책이 있는 리전입니다.POLICY_NAME
: 기존 압축 배치 정책의 이름입니다.MAINTENANCE_POLICY
: 인스턴스의 호스트 유지보수 정책입니다. 지정한 압축 배치 정책이 최대 거리 값으로1
또는2
를 사용하거나 선택한 머신 유형이 라이브 마이그레이션을 지원하지 않는 경우TERMINATE
만 지정할 수 있습니다. 그 외에는MIGRATE
또는TERMINATE
를 지정할 수 있습니다.
인스턴스를 만들기 위한 구성 옵션에 대한 자세한 내용은 인스턴스 만들기 및 시작을 참조하세요.
인스턴스를 일괄 생성하는 동안 정책 적용
배치 정책과 동일한 리전에만 압축 배치 정책을 사용하여 컴퓨팅 인스턴스를 일괄적으로 만들 수 있습니다.
압축 배치 정책을 지정하는 인스턴스를 일괄적으로 만들려면 다음 옵션 중 하나를 선택합니다.
gcloud
압축 배치 정책을 지정하는 인스턴스를 일괄 생성하려면
gcloud compute instances bulk create
명령어를--maintenance-policy
및--resource-policies
플래그와 함께 사용합니다.예를 들어 인스턴스를 단일 영역에 일괄로 만들고 인스턴스 이름 패턴을 지정하려면 다음 명령어를 실행합니다.
gcloud compute instances bulk create \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --name-pattern=NAME_PATTERN \ --resource-policies=POLICY_NAME \ --zone=ZONE
다음을 바꿉니다.
COUNT
: 만들고자 하는 인스턴스 수로, 지정된 압축 배치 정책의 지원되는 최대 인스턴스 수를 초과할 수 없습니다.MACHINE_TYPE
: 압축 배치 정책에 지원되는 머신 유형입니다.MAINTENANCE_POLICY
: 인스턴스의 호스트 유지보수 정책입니다. 지정한 압축 배치 정책이 최대 거리 값으로1
또는2
를 사용하거나 선택한 머신 유형이 라이브 마이그레이션을 지원하지 않는 경우TERMINATE
만 지정할 수 있습니다. 그 외에는MIGRATE
또는TERMINATE
를 지정할 수 있습니다.NAME_PATTERN
: 인스턴스의 이름 패턴입니다. 인스턴스 이름에서 일련의 숫자를 바꾸려면 해시(#
) 문자 시퀀스를 사용합니다. 예를 들어 이름 패턴에vm-#
을 사용하면 이름이vm-1
,vm-2
로 시작하고COUNT
에 지정된 최대 인스턴스 수까지 이어지는 인스턴스가 생성됩니다.POLICY_NAME
: 기존 압축 배치 정책의 이름입니다.ZONE
: 인스턴스를 일괄적으로 만들 영역입니다.
REST
압축 배치 정책을 지정하는 인스턴스를 일괄적으로 만들려면
instances.bulkInsert
메서드에POST
요청을 수행합니다. 요청 본문에onHostMaintenance
및resourcePolicies
필드를 포함합니다.예를 들어 인스턴스를 단일 영역에 일괄로 만들고 인스턴스 이름 패턴을 지정하려면 다음과 같이
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" } ], "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } } }
다음을 바꿉니다.
PROJECT_ID
: 압축 배치 정책이 있는 프로젝트의 ID입니다.ZONE
: 인스턴스를 일괄적으로 만들 영역입니다.COUNT
: 만들고자 하는 인스턴스 수로, 지정된 압축 배치 정책의 지원되는 최대 인스턴스 수를 초과할 수 없습니다.NAME_PATTERN
: 인스턴스의 이름 패턴입니다. 인스턴스 이름에서 일련의 숫자를 바꾸려면 해시(#
) 문자 시퀀스를 사용합니다. 예를 들어 이름 패턴에vm-#
을 사용하면 이름이vm-1
,vm-2
로 시작하고COUNT
에 지정된 최대 인스턴스 수까지 이어지는 인스턴스가 생성됩니다.MACHINE_TYPE
: 압축 배치 정책에 지원되는 머신 유형입니다.IMAGE_PROJECT
: 이미지가 포함된 이미지 프로젝트입니다(예:debian-cloud
). 지원되는 이미지 프로젝트에 대한 자세한 내용은 공개 이미지를 참조하세요.IMAGE
: 다음 중 하나를 지정합니다.OS 이미지의 특정 버전입니다(예:
debian-12-bookworm-v20240617
).이미지 계열이며 형식은
family/IMAGE_FAMILY
여야 합니다. 중단되지 않은 최신 OS 이미지를 지정합니다. 예를 들어family/debian-12
를 지정하면 Debian 12 이미지 계열의 최신 버전이 사용됩니다. 이미지 계열 사용에 대한 자세한 내용은 이미지 계열 권장사항을 참조하세요.
REGION
: 압축 배치 정책이 있는 리전입니다.POLICY_NAME
: 기존 압축 배치 정책의 이름입니다.MAINTENANCE_POLICY
: 인스턴스의 호스트 유지보수 정책입니다. 지정한 압축 배치 정책이 최대 거리 값으로1
또는2
를 사용하거나 선택한 머신 유형이 라이브 마이그레이션을 지원하지 않는 경우TERMINATE
만 지정할 수 있습니다. 그 외에는MIGRATE
또는TERMINATE
를 지정할 수 있습니다.
인스턴스를 일괄적으로 만들기 위한 구성 옵션에 대한 자세한 내용은 인스턴스 일괄 생성을 참조하세요.
예약을 만드는 동안 정책 적용
압축 배치 정책을 지정하는 주문형 단일 프로젝트 예약을 만들려면 특별히 대상이 지정된 예약을 만들어야 합니다. 예약을 소비할 인스턴스를 만들 때 다음을 확인합니다.
인스턴스는 예약에 적용된 동일한 압축 배치 정책을 지정해야 합니다.
인스턴스는 예약을 명시적으로 타겟팅해야 이를 사용할 수 있습니다. 자세한 내용은 특정 예약에서 인스턴스 사용을 참조하세요.
압축 배치 정책을 사용하여 단일 프로젝트 예약을 만들려면 다음 방법 중 하나를 선택합니다.
이 섹션에 설명된 대로 속성을 직접 지정하여 예약을 만듭니다.
이 문서에 설명된 대로 인스턴스 템플릿을 만드는 동안 정책을 적용한 다음 새로 만든 인스턴스 템플릿을 지정하여 단일 프로젝트 예약을 만듭니다.
속성을 직접 지정하여 압축 배치 정책을 사용하는 단일 프로젝트 예약을 만들려면 다음 옵션 중 하나를 선택합니다.
gcloud
속성을 직접 지정하여 압축 배치 정책을 사용하는 단일 프로젝트 예약을 만들려면
gcloud compute reservations create
명령어를--require-specific-reservation
및--resource-policies=policy
플래그와 함께 사용합니다.gcloud compute reservations create RESERVATION_NAME \ --machine-type=MACHINE_TYPE \ --require-specific-reservation \ --resource-policies=policy=POLICY_NAME \ --vm-count=NUMBER_OF_INSTANCES \ --zone=ZONE
다음을 바꿉니다.
RESERVATION_NAME
: 예약 이름.MACHINE_TYPE
: 압축 배치 정책에 지원되는 머신 유형입니다.POLICY_NAME
: 기존 압축 배치 정책의 이름입니다.NUMBER_OF_INSTANCES
: 예약할 인스턴스 수로, 지정된 압축 배치 정책의 지원되는 최대 인스턴스 수를 초과할 수 없습니다.ZONE
: 인스턴스를 예약할 영역입니다. 지정된 압축 배치 정책의 리전 내 영역에서만 인스턴스를 예약할 수 있습니다.
REST
속성을 직접 지정하여 압축 배치 정책을 사용하는 단일 프로젝트 예약을 만들려면
reservations.insert
메서드에POST
요청을 수행합니다. 요청 본문에resourcePolicies
필드와true
로 설정된specificReservationRequired
필드를 포함합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations { "name": "RESERVATION_NAME", "resourcePolicies": { "policy" : "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" }, "specificReservation": { "count": "NUMBER_OF_INSTANCES", "instanceProperties": { "machineType": "MACHINE_TYPE", } }, "specificReservationRequired": true }
다음을 바꿉니다.
PROJECT_ID
: 압축 배치 정책이 있는 프로젝트의 ID입니다.ZONE
: 인스턴스를 예약할 영역입니다. 지정된 압축 배치 정책의 리전 내 영역에서만 인스턴스를 예약할 수 있습니다.RESERVATION_NAME
: 예약 이름.REGION
: 압축 배치 정책이 있는 리전입니다.POLICY_NAME
: 기존 압축 배치 정책의 이름입니다.NUMBER_OF_INSTANCES
: 예약할 인스턴스 수로, 지정된 압축 배치 정책의 지원되는 최대 인스턴스 수를 초과할 수 없습니다.MACHINE_TYPE
: 압축 배치 정책에 지원되는 머신 유형입니다.
단일 프로젝트 예약을 만드는 구성 옵션에 관한 자세한 내용은 단일 프로젝트에 대한 예약 만들기를 참조하세요.
인스턴스 템플릿을 만드는 동안 정책 적용
리전 인스턴스 템플릿을 만들려면 압축 배치 정책과 동일한 리전에 템플릿을 만들어야 합니다. 그렇게 하지 않으면 인스턴스 템플릿을 만들 수 없습니다.
압축 배치 정책을 지정하는 인스턴스 템플릿을 만든 후에는 템플릿을 사용하여 다음을 수행할 수 있습니다.
압축 배치 정책을 지정하는 인스턴스 템플릿을 만들려면 다음 옵션 중 하나를 선택합니다.
gcloud
압축 배치 정책을 지정하는 인스턴스 템플릿을 만들려면
gcloud compute instance-templates create
명령어를--maintenance-policy
및--resource-policies
플래그와 함께 사용합니다.예를 들어 압축 배치 정책을 지정하는 전역 인스턴스 템플릿을 만들려면 다음 명령어를 실행합니다.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --maintenance-policy=MAINTENANCE_POLICY \ --resource-policies=POLICY_NAME
다음을 바꿉니다.
INSTANCE_TEMPLATE_NAME
: 인스턴스 템플릿의 이름입니다.MACHINE_TYPE
: 압축 배치 정책에 지원되는 머신 유형입니다.MAINTENANCE_POLICY
: 인스턴스의 호스트 유지보수 정책입니다. 지정한 압축 배치 정책이 최대 거리 값으로1
또는2
를 사용하거나 선택한 머신 유형이 라이브 마이그레이션을 지원하지 않는 경우TERMINATE
만 지정할 수 있습니다. 그 외에는MIGRATE
또는TERMINATE
를 지정할 수 있습니다.POLICY_NAME
: 기존 압축 배치 정책의 이름입니다.
REST
압축 배치 정책을 지정하는 인스턴스 템플릿을 만들려면 다음 방법 중 하나로
POST
요청을 수행합니다.전역 인스턴스 템플릿을 만들려면
instanceTemplates.insert
메서드를 사용합니다.리전 인스턴스 템플릿을 만들려면
regionInstanceTemplates.insert
메서드를 사용합니다.
요청 본문에
onHostMaintenance
및resourcePolicies
필드를 포함합니다.예를 들어 압축 배치 정책을 지정하는 전역 인스턴스 템플릿을 만들려면 다음과 같이
POST
요청을 수행합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/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" } ], "resourcePolicies": [ "POLICY_NAME" ], "scheduling": { "onHostMaintenance": "MAINTENANCE_POLICY" } } }
다음을 바꿉니다.
PROJECT_ID
: 압축 배치 정책이 있는 프로젝트의 ID입니다.INSTANCE_TEMPLATE_NAME
: 인스턴스 템플릿의 이름입니다.IMAGE_PROJECT
: 이미지가 포함된 이미지 프로젝트(예:debian-cloud
). 지원되는 이미지 프로젝트에 대한 자세한 내용은 공개 이미지를 참조하세요.IMAGE
: 다음 중 하나를 지정합니다.OS 이미지의 특정 버전입니다(예:
debian-12-bookworm-v20240617
).이미지 계열이며 형식은
family/IMAGE_FAMILY
여야 합니다. 중단되지 않은 최신 OS 이미지를 지정합니다. 예를 들어family/debian-12
를 지정하면 Debian 12 이미지 계열의 최신 버전이 사용됩니다. 이미지 계열 사용에 대한 자세한 내용은 이미지 계열 권장사항을 참조하세요.
MACHINE_TYPE
: 압축 배치 정책에 지원되는 머신 유형입니다.POLICY_NAME
: 기존 압축 배치 정책의 이름입니다.MAINTENANCE_POLICY
: 인스턴스의 호스트 유지보수 정책입니다. 지정한 압축 배치 정책이 최대 거리 값으로1
또는2
를 사용하거나 선택한 머신 유형이 라이브 마이그레이션을 지원하지 않는 경우TERMINATE
만 지정할 수 있습니다. 그 외에는MIGRATE
또는TERMINATE
를 지정할 수 있습니다.
인스턴스 템플릿을 만들기 위한 구성 옵션에 대한 자세한 내용은 인스턴스 템플릿 만들기를 참조하세요.
MIG의 인스턴스에 정책 적용
압축 배치 정책을 지정하는 인스턴스 템플릿을 만든 후에는 템플릿을 사용하여 다음을 수행할 수 있습니다.
MIG를 만드는 동안 정책 적용
인스턴스가 배치 정책과 동일한 리전에 있는 경우에만 압축 배치 정책을 지정하는 컴퓨팅 인스턴스를 만들 수 있습니다.
압축 배치 정책을 지정하는 인스턴스 템플릿을 사용하여 MIG를 만들려면 다음 옵션 중 하나를 선택합니다.
gcloud
압축 배치 정책을 지정하는 인스턴스 템플릿을 사용하여 MIG를 만들려면
gcloud compute instance-groups managed create
명령어를 사용합니다.예를 들어 압축 배치 정책을 지정하는 전역 인스턴스 템플릿을 사용하여 영역 MIG를 만들려면 다음 명령어를 실행합니다.
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --size=SIZE \ --template=INSTANCE_TEMPLATE_NAME \ --zone=ZONE
다음을 바꿉니다.
INSTANCE_GROUP_NAME
: 만들려는 MIG의 이름입니다.SIZE
: MIG의 크기입니다.INSTANCE_TEMPLATE_NAME
: 압축 배치 정책을 지정하는 기존 전역 인스턴스 템플릿의 이름입니다.ZONE
: MIG를 만들려는 영역으로, 압축 배치 정책이 있는 리전에 있어야 합니다.
REST
압축 배치 정책을 지정하는 인스턴스 템플릿을 사용하여 MIG를 만들려면 다음 메서드 중 하나로
POST
요청을 수행합니다.영역 MIG를 만들려면
instanceGroupManagers.insert
메서드를 사용합니다.리전 MIG를 만들려면
regionInstanceGroupManagers.insert
메서드를 사용합니다.
예를 들어 압축 배치 정책을 지정하는 전역 인스턴스 템플릿을 사용하여 영역 MIG를 만들려면 다음과 같이
POST
요청을 수행합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "targetSize": SIZE, "versions": [ { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME" } ] }
다음을 바꿉니다.
PROJECT_ID
: 압축 배치 정책과 배치 정책을 지정하는 인스턴스 템플릿이 있는 프로젝트의 ID입니다.ZONE
: MIG를 만들려는 영역으로, 압축 배치 정책이 있는 리전에 있어야 합니다.INSTANCE_GROUP_NAME
: 만들려는 MIG의 이름입니다.INSTANCE_TEMPLATE_NAME
: 압축 배치 정책을 지정하는 기존 전역 인스턴스 템플릿의 이름입니다.SIZE
: MIG의 크기입니다.
MIG를 만드는 구성 옵션에 대한 자세한 내용은 MIG를 만드는 기본 시나리오를 참고하세요.
기존 MIG에 정책 적용
MIG가 배치 정책과 동일한 리전에 있거나 영역 MIG의 경우 배치 정책과 동일한 리전의 영역에 있는 경우에만 기존 MIG에 압축 배치 정책을 적용할 수 있습니다.
압축 배치 정책을 지정하는 인스턴스 템플릿을 사용하도록 MIG를 업데이트하려면 다음 옵션 중 하나를 선택합니다.
gcloud
압축 배치 정책을 지정하는 인스턴스 템플릿을 사용하도록 MIG를 업데이트하려면
gcloud compute instance-groups managed rolling-action start-update
명령어를 사용합니다.예를 들어 압축 배치 정책을 지정하는 인스턴스 템플릿을 사용하고 MIG의 기존 인스턴스를 템플릿 속성을 지정하는 새 인스턴스로 교체하도록 영역 MIG를 업데이트하려면 다음 명령어를 실행합니다.
gcloud compute instance-groups managed rolling-action start-update MIG_NAME \ --version=template=INSTANCE_TEMPLATE_NAME \ --zone=ZONE
다음을 바꿉니다.
MIG_NAME
: 기존 MIG의 이름입니다.INSTANCE_TEMPLATE_NAME
: 압축 배치 정책을 지정하는 기존 전역 인스턴스 템플릿의 이름입니다.ZONE
: MIG가 있는 영역입니다. 배치 정책과 동일한 리전에 있는 MIG에만 압축 배치 정책을 적용할 수 있습니다.
REST
압축 배치 정책을 지정하는 인스턴스 템플릿을 사용하고 MIG의 기존 인스턴스에 템플릿 속성과 배치 정책을 자동으로 적용하도록 MIG를 업데이트하려면 다음 메서드 중 하나로
PATCH
요청을 수행합니다.영역 MIG를 업데이트하려면
instanceGroupManagers.insert
메서드를 사용합니다.리전 MIG를 업데이트하려면
regionInstanceGroupManagers.insert
메서드를 사용합니다.
예를 들어 압축 배치 정책을 지정하는 전역 인스턴스 템플릿을 사용하고 MIG의 기존 인스턴스를 템플릿 속성을 지정하는 새 인스턴스로 교체하도록 영역 MIG를 업데이트하려면 다음
PATCH
요청을 실행합니다.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME" }
다음을 바꿉니다.
PROJECT_ID
: MIG, 압축 배치 정책, 배치 정책을 지정하는 인스턴스 템플릿이 있는 프로젝트의 ID입니다.ZONE
: MIG가 있는 영역입니다. 배치 정책과 동일한 리전에 있는 MIG에만 압축 배치 정책을 적용할 수 있습니다.MIG_NAME
: 기존 MIG의 이름입니다.INSTANCE_TEMPLATE_NAME
: 압축 배치 정책을 지정하는 기존 전역 인스턴스 템플릿의 이름입니다.
MIG의 인스턴스를 업데이트하는 구성 옵션에 대한 자세한 내용은 MIG의 인스턴스에 새 구성 업데이트 및 적용을 참조하세요.
인스턴스의 실제 위치 확인
컴퓨팅 인스턴스에 압축 배치 정책을 적용한 후 다른 인스턴스와 관련된 인스턴스의 실제 위치를 볼 수 있습니다. 이 비교는 프로젝트에 있고 동일한 압축 배치 정책을 지정하는 인스턴스로 제한됩니다. 인스턴스의 실제 위치를 확인하면 다음 작업을 할 수 있습니다.
정책이 적용되었는지 확인합니다.
서로 가장 가까운 인스턴스를 식별합니다.
동일한 압축 배치 정책을 지정하는 다른 인스턴스와 관련하여 인스턴스의 실제 위치를 보려면 다음 옵션 중 하나를 선택합니다.
gcloud
압축 배치 정책을 지정하는 인스턴스의 실제 위치를 보려면
gcloud compute instances describe
명령어를--format
플래그와 함께 사용합니다.gcloud compute instances describe INSTANCE_NAME \ --format="table[box,title=VM-Position](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)" \ --zone=ZONE
다음을 바꿉니다.
INSTANCE_NAME
: 압축 배치 정책을 지정하는 기존 인스턴스의 이름입니다.ZONE
: 인스턴스가 있는 영역입니다.
출력은 다음과 비슷합니다.
VM-Position RESOURCE_POLICIES: us-central1/resourcePolicies/example-policy'] PHYSICAL_HOST: /CCCCCCC/BBBBBB/AAAA
PHYSICAL_HOST
필드의 값은 세 부분으로 구성됩니다. 이러한 부분은 각각 인스턴스가 있는 클러스터, 랙, 호스트를 나타냅니다.프로젝트 내에서 동일한 압축 배치 정책을 사용하는 두 인스턴스의 위치를 비교할 때 인스턴스가 공유하는
PHYSICAL_HOST
필드의 부분이 많을수록 서로 더 가깝게 배치됩니다. 예를 들어 두 인스턴스 모두PHYSICAL_HOST
필드에 다음 샘플 값 중 하나를 지정한다고 가정해 보겠습니다./CCCCCCC/xxxxxx/xxxx
: 두 개의 인스턴스가 동일한 클러스터에 배치되며 최대 거리 값은2
입니다. 동일한 클러스터에 배치된 인스턴스에서는 네트워크 지연 시간이 짧습니다./CCCCCCC/BBBBBB/xxxx
: 두 개의 인스턴스가 동일한 랙에 배치되며 최대 거리 값은1
입니다. 동일한 랙에 배치된 인스턴스는 동일한 클러스터에 배치된 인스턴스보다 네트워크 지연 시간이 짧습니다./CCCCCCC/BBBBBB/AAAA
: 두 인스턴스가 동일한 호스트를 공유합니다. 동일한 호스트에 배치된 인스턴스는 네트워크 지연 시간을 최소화합니다.
REST
압축 배치 정책을 지정하는 인스턴스의 실제 위치를 보려면
GET
요청을instances.get
메서드에 보냅니다.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
다음을 바꿉니다.
PROJECT_ID
: 인스턴스가 있는 프로젝트의 ID입니다.ZONE
: 인스턴스가 있는 영역입니다.INSTANCE_NAME
: 압축 배치 정책을 지정하는 기존 인스턴스의 이름입니다.
출력은 다음과 비슷합니다.
{ ... "resourcePolicies": [ "https://www.googleapis.com/compute/v1/projects/example-project/regions/us-central1/resourcePolicies/example-policy" ], "resourceStatus": { "physicalHost": "/xxxxxxxx/xxxxxx/xxxxx" }, ... }
physicalHost
필드의 값은 세 부분으로 구성됩니다. 이러한 부분은 각각 인스턴스가 있는 클러스터, 랙, 호스트를 나타냅니다.프로젝트 내에서 동일한 압축 배치 정책을 사용하는 두 인스턴스의 위치를 비교할 때 인스턴스가 공유하는
physicalHost
필드의 부분이 많을수록 서로 더 가깝게 배치됩니다. 예를 들어 두 인스턴스 모두physicalHost
필드에 다음 샘플 값 중 하나를 지정한다고 가정해 보겠습니다./CCCCCCC/xxxxxx/xxxx
: 두 개의 인스턴스가 동일한 클러스터에 배치되며 최대 거리 값은2
입니다. 동일한 클러스터에 배치된 인스턴스에서는 네트워크 지연 시간이 짧습니다./CCCCCCC/BBBBBB/xxxx
: 두 개의 인스턴스가 동일한 랙에 배치되며 최대 거리 값은1
입니다. 동일한 랙에 배치된 인스턴스는 동일한 클러스터에 배치된 인스턴스보다 네트워크 지연 시간이 짧습니다./CCCCCCC/BBBBBB/AAAA
: 두 인스턴스가 동일한 호스트를 공유합니다. 동일한 호스트에 배치된 인스턴스는 네트워크 지연 시간을 최소화합니다.
다음 단계
배치 정책 확인 방법 알아보기
배치 정책을 교체 또는 삭제하는 방법 알아보기
배치 정책을 지정하는 컴퓨팅 인스턴스를 사용하여 다음 작업을 수행하는 방법을 알아보세요.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-10-18(UTC)
-