이 문서에서는 A3 High 또는 A3 Mega 가속기 최적화 머신 유형을 사용하는 관리형 인스턴스 그룹 (MIG)을 만드는 방법을 설명합니다. 머신 유형에 대해 자세히 알아보려면 Compute Engine 문서의 A3 High 및 A3 Mega를 참고하세요.
MIG를 만들면 여러 가상 머신(VM)을 단일 항목으로 관리할 수 있습니다. MIG의 각 VM은 인스턴스 템플릿을 기반으로 합니다. 그룹의 VM을 자동으로 관리함으로써 MIG는 고가용성과 확장성을 제공합니다. MIG에 대해 자세히 알아보려면 Compute Engine 문서의 관리형 인스턴스 그룹을 참고하세요.
VM 및 클러스터 생성 옵션에 대해 알아보려면 VM 및 클러스터 생성 개요 페이지를 참고하세요.
제한사항
MIG의 VM에서 사용하는 머신 시리즈에 따라 다음 제한사항이 적용됩니다.
A3 Mega
- A3 Mega 머신 유형을 사용하는 인스턴스에는 지속 사용 할인 및 가변형 약정 사용 할인이 적용되지 않습니다.
- A3 Mega 머신 유형은 특정 리전 및 영역에서만 사용할 수 있습니다.
- A3 Mega 머신 유형을 사용하는 인스턴스에서는 리전 Persistent Disk를 사용할 수 없습니다.
- A3 Mega 머신 유형은 Sapphire Rapids CPU 플랫폼에서만 사용할 수 있습니다.
- A3 Mega 머신 유형에서는 머신 유형 변경이 지원되지 않습니다. 이 머신 유형으로 전환하거나 이 머신 유형에서 전환하려면 새 인스턴스를 만들어야 합니다.
- A3 Mega 머신 유형에서는 Windows 운영체제를 실행할 수 없습니다.
A3 High
- A3 High 머신 유형을 사용하는 인스턴스에는 지속 사용 할인 및 가변형 약정 사용 할인이 적용되지 않습니다.
- A3 High 머신 유형은 특정 리전 및 영역에서만 사용할 수 있습니다.
- A3 High 머신 유형을 사용하는 인스턴스에서는 리전 Persistent Disk를 사용할 수 없습니다.
- A3 High 머신 유형은 Sapphire Rapids CPU 플랫폼에서만 사용할 수 있습니다.
- A3 High 머신 유형에서는 머신 유형 변경이 지원되지 않습니다. 이 머신 유형으로 전환하거나 이 머신 유형에서 전환하려면 새 인스턴스를 만들어야 합니다.
- A3 High 머신 유형에서는 Windows 운영체제를 실행할 수 없습니다.
a3-highgpu-1g,a3-highgpu-2g,a3-highgpu-4g머신 유형의 경우 스팟 VM 또는 Flex-start VM을 사용하여 인스턴스를 만들어야 합니다. 이러한 옵션에 대한 자세한 내용은 다음을 참조하세요.- 스팟 VM을 만들려면 가속기 최적화 VM을 만들 때 프로비저닝 모델을
SPOT으로 설정합니다. - Flex-start VM을 만들려면 다음 방법 중 하나를 사용하세요.
- 가속기 최적화 VM 만들 때 독립형 VM을 만들고 프로비저닝 모델을
FLEX_START로 설정합니다. - 관리형 인스턴스 그룹(MIG)에서 크기 조절 요청을 만듭니다. 자세한 내용은 GPU VM으로 MIG 만들기를 참조하세요.
- 가속기 최적화 VM 만들 때 독립형 VM을 만들고 프로비저닝 모델을
- 스팟 VM을 만들려면 가속기 최적화 VM을 만들 때 프로비저닝 모델을
a3-highgpu-1g머신 유형의 컨피덴셜 VM은 제한된 리전 및 영역에서만 사용 가능하며 A3 High 머신 유형에서 실행되는 컨피덴셜 VM에 대한 제한사항이 모두 적용됩니다.
시작하기 전에
MIG를 만들기 전에 아직 완료하지 않았다면 다음 단계를 완료하세요.
- 소비 옵션 선택: 소비 옵션 선택에 따라 GPU 리소스를 획득하고 사용하는 방식이 결정됩니다.
자세한 내용은 사용 옵션 선택을 참고하세요.
- 용량 획득: 용량을 획득하는 프로세스는 각 소비 옵션마다 다릅니다.
선택한 소비 옵션의 용량을 확보하는 프로세스를 알아보려면 용량 개요를 참고하세요.
필요한 역할
MIG를 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 인스턴스 관리자 (v1) (roles/compute.instanceAdmin.v1) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
이 사전 정의된 역할에는 MIG를 만드는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
MIG를 만들려면 다음 권한이 필요합니다.
-
MIG를 만들려면 프로젝트에 대해
compute.instanceGroupManagers.create권한이 필요합니다.
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
개요
A3 Mega 또는 A3 High (GPU 8개) 머신 유형으로 MIG를 만드는 단계는 다음과 같습니다.
VPC 네트워크 만들기
GPU VM의 효율적인 통신을 사용 설정하려면 관리 네트워크와 하나 이상의 데이터 네트워크를 만들어야 합니다. 관리 네트워크는 외부 액세스(예: SSH) 및 대부분의 일반적인 네트워크 통신에 사용됩니다. 데이터 네트워크는 서로 다른 VM의 GPU 간 고성능 통신에 사용됩니다(예: 원격 직접 메모리 액세스(RDMA) 트래픽).
이러한 VPC 네트워크의 경우 최대 전송 단위(MTU)를 더 큰 값으로 설정하는 것이 좋습니다. MTU 값이 클수록 패킷 크기가 증가하고 패킷 헤더 오버헤드가 줄어들어 페이로드 데이터 처리량이 증가합니다. VPC 네트워크를 만드는 방법에 관한 자세한 내용은 점보 프레임 MTU 네트워크 만들기 및 확인을 참고하세요.
관리 네트워크, 서브넷, 방화벽 규칙 만들기
다음 단계에 따라 관리 네트워크를 설정하세요.
networks create명령어를 사용하여 관리 네트워크를 만듭니다.gcloud compute networks create NETWORK_NAME_PREFIX-mgmt-net \ --project=PROJECT_ID \ --subnet-mode=custom \ --mtu=8244networks subnets create명령어를 사용하여 관리 서브넷을 만듭니다.gcloud compute networks subnets create NETWORK_NAME_PREFIX-mgmt-sub \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --region=REGION \ --range=192.168.0.0/24firewall-rules create명령어를 사용하여 방화벽 규칙을 만듭니다.관리 네트워크의 방화벽 규칙을 만듭니다.
gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-internal \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,icmp \ --source-ranges=192.168.0.0/16SSH를 사용하여 VM에 연결할 수 있는 소스 IP 주소를 제한하는
tcp:22방화벽 규칙을 만듭니다.gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ssh \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=SSH_SOURCE_IP_RANGE네트워크에서 데이터 전송 문제를 확인하는 데 사용할 수 있는
icmp방화벽 규칙을 만듭니다.gcloud compute firewall-rules create NETWORK_NAME_PREFIX-mgmt-external-ping \ --project=PROJECT_ID \ --network=NETWORK_NAME_PREFIX-mgmt-net \ --action=ALLOW \ --rules=icmp \ --source-ranges=0.0.0.0/0
다음을 바꿉니다.
NETWORK_NAME_PREFIX: VPC 네트워크 및 서브넷에 사용할 이름 프리픽스입니다.PROJECT_ID: 프로젝트 ID입니다.REGION: 네트워크를 만들려는 리전입니다.SSH_SOURCE_IP_RANGE: CIDR 형식의 IP 범위. SSH를 사용하여 VM에 연결할 수 있는 소스 IP 주소를 지정합니다.
데이터 네트워크, 서브넷, 방화벽 규칙 만들기
데이터 네트워크 수는 생성하는 GPU 머신 유형에 따라 다릅니다.A3 Mega
A3 Mega에는 8개의 데이터 네트워크가 필요합니다. 서브넷과 방화벽 규칙이 각각 있는 데이터 네트워크 8개를 만들려면 다음 명령어를 사용합니다.
for N in $(seq 1 8); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
--project=PROJECT_ID \
--subnet-mode=custom \
--mtu=8244
gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--region=REGION \
--range=192.168.$N.0/24
gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--action=ALLOW \
--rules=tcp:0-65535,udp:0-65535,icmp \
--source-ranges=192.168.0.0/16
done
A3 High
A3 High에는 4개의 데이터 네트워크가 필요합니다. 다음 명령어를 사용하여 각각 서브넷과 방화벽 규칙이 있는 데이터 네트워크 4개를 만듭니다.
for N in $(seq 1 4); do
gcloud compute networks create NETWORK_NAME_PREFIX-data-net-$N \
--project=PROJECT_ID \
--subnet-mode=custom \
--mtu=8244
gcloud compute networks subnets create NETWORK_NAME_PREFIX-data-sub-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--region=REGION \
--range=192.168.$N.0/24
gcloud compute firewall-rules create NETWORK_NAME_PREFIX-data-internal-$N \
--project=PROJECT_ID \
--network=NETWORK_NAME_PREFIX-data-net-$N \
--action=ALLOW \
--rules=tcp:0-65535,udp:0-65535,icmp \
--source-ranges=192.168.0.0/16
done
선택사항: 워크로드 정책 만들기
Flex-start 소비 옵션의 경우 이 섹션을 건너뛰고 인스턴스 템플릿 만들기로 진행합니다. 제한사항으로 인해 '유연한 시작' 프로비저닝 모델은 워크로드 정책을 지원하지 않습니다.워크로드 정책을 만들어 VM 배치를 지정할 수 있습니다. 이미 워크로드 정책이 있는 경우 이를 재사용할 수 있습니다. MIG에 워크로드 정책을 적용하면 Compute Engine은 VM을 최대한 서로 가까운 위치에 만들기 위해 최선을 다합니다. 애플리케이션이 지연 시간에 민감하고 VM이 더 가까이 있도록 하려면 (최대 압축) 워크로드 정책을 만들 때 maxTopologyDistance 필드를 지정합니다.
워크로드 정책을 만든 후에는 업데이트할 수 없습니다. 워크로드 정책을 변경하려면 새 정책을 만들어야 합니다.
워크로드 정책을 만들려면 다음 옵션 중 하나를 선택합니다.
gcloud
워크로드 정책을 만들려면
gcloud compute resource-policies create workload-policy 명령어를 사용합니다.
-
VM을 최적의 위치에 배치하려면 명령어에
--type=high-throughput플래그만 지정합니다.gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --region=REGION -
VM을 엄격하게 공동 배치하려면 명령어에
--max-topology-distance플래그를 지정합니다.gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --max-topology-distance=TOPOLOGY_DISTANCE \ --region=REGION
다음을 바꿉니다.
WORKLOAD_POLICY_NAME: 워크로드 정책의 이름입니다.TOPOLOGY_DISTANCE: 최대 토폴로지 거리입니다. 다음 값 중 하나를 지정합니다.- VM을 동일한 클러스터에 배치하려면 다음을 실행하세요.
CLUSTER - VM을 동일한 블록에 배치하려면
BLOCK를 사용합니다. - VM을 동일한 하위 블록에 배치하려면
SUBBLOCK를 사용합니다.
참고: 최대 거리가 짧을수록 VM 가용성 가능성이 줄어들 수 있습니다.- VM을 동일한 클러스터에 배치하려면 다음을 실행하세요.
REGION: 워크로드 정책을 만들려는 리전입니다. MIG를 만들려는 리전과 사용할 머신 유형을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참고하세요.
REST
워크로드 정책을 만들려면 resourcePolicies.insert 메서드에 POST 요청을 실행합니다.
-
VM을 최적의 위치에 배치하려면 요청에서
type필드만 다음과 같이 지정합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "WORKLOAD_POLICY_NAME" "workloadPolicy": { "type": "HIGH_THROUGHPUT" } } -
VM을 엄격하게 공동 배치하려면 요청에서
maxTopologyDistance필드를 다음과 같이 지정합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "WORKLOAD_POLICY_NAME" "workloadPolicy": { "type": "HIGH_THROUGHPUT", "maxTopologyDistance": "TOPOLOGY_DISTANCE" } }
다음을 바꿉니다.
PROJECT_ID: 프로젝트 ID입니다.REGION: 워크로드 정책을 만들려는 리전입니다. MIG를 만들려는 리전과 제공되는 사용할 머신 유형을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참조하세요.WORKLOAD_POLICY_NAME: 워크로드 정책의 이름입니다.TOPOLOGY_DISTANCE: 최대 토폴로지 거리입니다. 다음 값 중 하나를 지정합니다.- VM을 동일한 블록에 배치하려면
BLOCK를 사용합니다. - VM을 동일한 클러스터에 배치하려면 다음을 실행하세요.
CLUSTER
참고: 최대 거리가 짧으면 VM 가용성 가능성이 줄어들 수 있습니다.- VM을 동일한 블록에 배치하려면
인스턴스 템플릿 만들기
인스턴스 템플릿을 만들어 MIG의 VM 속성을 지정합니다.
인스턴스 템플릿을 만들려면 다음 옵션 중 하나를 선택합니다.
다음 명령어는 인스턴스의 액세스 범위도 설정합니다. 권한 관리를 간소화하려면 인스턴스의 액세스 범위를cloud-platform 액세스로 설정한 다음 IAM 역할을 사용하여 인스턴스가 액세스할 수 있는 서비스를 정의하는 것이 좋습니다. 자세한 내용은 범위 권장사항을 참고하세요.
A3 Mega
A3 Mega VM의 인스턴스 템플릿을 만들려면 GPUDirect-TCPXO 트래픽에 대해 추가 네트워크 인터페이스 8개를 지정해야 합니다. 아직 만들지 않았다면 VPC 네트워크 만들기에 설명된 대로 VPC 네트워크 8개를 만들었는지 확인합니다.
gcloud
지정해야 하는 파라미터는 이번 배포에서 사용하는 소비 옵션에 따라 달라집니다. 해당 소비 옵션의 프로비저닝 모델에 해당하는 탭을 선택하세요.
유연한 시작
리전 인스턴스 템플릿을 만들려면 gcloud compute instance-templates create 명령어를 사용합니다.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
--reservation-affinity=none \
--instance-termination-action=DELETE \
--max-run-duration=RUN_DURATION \
--maintenance-policy=TERMINATE \
--provisioning-model=FLEX_START
다음을 바꿉니다.
INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름MACHINE_TYPE: VM에 사용할 머신 유형입니다. A4 또는 A3 Ultra 머신 유형을 지정합니다. 자세한 내용은 GPU 머신 유형을 참조하세요.IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참조하세요.IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.REGION: 인스턴스 템플릿을 만들 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참고하세요.DISK_SIZE: 부팅 디스크의 크기(GB 단위).GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.RUN_DURATION: 요청된 VM을 실행할 기간입니다. 각각d,h,m,s를 사용하여 일, 시, 분 또는 초 순서로 값 형식을 지정해야 합니다. 예를 들어30m은 30분,1d2h3m4s는 1일 2시간 3분 4초를 의미합니다. 값은 10분~7일 사이여야 합니다.
예약에 따름
리전 인스턴스 템플릿을 만들려면 gcloud compute instance-templates create 명령어를 사용합니다.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE \
--restart-on-failure
다음을 바꿉니다.
INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름MACHINE_TYPE: VM에 사용할 머신 유형입니다. A4 또는 A3 Ultra 머신 유형을 지정합니다. 자세한 내용은 GPU 머신 유형을 참조하세요.IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참조하세요.IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.REGION: 인스턴스 템플릿을 만들 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참고하세요.DISK_SIZE: 부팅 디스크의 크기(GB 단위).GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.-
RESERVATION: 예약 이름 또는 예약 내의 특정 블록입니다. 예약 이름 또는 사용 가능한 블록을 확인하려면 예약된 용량 보기를 참조하세요. 인스턴스 배치 요구사항에 따라 다음 중 하나를 선택합니다.블록 전체 또는 단일 블록에 인스턴스를 만들려면 다음 단계를 따르세요.
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
또한 단일 블록의 경우 블록 공동 배치를 지정하는 워크로드 정책(
maxTopologyDistance=BLOCK)을 적용하여 MIG를 만듭니다. 그런 다음 Compute Engine이 예약에 정책을 적용하고 동일한 블록에 인스턴스를 만듭니다.특정 블록에 인스턴스를 만들려면 다음을 수행합니다.
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
스팟
리전 인스턴스 템플릿을 만들려면 gcloud compute instance-templates create 명령어를 사용합니다.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-5,subnet=GVNIC_NAME_PREFIX-sub-5,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-6,subnet=GVNIC_NAME_PREFIX-sub-6,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-7,subnet=GVNIC_NAME_PREFIX-sub-7,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-8,subnet=GVNIC_NAME_PREFIX-sub-8,no-address \
--provisioning-model=SPOT \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
다음을 바꿉니다.
INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름MACHINE_TYPE: VM에 사용할 머신 유형입니다. A4 또는 A3 Ultra 머신 유형을 지정합니다. 자세한 내용은 GPU 머신 유형을 참조하세요.IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참조하세요.IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.REGION: 인스턴스 템플릿을 만들 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참고하세요.DISK_SIZE: 부팅 디스크의 크기(GB 단위).GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.TERMINATION_ACTION: Compute Engine에서 인스턴스를 선점할 때 수행할 작업(STOP(기본값) 또는DELETE)으로 바꿉니다.
REST
지정해야 하는 파라미터는 이번 배포에서 사용하는 소비 옵션에 따라 달라집니다. 해당 소비 옵션의 프로비저닝 모델에 해당하는 탭을 선택하세요.
유연한 시작
리전 인스턴스 템플릿을 만들려면 regionInstanceTemplates.insert 메서드에 POST 요청을 보냅니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name":"INSTANCE_TEMPLATE_NAME",
"properties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
}
],
"reservationAffinity": {
"consumeReservationType": "NO_RESERVATION"
},
"scheduling": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
다음을 바꿉니다.
INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름MACHINE_TYPE: VM에 사용할 머신 유형입니다. A4 또는 A3 Ultra 머신 유형을 지정합니다. 자세한 내용은 GPU 머신 유형을 참조하세요.IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참조하세요.IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.REGION: 인스턴스 템플릿을 만들 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참조하세요.DISK_SIZE: 부팅 디스크의 크기(GB 단위).NETWORK_PROJECT_ID: 네트워크의 프로젝트 ID로 바꿉니다.GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.REGION: 서브네트워크 리전으로 바꿉니다.RUN_DURATION: 요청된 VM을 실행할 기간(초)입니다. 값은600(600초(10분))~604800(604,800초(7일)) 사이여야 합니다.
예약에 따름
리전 인스턴스 템플릿을 만들려면 regionInstanceTemplates.insert 메서드에 POST 요청을 보냅니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name":"INSTANCE_TEMPLATE_NAME",
"properties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
}
],
"reservationAffinity":{
"consumeReservationType":"SPECIFIC_RESERVATION",
"key":"compute.googleapis.com/reservation-name",
"values":[
"RESERVATION"
]
},
"scheduling":{
"provisioningModel":"RESERVATION_BOUND",
"instanceTerminationAction":"DELETE",
"onHostMaintenance": "TERMINATE",
"automaticRestart":true
}
}
}
다음을 바꿉니다.
INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름MACHINE_TYPE: VM에 사용할 머신 유형입니다. A4 또는 A3 Ultra 머신 유형을 지정합니다. 자세한 내용은 GPU 머신 유형을 참조하세요.IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참조하세요.IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.REGION: 인스턴스 템플릿을 만들 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참조하세요.DISK_SIZE: 부팅 디스크의 크기(GB 단위).NETWORK_PROJECT_ID: 네트워크의 프로젝트 ID로 바꿉니다.GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.REGION: 서브네트워크 리전으로 바꿉니다.-
RESERVATION: 예약 이름 또는 예약 내의 특정 블록입니다. 예약 이름 또는 사용 가능한 블록을 확인하려면 예약된 용량 보기를 참조하세요. 인스턴스 배치 요구사항에 따라 다음 중 하나를 선택합니다.블록 전체 또는 단일 블록에 인스턴스를 만들려면 다음 단계를 따르세요.
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
또한 단일 블록의 경우 블록 공동 배치를 지정하는 워크로드 정책(
maxTopologyDistance=BLOCK)을 적용하여 MIG를 만듭니다. 그런 다음 Compute Engine이 예약에 정책을 적용하고 동일한 블록에 인스턴스를 만듭니다.특정 블록에 인스턴스를 만들려면 다음을 수행합니다.
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
스팟
리전 인스턴스 템플릿을 만들려면 regionInstanceTemplates.insert 메서드에 POST 요청을 보냅니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name":"INSTANCE_TEMPLATE_NAME",
"properties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-5",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-5"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-6",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-6"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-7",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-7"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-8",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-8"
}
],
"scheduling":
{
"provisioningModel": "SPOT",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
}
}
}
다음을 바꿉니다.
INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름MACHINE_TYPE: VM에 사용할 머신 유형입니다. A4 또는 A3 Ultra 머신 유형을 지정합니다. 자세한 내용은 GPU 머신 유형을 참조하세요.IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참조하세요.IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.REGION: 인스턴스 템플릿을 만들 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참조하세요.DISK_SIZE: 부팅 디스크의 크기(GB 단위).NETWORK_PROJECT_ID: 네트워크의 프로젝트 ID로 바꿉니다.GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.REGION: 서브네트워크 리전으로 바꿉니다.TERMINATION_ACTION: Compute Engine에서 인스턴스를 선점할 때 수행할 작업(STOP(기본값) 또는DELETE)으로 바꿉니다.
A3 High
A3 High VM의 인스턴스 템플릿을 만들려면 GPUDirect-TCPX 트래픽에 대해 4개의 추가 네트워크 인터페이스를 지정해야 합니다. 아직 만들지 않았다면 VPC 네트워크 만들기에 설명된 대로 VPC 네트워크 4개를 만들었는지 확인합니다.
gcloud
지정해야 하는 파라미터는 이번 배포에서 사용하는 소비 옵션에 따라 달라집니다. 해당 소비 옵션의 프로비저닝 모델에 해당하는 탭을 선택하세요.
유연한 시작
리전 인스턴스 템플릿을 만들려면 gcloud compute instance-templates create 명령어를 사용합니다.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--reservation-affinity=none \
--instance-termination-action=DELETE \
--max-run-duration=RUN_DURATION \
--maintenance-policy=TERMINATE \
--provisioning-model=FLEX_START
다음을 바꿉니다.
INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름MACHINE_TYPE: VM에 사용할 머신 유형입니다. A4 또는 A3 Ultra 머신 유형을 지정합니다. 자세한 내용은 GPU 머신 유형을 참조하세요.IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참조하세요.IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.REGION: 인스턴스 템플릿을 만들 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참고하세요.DISK_SIZE: 부팅 디스크의 크기(GB 단위).GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.RUN_DURATION: 요청된 VM을 실행할 기간입니다. 각각d,h,m,s를 사용하여 일, 시, 분 또는 초 순서로 값 형식을 지정해야 합니다. 예를 들어30m은 30분,1d2h3m4s는 1일 2시간 3분 4초를 의미합니다. 값은 10분~7일 사이여야 합니다.
예약에 따름
리전 인스턴스 템플릿을 만들려면 gcloud compute instance-templates create 명령어를 사용합니다.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE \
--restart-on-failure
다음을 바꿉니다.
INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름MACHINE_TYPE: VM에 사용할 머신 유형입니다. A4 또는 A3 Ultra 머신 유형을 지정합니다. 자세한 내용은 GPU 머신 유형을 참조하세요.IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참조하세요.IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.REGION: 인스턴스 템플릿을 만들 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참고하세요.DISK_SIZE: 부팅 디스크의 크기(GB 단위).GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.-
RESERVATION: 예약 이름 또는 예약 내의 특정 블록입니다. 예약 이름 또는 사용 가능한 블록을 확인하려면 예약된 용량 보기를 참조하세요. 인스턴스 배치 요구사항에 따라 다음 중 하나를 선택합니다.블록 전체 또는 단일 블록에 인스턴스를 만들려면 다음 단계를 따르세요.
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
또한 단일 블록의 경우 블록 공동 배치를 지정하는 워크로드 정책(
maxTopologyDistance=BLOCK)을 적용하여 MIG를 만듭니다. 그런 다음 Compute Engine이 예약에 정책을 적용하고 동일한 블록에 인스턴스를 만듭니다.특정 블록에 인스턴스를 만들려면 다음을 수행합니다.
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
스팟
리전 인스턴스 템플릿을 만들려면 gcloud compute instance-templates create 명령어를 사용합니다.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-2,subnet=GVNIC_NAME_PREFIX-sub-2,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-3,subnet=GVNIC_NAME_PREFIX-sub-3,no-address \
--network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-4,subnet=GVNIC_NAME_PREFIX-sub-4,no-address \
--provisioning-model=SPOT \
--instance-termination-action=TERMINATION_ACTION \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
다음을 바꿉니다.
INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름MACHINE_TYPE: VM에 사용할 머신 유형입니다. A4 또는 A3 Ultra 머신 유형을 지정합니다. 자세한 내용은 GPU 머신 유형을 참조하세요.IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참조하세요.IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.REGION: 인스턴스 템플릿을 만들 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참고하세요.DISK_SIZE: 부팅 디스크의 크기(GB 단위).GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.TERMINATION_ACTION: Compute Engine에서 인스턴스를 선점할 때 수행할 작업(STOP(기본값) 또는DELETE)으로 바꿉니다.
REST
지정해야 하는 파라미터는 이번 배포에서 사용하는 소비 옵션에 따라 달라집니다. 해당 소비 옵션의 프로비저닝 모델에 해당하는 탭을 선택하세요.
유연한 시작
리전 인스턴스 템플릿을 만들려면 regionInstanceTemplates.insert 메서드에 POST 요청을 보냅니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name":"INSTANCE_TEMPLATE_NAME",
"properties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
}
],
"reservationAffinity": {
"consumeReservationType": "NO_RESERVATION"
},
"scheduling": {
"instanceTerminationAction": "DELETE",
"maxRunDuration": {
"seconds": RUN_DURATION
},
"onHostMaintenance": "TERMINATE",
"provisioningModel": "FLEX_START"
}
}
}
다음을 바꿉니다.
INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름MACHINE_TYPE: VM에 사용할 머신 유형입니다. A4 또는 A3 Ultra 머신 유형을 지정합니다. 자세한 내용은 GPU 머신 유형을 참조하세요.IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참조하세요.IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.REGION: 인스턴스 템플릿을 만들 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참조하세요.DISK_SIZE: 부팅 디스크의 크기(GB 단위).NETWORK_PROJECT_ID: 네트워크의 프로젝트 ID로 바꿉니다.GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.REGION: 서브네트워크 리전으로 바꿉니다.RUN_DURATION: 요청된 VM을 실행할 기간(초)입니다. 값은600(600초(10분))~604800(604,800초(7일)) 사이여야 합니다.
예약에 따름
리전 인스턴스 템플릿을 만들려면 regionInstanceTemplates.insert 메서드에 POST 요청을 보냅니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name":"INSTANCE_TEMPLATE_NAME",
"properties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
}
],
"reservationAffinity":{
"consumeReservationType":"SPECIFIC_RESERVATION",
"key":"compute.googleapis.com/reservation-name",
"values":[
"RESERVATION"
]
},
"scheduling":{
"provisioningModel":"RESERVATION_BOUND",
"instanceTerminationAction":"DELETE",
"onHostMaintenance": "TERMINATE",
"automaticRestart":true
}
}
}
다음을 바꿉니다.
INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름MACHINE_TYPE: VM에 사용할 머신 유형입니다. A4 또는 A3 Ultra 머신 유형을 지정합니다. 자세한 내용은 GPU 머신 유형을 참조하세요.IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참조하세요.IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.REGION: 인스턴스 템플릿을 만들 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참조하세요.DISK_SIZE: 부팅 디스크의 크기(GB 단위).NETWORK_PROJECT_ID: 네트워크의 프로젝트 ID로 바꿉니다.GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.REGION: 서브네트워크 리전으로 바꿉니다.-
RESERVATION: 예약 이름 또는 예약 내의 특정 블록입니다. 예약 이름 또는 사용 가능한 블록을 확인하려면 예약된 용량 보기를 참조하세요. 인스턴스 배치 요구사항에 따라 다음 중 하나를 선택합니다.블록 전체 또는 단일 블록에 인스턴스를 만들려면 다음 단계를 따르세요.
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
또한 단일 블록의 경우 블록 공동 배치를 지정하는 워크로드 정책(
maxTopologyDistance=BLOCK)을 적용하여 MIG를 만듭니다. 그런 다음 Compute Engine이 예약에 정책을 적용하고 동일한 블록에 인스턴스를 만듭니다.특정 블록에 인스턴스를 만들려면 다음을 수행합니다.
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
스팟
리전 인스턴스 템플릿을 만들려면 regionInstanceTemplates.insert 메서드에 POST 요청을 보냅니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name":"INSTANCE_TEMPLATE_NAME",
"properties":{
"machineType":"MACHINE_TYPE",
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"serviceAccounts": [
{
"email": "default",
"scopes": [
"https://www.googleapis.com/auth/cloud-platform"
]
}
],
"networkInterfaces": [
{
"accessConfigs": [
{
"name": "external-nat",
"type": "ONE_TO_ONE_NAT"
}
],
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-2",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-2"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-3",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-3"
},
{
"network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-4",
"nicType": "GVNIC",
"subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-4"
}
],
"scheduling":
{
"provisioningModel": "SPOT",
"instanceTerminationAction": "TERMINATION_ACTION",
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
}
}
}
다음을 바꿉니다.
INSTANCE_TEMPLATE_NAME: 인스턴스 템플릿의 이름MACHINE_TYPE: VM에 사용할 머신 유형입니다. A4 또는 A3 Ultra 머신 유형을 지정합니다. 자세한 내용은 GPU 머신 유형을 참조하세요.IMAGE_FAMILY: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참조하세요.IMAGE_PROJECT: OS 이미지의 프로젝트 ID로 바꿉니다.REGION: 인스턴스 템플릿을 만들 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역별 GPU 가용성을 참조하세요.DISK_SIZE: 부팅 디스크의 크기(GB 단위).NETWORK_PROJECT_ID: 네트워크의 프로젝트 ID로 바꿉니다.GVNIC_NAME_PREFIX: gVNIC NIC를 사용하는 표준 VPC 네트워크 및 서브넷을 만들 때 지정한 이름 프리픽스입니다.REGION: 서브네트워크 리전으로 바꿉니다.TERMINATION_ACTION: Compute Engine에서 인스턴스를 선점할 때 수행할 작업(STOP(기본값) 또는DELETE)으로 바꿉니다.
인스턴스 템플릿을 만든 후 확인하여 ID를 확인하고 인스턴스 속성을 검토할 수 있습니다.
MIG 만들기
이전 단계를 모두 완료한 후 시나리오에 따라 다음과 같이 MIG를 만듭니다.
| 시나리오 | MIG 및 MIG 내 VM을 만드는 메서드 | 예 |
|---|---|---|
| VM 수를 제한 없이 시작할 수 있는 여러 작업 또는 병렬 작업이 있습니다. | MIG를 만들고 대상 크기를 사용하여 그룹에 포함할 VM 수를 지정합니다. 대상 크기로 MIG 만들기를 참고하세요. |
ML 추론 작업 |
| 정확한 수의 VM에 분산해야 하는 작업이 있습니다. | VM이 없는 MIG를 만든 다음 MIG에서 크기 조절 요청을 만듭니다.
크기 조절 요청을 사용하면 한 번에 모든 VM을 가져올 수 있습니다. MIG 및 크기 조절 요청 만들기를 참고하세요. |
분산 ML 학습 및 미세 조정 작업 |
대상 크기로 MIG 만들기
VM을 한 번에 모두 만들지 않고 작업을 시작할 수 있는 경우 대상 크기로 MIG를 만드세요. 대상 크기에 따라 MIG의 VM 수가 결정됩니다. MIG는 현재 리소스 가용성을 기반으로 VM 생성을 시작합니다. 일시적으로 사용할 수 없는 리소스가 있으면 MIG는 대상 크기를 충족하기 위해 VM을 계속 만들려고 시도합니다.
대상 크기로 MIG를 만들려면 다음 옵션 중 하나를 선택합니다.
gcloud
지정된 대상 크기로 MIG를 만들려면 instance-groups managed
create 명령어를 사용합니다.
MIG를 만드는 명령어는 워크로드 정책을 사용하여 VM 배치를 지정합니다. 워크로드 정책을 사용하지 않으려면 --workload-policy 플래그를 삭제합니다.
다음과 같이 영역 또는 리전 MIG를 만듭니다.
- 영역 MIG를 만들려면 다음 명령어를 사용합니다.
gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=TARGET_SIZE \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE
- 리전 MIG를 만들려면 다음 명령어를 사용합니다.
gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=TARGET_SIZE \ --workload-policy=WORKLOAD_POLICY_URL \ --region=REGION
MIG_NAME: MIG 이름입니다.INSTANCE_TEMPLATE_URL: MIG에서 VM을 만드는 데 사용할 인스턴스 템플릿의 URL입니다. URL에는 인스턴스 템플릿의 ID 또는 이름이 포함될 수 있습니다. 다음 값 중 하나를 지정합니다.- 리전 인스턴스 템플릿의 경우:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - 전역 인스턴스 템플릿의 경우:
INSTANCE_TEMPLATE_ID
- 리전 인스턴스 템플릿의 경우:
TARGET_SIZE: MIG에 사용할 VM 수입니다.WORKLOAD_POLICY_URL: (선택사항) 워크로드 정책의 URL입니다. 예를 들면projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy입니다. 워크로드 정책을 사용하지 않으려면--workload-policy플래그를 삭제하면 됩니다.ZONE: MIG를 만들려는 영역입니다. 워크로드 정책을 사용하는 경우 정책의 리전 내 영역을 지정합니다.REGION: MIG를 만들려는 리전입니다. 워크로드 정책을 사용하는 경우 정책과 동일한 리전을 지정합니다. 리전 MIG의 경우 리전 대신--zones플래그를 사용하여 해당 리전의 영역을 지정할 수 있습니다.
REST
지정된 대상 크기로 MIG를 만들려면 POST 요청을 수행합니다.
MIG를 만드는 요청은 워크로드 정책을 사용하여 VM 배치를 지정합니다. 워크로드 정책을 사용하지 않으려면 resourcePolicies.workloadPolicy 필드를 삭제합니다.
다음과 같이 영역 또는 리전 MIG를 만듭니다.
- 영역 MIG를 만들려면
instanceGroupManagers.insert메서드에POST요청을 수행합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "targetSize": "TARGET_SIZE", "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - 리전 MIG를 만들려면
regionInstanceGroupManagers.insert메서드에POST요청을 수행합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "targetSize": "TARGET_SIZE", "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } }
PROJECT_ID: 프로젝트 ID입니다.ZONE: MIG를 만들려는 영역입니다. 워크로드 정책을 사용하는 경우 정책의 리전 내 영역을 지정합니다.REGION: MIG를 만들려는 리전입니다. 워크로드 정책을 사용하는 경우 정책과 동일한 리전을 지정합니다.INSTANCE_TEMPLATE_URL: MIG에서 VM을 만드는 데 사용할 인스턴스 템플릿의 URL입니다. URL에는 인스턴스 템플릿의 ID 또는 이름이 포함될 수 있습니다. 다음 값 중 하나를 지정합니다.- 리전 인스턴스 템플릿의 경우:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - 전역 인스턴스 템플릿의 경우:
INSTANCE_TEMPLATE_ID
- 리전 인스턴스 템플릿의 경우:
MIG_NAME: MIG 이름입니다.TARGET_SIZE: MIG에 사용할 VM 수입니다.WORKLOAD_POLICY_URL: (선택사항) 워크로드 정책의 URL입니다. 예를 들면projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy입니다. 워크로드 정책을 사용하지 않으려면resourcePolicies.workloadPolicy필드를 삭제합니다.
MIG 및 크기 조절 요청 만들기
작업을 시작하기 위해 여러 VM이 한 번에 필요한 경우 MIG를 만들고 이 섹션에 설명된 대로 MIG에서 크기 조절 요청을 만듭니다.MIG에서 크기 조절 요청을 만들려면 다음 옵션 중 하나를 선택합니다.
gcloud
지정해야 하는 파라미터는 이번 배포에서 사용하는 소비 옵션에 따라 달라집니다. 해당 소비 옵션의 프로비저닝 모델에 해당하는 탭을 선택하세요.
유연한 시작
다음과 같이 영역 또는 리전 MIG와 크기 조절 요청을 만듭니다.
-
영역 MIG와 그 안에서 크기 조절 요청을 만들려면 다음을 수행합니다.
-
다음과 같이
instance-groups managed create명령어를 사용하여 영역 MIG를 만듭니다.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --default-action-on-vm-failure=do-nothing \ --zone=ZONE -
다음과 같이
instance-groups managed resize-requests create명령어를 사용하여 영역 MIG에서 크기 조절 요청을 만듭니다.gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --zone=ZONE
-
-
리전 MIG를 만들고 그 안에서 크기 조절 요청을 만들려면 다음을 수행합니다.
-
다음과 같이
instance-groups managed create명령어를 사용하여 리전 MIG를 만듭니다.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --default-action-on-vm-failure=do-nothing \ --zones=ZONE \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none -
다음과 같이 베타
instance-groups managed resize-requests create명령어를 사용하여 리전 MIG에서 크기 조절 요청을 만듭니다.gcloud beta compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --region=REGION
-
예약에 따름
MIG를 만드는 명령어는 워크로드 정책을 사용하여 VM 배치를 지정합니다. 워크로드 정책을 사용하지 않으려면 --workload-policy 플래그를 삭제합니다.
다음과 같이 영역 또는 리전 MIG와 크기 조절 요청을 만듭니다.
-
영역 MIG와 그 안에서 크기 조절 요청을 만들려면 다음을 수행합니다.
-
다음과 같이
instance-groups managed create명령어를 사용하여 영역 MIG를 만듭니다.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE -
다음과 같이
instance-groups managed resize-requests create명령어를 사용하여 영역 MIG에서 크기 조절 요청을 만듭니다.gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --zone=ZONE
-
-
리전 MIG를 만들고 그 안에서 크기 조절 요청을 만들려면 다음을 수행합니다.
-
다음과 같이
instance-groups managed create명령어를 사용하여 리전 MIG를 만듭니다.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zones=ZONE \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none -
다음과 같이 베타
instance-groups managed resize-requests create명령어를 사용하여 리전 MIG에서 크기 조절 요청을 만듭니다.gcloud beta compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --region=REGION
-
스팟
MIG를 만드는 명령어는 워크로드 정책을 사용하여 VM 배치를 지정합니다. 워크로드 정책을 사용하지 않으려면 --workload-policy 플래그를 삭제합니다.
다음과 같이 영역 또는 리전 MIG와 크기 조절 요청을 만듭니다.
-
영역 MIG와 그 안에서 크기 조절 요청을 만들려면 다음을 수행합니다.
-
다음과 같이
instance-groups managed create명령어를 사용하여 영역 MIG를 만듭니다.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE -
다음과 같이
instance-groups managed resize-requests create명령어를 사용하여 영역 MIG에서 크기 조절 요청을 만듭니다.gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --zone=ZONE
-
-
리전 MIG를 만들고 그 안에서 크기 조절 요청을 만들려면 다음을 수행합니다.
-
다음과 같이
instance-groups managed create명령어를 사용하여 리전 MIG를 만듭니다.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zones=ZONE \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none -
다음과 같이 베타
instance-groups managed resize-requests create명령어를 사용하여 리전 MIG에서 크기 조절 요청을 만듭니다.gcloud beta compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --region=REGION
-
MIG_NAME: MIG 이름INSTANCE_TEMPLATE_URL: MIG에서 VM을 만드는 데 사용할 인스턴스 템플릿의 URL입니다. URL에는 인스턴스 템플릿의 ID 또는 이름이 포함될 수 있습니다. 다음 값 중 하나를 지정합니다.- 리전 인스턴스 템플릿의 경우:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - 전역 인스턴스 템플릿의 경우:
INSTANCE_TEMPLATE_ID
- 리전 인스턴스 템플릿의 경우:
WORKLOAD_POLICY_URL: (선택사항) 워크로드 정책의 URL입니다. 예를 들면projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy입니다. 워크로드 정책을 사용하지 않으려면--workload-policy플래그를 삭제합니다.ZONE: MIG를 만들려는 영역입니다. 리전 MIG의 경우에도 영역을 지정해야 합니다. 이 영역은 VPC 네트워크의 프로필이 포함된 영역이어야 하며 머신 유형을 사용할 수 있는 영역이어야 합니다. 자세한 내용은 제한사항을 참조하세요.RESIZE_REQUEST_NAME:지정된 MIG 내에서 고유해야 하는 크기 조절 요청의 이름입니다. 그렇지 않으면 크기 조절 요청 만들기가 실패합니다.COUNT: MIG에 한 번에 모두 추가할 VM 수입니다.REGION: MIG가 있는 리전입니다.
워크로드에 특정 VM 이름이 필요한 경우에는 beta instance-groups managed resize-requests create 명령어를 사용하여 만들 VM의 이름 목록을 지정하면 됩니다.
명령어에서 --resize-request 플래그를 --instances 플래그로 바꿉니다.
REST
지정해야 하는 파라미터는 이번 배포에서 사용하는 소비 옵션에 따라 달라집니다. 해당 소비 옵션의 프로비저닝 모델에 해당하는 탭을 선택하세요.
유연한 시작
다음과 같이 영역 또는 리전 MIG와 크기 조절 요청을 만듭니다.
- 영역 MIG를 만들고 그 안에서 크기 조절 요청을 만들려면 다음을 수행합니다.
- 다음과 같이
instanceGroupManagers.insert메서드에POST요청을 수행하여 영역 MIG를 만듭니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } } - 다음과 같이
instanceGroupManagerResizeRequests.insert메서드에POST요청을 수행하여 영역 MIG에서 크기 조절 요청을 만듭니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 다음과 같이
- 리전 MIG를 만들고 그 안에서 크기 조절 요청을 만들려면 다음을 수행합니다.
- 다음과 같이
regionInstanceGroupManagers.insert메서드에POST요청을 수행하여 리전 MIG를 만듭니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE", "zones": [ { "zone": "projects/PROJECT_ID/zones/ZONE" } ] }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } } - 다음과 같이
beta.regionInstanceGroupManagerResizeRequests.insert메서드에POST요청을 수행하여 리전 MIG에 크기 조절 요청을 만듭니다.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 다음과 같이
예약에 따름
MIG를 만드는 요청은 워크로드 정책을 사용하여 VM 배치를 지정합니다. 워크로드 정책을 사용하지 않으려면 resourcePolicies.workloadPolicy 필드를 삭제합니다.
다음과 같이 영역 또는 리전 MIG와 크기 조절 요청을 만듭니다.
- 영역 MIG를 만들고 그 안에서 크기 조절 요청을 만들려면 다음을 수행합니다.
- 다음과 같이
instanceGroupManagers.insert메서드에POST요청을 수행하여 영역 MIG를 만듭니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - 다음과 같이
instanceGroupManagerResizeRequests.insert메서드에POST요청을 수행하여 영역 MIG에서 크기 조절 요청을 만듭니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 다음과 같이
- 리전 MIG를 만들고 그 안에서 크기 조절 요청을 만들려면 다음을 수행합니다.
- 다음과 같이
regionInstanceGroupManagers.insert메서드에POST요청을 수행하여 리전 MIG를 만듭니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE", "zones": [ { "zone": "projects/PROJECT_ID/zones/ZONE" } ] }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - 다음과 같이
beta.regionInstanceGroupManagerResizeRequests.insert메서드에POST요청을 수행하여 리전 MIG에 크기 조절 요청을 만듭니다.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 다음과 같이
스팟
MIG를 만드는 요청은 워크로드 정책을 사용하여 VM 배치를 지정합니다. 워크로드 정책을 사용하지 않으려면 resourcePolicies.workloadPolicy 필드를 삭제합니다.
다음과 같이 영역 또는 리전 MIG와 크기 조절 요청을 만듭니다.
- 영역 MIG를 만들고 그 안에서 크기 조절 요청을 만들려면 다음을 수행합니다.
- 다음과 같이
instanceGroupManagers.insert메서드에POST요청을 수행하여 영역 MIG를 만듭니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - 다음과 같이
instanceGroupManagerResizeRequests.insert메서드에POST요청을 수행하여 영역 MIG에서 크기 조절 요청을 만듭니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 다음과 같이
- 리전 MIG를 만들고 그 안에서 크기 조절 요청을 만들려면 다음을 수행합니다.
- 다음과 같이
regionInstanceGroupManagers.insert메서드에POST요청을 수행하여 리전 MIG를 만듭니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE", "zones": [ { "zone": "projects/PROJECT_ID/zones/ZONE" } ] }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - 다음과 같이
beta.regionInstanceGroupManagerResizeRequests.insert메서드에POST요청을 수행하여 리전 MIG에 크기 조절 요청을 만듭니다.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT }
- 다음과 같이
PROJECT_ID: 프로젝트 ID입니다.ZONE: MIG를 만들려는 영역입니다. 리전 MIG의 경우에도 영역을 지정해야 합니다. 이 영역은 VPC 네트워크의 프로필이 포함된 영역이어야 하며 머신 유형을 사용할 수 있는 영역이어야 합니다. 자세한 내용은 제한사항을 참조하세요.REGION: MIG를 만들려는 리전입니다.INSTANCE_TEMPLATE_URL: MIG에서 VM을 만드는 데 사용할 인스턴스 템플릿의 URL입니다. URL에는 인스턴스 템플릿의 ID 또는 이름이 포함될 수 있습니다. 다음 값 중 하나를 지정합니다.- 리전 인스턴스 템플릿의 경우:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - 전역 인스턴스 템플릿의 경우:
INSTANCE_TEMPLATE_ID
- 리전 인스턴스 템플릿의 경우:
MIG_NAME: MIG 이름WORKLOAD_POLICY_URL: (선택사항) 워크로드 정책의 URL입니다. 예를 들면projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy입니다. 워크로드 정책을 사용하지 않으려면resourcePolicies.workloadPolicy필드를 삭제합니다.RESIZE_REQUEST_NAME:지정된 MIG 내에서 고유해야 하는 크기 조절 요청의 이름입니다. 그렇지 않으면 크기 조절 요청 만들기가 실패합니다.COUNT: MIG에 한 번에 모두 추가할 VM 수
워크로드에 특정 VM 이름이 필요한 경우에는 만들 VM의 이름 목록을 지정하면 됩니다. 이렇게 하려면 리전 MIG의 경우 beta.regionInstanceGroupManagerResizeRequests.insert 메서드에, 영역 MIG의 경우 beta.instanceGroupManagerResizeRequests.insert 메서드에 POST 요청을 전송합니다. 요청 본문에서 resizeBy 필드를 instanceNames 필드로 바꿉니다.