이 튜토리얼에서는 H4D HPC 최적화 머신 유형을 사용하는 관리형 인스턴스 그룹 (MIG)을 만드는 방법을 보여줍니다. MIG는 예약에 따름 프로비저닝 모델을 사용하여 컴퓨팅 리소스를 획득합니다.
MIG를 만들면 여러 가상 머신 (VM)을 단일 항목으로 관리할 수 있습니다. MIG의 각 VM은 인스턴스 템플릿을 기반으로 합니다. 그룹의 VM을 자동으로 관리함으로써 MIG는 고가용성과 확장성을 제공합니다. MIG에 대해 자세히 알아보려면 관리형 인스턴스 그룹을 참고하세요.
HPC VM 및 HPC 클러스터 생성 옵션에 대해 알아보려면 HPC 클러스터 생성 개요를 참고하세요.
이 튜토리얼은 워크로드를 실행하기 위해 상호 연결된 HPC 인스턴스 그룹을 만드는 데 관심이 있는 HPC 엔지니어, 플랫폼 관리자 및 운영자, 데이터 및 MPI 전문가를 대상으로 합니다. 결과 인스턴스는 인스턴스 관리 또는 작업 예약에 오케스트레이터를 사용하지 않습니다.
관리형 인스턴스 그룹을 만들고 싶지만 인스턴스의 밀도 높은 배포를 만들 필요가 없는 경우 관리형 인스턴스 그룹 (MIG)을 만들기 위한 기본 시나리오를 대신 참고하세요.
목표
- VM 인스턴스용 용량 블록을 예약합니다.
- 선택사항: Virtual Private Cloud (VPC) 네트워크를 만듭니다.
- 선택사항: 워크로드 정책을 만듭니다.
- 인스턴스 템플릿을 만듭니다.
- 다음 방법 중 하나를 사용하여 MIG를 만듭니다.
- 타겟 크기로 MIG를 만듭니다.
- MIG 및 크기 조절 요청을 만듭니다.
- 생성한 리소스 삭제
비용
이 문서에서는 비용이 청구될 수 있는 Google Cloud구성요소( )를 사용합니다.
프로젝트 사용량을 기준으로 예상 비용을 산출하려면 가격 계산기를 사용합니다.
이 문서에 설명된 태스크를 완료했으면 만든 리소스를 삭제하여 청구가 계속되는 것을 방지할 수 있습니다. 자세한 내용은 삭제를 참조하세요.
시작하기 전에
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
-
gcloud CLI를 초기화하려면, 다음 명령어를 실행합니다.
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable compute.googleapis.com
-
Install the Google Cloud CLI.
-
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
-
gcloud CLI를 초기화하려면, 다음 명령어를 실행합니다.
gcloud init
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable compute.googleapis.com
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/compute.instanceAdmin.v1,roles/compute.networkAdmin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID
: your project ID.USER_IDENTIFIER
: the identifier for your user account—for example,myemail@example.com
.ROLE
: the IAM role that you grant to your user account.
AI 하이퍼컴퓨터 문서의 계정팀에 문의하여 용량 예약 절차를 따르세요. 향후 예약 요청에서 다음 예외를 제외하고 문서화된 대로 정보를 제공합니다.
- 머신 유형: H4D 머신 유형(
h4d-standard-192
,h4d-highmem-192
,h4d-highmem-192-lssd
)을 지정합니다. - 영역: 사용 가능한 리전 및 영역 표에 설명된 대로 H4D 인스턴스를 사용할 수 있는 영역 중 하나를 지정합니다. H4D에 사용할 수 있는 영역만 표시하려면 머신 시리즈 선택 목록에서
H4D
를 선택합니다. - 유지보수 예약 유형: H4D 인스턴스의 경우
GROUPED
또는INDEPENDENT
를 지정할 수 있습니다. - 예약 운영 모드: H4D 인스턴스의 경우
HIGHLY_AVAILABLE_CAPACITY
값을 지정합니다.
- 머신 유형: H4D 머신 유형(
용량이 제공되기 전에 할당량이 자동으로 증가합니다. 별도로 취하실 조치는 없습니다.
인스턴스 템플릿을 만들 때 예약 바운드 프로비저닝 모델을 지정합니다. MIG의 VM 인스턴스는 예약된 용량에서 프로비저닝됩니다.
- Google Cloud 콘솔, gcloud CLI 또는 Compute Engine API를 사용하여 사용 가능한 용량을 검색하고 리소스를 예약합니다.
- 할당량이 청구되지 않으며 별도로 취해야 할 조치는 없습니다.
- 인스턴스 템플릿을 만들 때 예약 바운드 프로비저닝 모델을 지정합니다. MIG의 VM 인스턴스는 예약된 용량에서 프로비저닝됩니다.
- Cloud RDMA를 사용하도록 H4D 인스턴스를 구성하려면 이 섹션의 단계를 완료하세요.
- Cloud RDMA를 사용하지 않으려면 이 섹션을 건너뛰고 대신 기본 네트워크를 사용하면 됩니다.
- NIC 유형
GVNIC
: 일반 VM-VM 및 VM-인터넷 통신을 위해 TCP/IP 및 인터넷 트래픽에gve
드라이버를 사용합니다. - NIC 유형
IRDMA
: 인스턴스 간 Cloud RDMA 네트워킹에 IDPF/iRDMA 드라이버를 사용합니다. GVNIC
네트워크 인터페이스의 호스트 네트워크를 만들려면 VPC 네트워크 만들기 및 관리를 참고하세요.GVNIC
네트워크 인터페이스를 하나만 구성하는 경우 기본 VPC 네트워크와 인스턴스와 동일한 리전에 있는 자동 서브넷을 사용할 수 있습니다.IRDMA
네트워크 인터페이스용 네트워크를 만들려면 RDMA 네트워크 프로필로 VPC 네트워크 만들기를 참고하세요. RDMA 네트워크의 최대 전송 단위 (MTU)의 기본값인8896
를 사용합니다.- 선택사항: 스크립트를 실행하기 전에 RDMA 네트워크 프로필을 나열하여 사용 가능한 프로필이 있는지 확인합니다.
gcloud beta compute network-profiles list
다음 코드를 복사하여 Linux 셸 창에서 실행합니다.
#!/bin/bash # Set the number of GVNIC interfaces to create. You can create up to 9. NUM_GVNIC=NUMBER_OF_GVNIC # Create standard VPC (networks and subnets) for the GVNIC interfaces for N in $(seq 0 $(($NUM_GVNIC - 1))); do gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \ --subnet-mode=custom gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --region=REGION \ --range=10.$N.0.0/16 gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,icmp \ --source-ranges=10.0.0.0/8 done # Create SSH firewall rules gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=IP_RANGE # Optional: Create a firewall rule for the external IP address for the # first GVNIC network interface gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=icmp \ --source-ranges=IP_RANGE # Create a network for the RDMA over Falcon network interface gcloud beta compute networks create RDMA_NAME_PREFIX-irdma \ --network-profile=ZONE-vpc-falcon \ --subnet-mode custom # Create a subnet for the RDMA network gcloud beta compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \ --network=RDMA_NAME_PREFIX-irdma \ --region=REGION \ --range=10.2.0.0/16 # offset to avoid overlap with GVNIC subnet ranges
다음을 바꿉니다.
NUMBER_OF_GVNIC
: 만들 GVNIC 인터페이스 수입니다. 1~9 사이의 숫자를 지정합니다.GVNIC_NAME_PREFIX
: GVNIC NIC 유형을 사용하는 표준 VPC 네트워크 및 서브넷에 사용할 이름 프리픽스로 바꿉니다.REGION
: 네트워크를 만들려는 리전입니다. 이는 RDMA 네트워크를 만들 때--network-profile
플래그에 지정된 영역과 일치해야 합니다. 예를 들어 영역을europe-west4-b
로 지정하면 리전은europe-west4
입니다.IP_RANGE
: SSH 방화벽 규칙에 사용할 VPC 네트워크 외부의 IP 주소 범위입니다. 모든 IPv4 또는 IPv6 소스 대신 액세스를 허용해야 하는 특정 IP 주소 범위를 지정하는 것이 좋습니다.0.0.0.0/0
또는::/0
을 소스 범위로 사용하지 마세요. Google Cloud외부 소스를 포함한 모든 IPv4 또는 IPv6 소스의 트래픽이 허용되기 때문입니다.RDMA_NAME_PREFIX
: IRDMA NIC 유형을 사용하는 VPC 네트워크 및 서브넷에 사용할 이름 프리픽스로 바꿉니다.ZONE
: 네트워크와 컴퓨팅 인스턴스를 만들 영역입니다.us-central1-a
또는europe-west4-b
를 사용합니다.
선택사항: VPC 네트워크 리소스가 성공적으로 생성되었는지 확인하려면 Google Cloud 콘솔에서 네트워크 설정을 확인하세요.
- Google Cloud 콘솔에서 VPC 네트워크 페이지로 이동합니다.
- 목록에서 이전 단계에서 만든 네트워크를 검색합니다.
- 서브넷, 방화벽 규칙, 기타 네트워크 설정을 보려면 네트워크 이름을 클릭합니다.
-
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
: 워크로드 정책의 이름입니다.REGION
: 워크로드 정책을 만들려는 리전입니다. MIG를 만들려는 리전과 사용할 머신 유형을 지정합니다. 리전 및 영역에 대한 자세한 내용은 사용 가능한 리전 및 영역을 참고하세요.-
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를 만들려는 리전과 사용할 머신 유형이 제공되는 리전을 지정합니다. 리전 및 영역에 대한 자세한 내용은 사용 가능한 리전 및 영역을 참고하세요.WORKLOAD_POLICY_NAME
: 워크로드 정책의 이름입니다.INSTANCE_TEMPLATE_NAME
: 인스턴스 템플릿의 이름MACHINE_TYPE
: 인스턴스에 사용할 H4D 머신 유형입니다.IMAGE_FAMILY
: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참고하세요.IMAGE_PROJECT
: OS 이미지의 프로젝트 ID로 바꿉니다.REGION
: 인스턴스 템플릿을 만들 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다.DISK_SIZE
: 부팅 디스크의 크기(GiB)입니다.GVNIC_NAME_PREFIX
: gVNIC 인터페이스용 표준 VPC 네트워크 및 서브넷을 만들 때 사용한 이름 프리픽스로 바꿉니다.기본 네트워크를 사용하는 경우
nic-type
필드가GVNIC
로 설정된 단일--network-interface
필드만 포함합니다. 또한 이 네트워크 인터페이스의network
및subnetwork
설정을 생략합니다.STACK_TYPE
: 선택사항: gVNIC 인터페이스에 사용할 스택 유형입니다.IPV4_ONLY
또는IPV4_IPV6
를 지정합니다. 값을 지정하지 않으면 기본적으로IPV4_ONLY
이 사용됩니다.EXTERNAL_IPV4_ADDRESS
: 선택사항: gVNIC 네트워크 인터페이스에 사용할 고정 외부 IPv4 주소입니다. 이전에 외부 IPv4 주소를 예약했어야 합니다. 다음 중 하나를 수행합니다.- 서브넷에서 유효한 IPv4 주소를 지정합니다.
- 네트워크 인터페이스에 외부 IP 주소를 갖지 않도록 하려면
no-address
플래그를 사용하세요. - 네트워크 인터페이스에 임시 외부 IP 주소가 수신되도록 하려면
address=''
를 지정합니다.
GVNIC 네트워크 인터페이스의 외부 IPv6 주소를 지정하려면
--external-ipv6-address
플래그를 대신 사용하세요.RDMA_NAME_PREFIX
: IRDMA 네트워크 인터페이스의 VPC 네트워크 및 서브넷을 만들 때 사용한 이름 프리픽스로 바꿉니다.H4D 인스턴스에서 Cloud RDMA를 사용하지 않는 경우 IRDMA 인터페이스의
--network-interface
필드를 생략합니다.-
RESERVATION
: 사용할 예약의 이름입니다.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
INSTANCE_TEMPLATE_NAME
: 인스턴스 템플릿의 이름MACHINE_TYPE
: 인스턴스에 사용할 머신 유형입니다. H4D 머신 유형을 지정합니다. 자세한 내용은 H4D 머신 유형을 참고하세요.IMAGE_FAMILY
: 사용할 OS 이미지의 이미지 계열로 바꿉니다. 지원되는 운영체제 목록은 지원되는 운영체제를 참고하세요.IMAGE_PROJECT
: OS 이미지의 프로젝트 ID로 바꿉니다.REGION
: 인스턴스 템플릿을 만들 리전입니다. 사용할 머신 유형이 제공되는 리전을 지정합니다. 리전에 대한 자세한 내용은 리전 및 영역을 참고하세요.DISK_SIZE
: 부팅 디스크의 크기(GiB)입니다.GVNIC_NAME_PREFIX
: gVNIC 인터페이스용 표준 VPC 네트워크 및 서브넷을 만들 때 사용한 이름 프리픽스로 바꿉니다.기본 네트워크를 사용하는 경우
nic-type
필드가GVNIC
로 설정된 단일--network-interface
필드만 포함합니다. 또한 이 네트워크 인터페이스의network
및subnetwork
설정을 생략합니다.EXTERNAL_IPV4_ADDRESS
: 선택사항: gVNIC 네트워크 인터페이스에 사용할 고정 외부 IPv4 주소입니다. 이전에 외부 IPv4 주소를 예약했어야 합니다.GVNIC 네트워크 인터페이스의 외부 IPv6 주소를 지정하려면
--external-ipv6-address
플래그를 대신 사용하세요.RDMA_NAME_PREFIX
: IRDMA 네트워크 인터페이스의 VPC 네트워크 및 서브넷을 만들 때 사용한 이름 프리픽스로 바꿉니다.H4D 인스턴스에서 Cloud RDMA를 사용하지 않는 경우 IRDMA 인터페이스의
--network-interface
필드를 생략합니다.-
RESERVATION
: 사용할 예약의 이름입니다.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
- VM 수를 제한 없이 시작할 수 있는 여러 작업 또는 병렬 작업이 있는 경우 대상 크기로 MIG를 만드세요.
- 작업을 시작하기 위해 여러 VM이 한 번에 필요하거나 정확한 수의 VM 인스턴스에 분산해야 하는 작업이 있는 경우 MIG를 만든 다음 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입니다. 워크로드 정책을 사용하지 않으려면--workload-policy
플래그를 삭제하면 됩니다.ZONE
: MIG를 만들려는 영역입니다. 워크로드 정책을 사용하는 경우 정책의 리전 내 영역을 지정합니다.REGION
: MIG를 만들려는 리전입니다. 워크로드 정책을 사용하는 경우 정책과 동일한 리전을 지정합니다. 리전 MIG의 경우 리전 대신--zones
플래그를 사용하여 해당 리전의 영역을 지정할 수 있습니다.- 영역 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입니다. 워크로드 정책을 사용하지 않으려면resourcePolicies.workloadPolicy
필드를 삭제하면 됩니다.-
영역 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 \ POPULATION_METHOD \ --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 \ POPULATION_METHOD \ --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입니다. 워크로드 정책을 사용하지 않으려면--workload-policy
플래그를 삭제하면 됩니다.ZONE
: MIG를 만들려는 영역입니다. 리전 MIG의 경우에도 영역을 지정해야 합니다. 이 영역은 VPC 네트워크의 프로필이 포함된 영역이어야 하며 머신 유형을 사용할 수 있는 영역이어야 합니다. 자세한 내용은 제한사항을 참조하세요.RESIZE_REQUEST_NAME
: 크기 조절 요청의 이름입니다. 지정된 MIG 내에서 고유해야 합니다. 그렇지 않으면 크기 조절 요청 만들기가 실패합니다.POPULATION_METHOD
: MIG에 인스턴스를 추가하는 방법입니다. 다음 중 하나를 사용하세요.--resize-by=COUNT
: 지정된 수의 인스턴스를 MIG에 한 번에 모두 추가합니다. 인스턴스 이름은 자동으로 생성됩니다.--instances=INSTANCE_NAME_LIST
: 지정된 이름의 인스턴스를 MIG에 한 번에 모두 추가합니다. INSTANCE_NAME_LIST를 쉼표로 구분된 인스턴스 이름 목록으로 바꿉니다. 제공하는 이름의 수에 따라 이 크기 조절 요청으로 생성할 인스턴스 수가 결정됩니다.
REGION
: 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", POPULATION_METHOD }
- 다음과 같이
- 리전 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", POPULATION_METHOD }
- 다음과 같이
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입니다. 워크로드 정책을 사용하지 않으려면resourcePolicies.workloadPolicy
필드를 삭제하면 됩니다.RESIZE_REQUEST_NAME
: 크기 조절 요청의 이름입니다. 지정된 MIG 내에서 고유해야 합니다. 그렇지 않으면 크기 조절 요청 만들기가 실패합니다.POPULATION_METHOD
: MIG에 인스턴스를 추가하는 방법입니다. 다음 중 하나를 사용하세요."resizeBy":COUNT
: COUNT을 지정된 인스턴스 수로 대체하여 MIG에 한 번에 모두 추가합니다. 인스턴스 이름은 자동으로 생성됩니다."instanceNames":INSTANCE_NAME_LIST
: 지정된 이름의 인스턴스를 MIG에 한 번에 모두 추가합니다. INSTANCE_NAME_LIST를 쉼표로 구분된 인스턴스 이름 목록으로 바꿉니다. 제공하는 이름의 수에 따라 이 크기 조절 요청으로 생성할 인스턴스 수가 결정됩니다.
인스턴스 템플릿에서 디스크의 자동 삭제 상태가
False
로 설정된 경우 VM 인스턴스가 삭제될 때 디스크가 자동으로 삭제되지 않습니다. 다음 방법 중 하나를 사용하여 디스크를 삭제할 수 있습니다.콘솔
- Google Cloud 콘솔에서 디스크 페이지로 이동합니다.
이 튜토리얼에서 만든 디스크가 포함된 행을 선택합니다. 각 디스크의 다음에서 사용 중 열이 비어 있는지 확인합니다.
삭제를 클릭한 후 삭제를 클릭하여 확인합니다.
gcloud
gcloud compute disks delete
명령어를 사용합니다.gcloud compute disks delete DISK_NAME \ --project PROJECT_ID --zone ZONE
다음을 바꿉니다.
- DISK_NAME : 삭제할 디스크의 이름입니다.
- PROJECT_ID: 디스크가 포함된 프로젝트의 ID
- ZONE: 디스크 영역
REST
disks.delete
메서드를 사용하여 디스크를 삭제합니다.DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
다음을 바꿉니다.
- PROJECT_ID: 디스크가 포함된 프로젝트의 ID
- ZONE: 디스크 영역
- DISK_NAME : 삭제할 디스크의 이름입니다.
- 관리형 인스턴스 그룹 자세히 알아보기
- Compute Engine 소비 옵션 자세히 알아보기
- H4D 머신 시리즈 알아보기
- 크기 조절 요청 보기, 취소 또는 삭제하기
- 예약 사용 문제 해결
용량 예약
이 튜토리얼의 명령어를 사용하려면 MIG에서 인스턴스를 만들기 위한 용량을 예약해야 합니다.
용량 블록에 대한 미래용 예약 만들기
이 작업을 사용하면 선택한 특정 날짜와 시간부터 시작하여 정의된 기간 동안 용량 블록을 예약할 수 있습니다. 예약은 클러스터에서 용량의 블록 또는 하위 블록을 예약하므로 VM 인스턴스를 밀도 있게 배포할 수 있습니다.
집중 배포를 위한 미래용 예약을 만드는 프로세스는 다음과 같습니다.
전체 기간 동안 예약된 리소스를 사용했는지 여부에 관계없이 전체 예약 기간에 대한 요금이 청구됩니다. 자세한 내용은 예약 결제를 참고하세요.
캘린더 모드에서 미래용 예약 만들기
예약된 용량을 90일 미만으로 사용해야 하는 경우 동적 워크로드 스케줄러를 사용하여 캘린더 모드에서 미래용 예약을 만들 수 있습니다. 미래용 예약 리소스를 가져오려면 다음 단계를 따르세요.
전체 기간 동안 예약된 리소스를 사용했는지 여부에 관계없이 전체 예약 기간에 대한 요금이 청구됩니다. 자세한 내용은 동적 워크로드 스케줄러 가격 책정을 참고하세요.
선택사항: VPC 네트워크 만들기
명시적으로 사용 중지하지 않는 한, 각 프로젝트에는 인스턴스에 네트워크 연결을 제공하는 데 사용할 수 있는 기본 네트워크가 있습니다. VM을 만들 때는 VPC 네트워크 및 서브넷을 지정할 수 있습니다. 이 구성을 생략하면 기본 네트워크 및 서브넷이 사용됩니다.
H4D 인스턴스는 Cloud RDMA를 사용하도록 구성할 수 있습니다. Cloud RDMA는 Compute Engine 인스턴스 간의 원격 직접 메모리 액세스 (RDMA)를 지원하는 IRDMA 네트워크 드라이버를 사용하여 지연 시간이 짧고 안정적인 메시지 기능을 지원합니다.
이 튜토리얼에서는 다음을 사용합니다.
RDMA 지원 인스턴스에는 최소 2개의 네트워크 인터페이스 (NIC)가 필요합니다.
Cloud RDMA를 사용하는 인스턴스는 IRDMA
인터페이스를 하나만 가질 수 있습니다. 인스턴스당 최대 8개의 GVNIC
네트워크 인터페이스를 추가하여 총 10개의 NIC를 사용할 수 있습니다.
인스턴스에서 사용할 Falcon VPC 네트워크를 설정하려면 문서화된 안내를 따르거나 제공된 스크립트를 사용하면 됩니다.
안내 가이드
네트워크를 만들려면 다음 안내를 수행하면 됩니다.
스크립트
인스턴스당 최대 9개의 GVNIC
네트워크 인터페이스와 1개의 IRDMA
네트워크 인터페이스를 만들 수 있습니다. 각 네트워크 인터페이스는 별도의 네트워크에 연결되어야 합니다. 네트워크를 만들려면 다음 스크립트를 사용하면 됩니다. 이 스크립트는 GVNIC
용 네트워크 2개와 IRDMA
용 네트워크 1개를 만듭니다.
선택사항: 워크로드 정책 만들기
Compute Engine에서 VM 인스턴스를 단일 블록 또는 인접한 블록에 배치하려면 워크로드 정책을 만들어 인스턴스 배치를 지정합니다. 하지만 Compute Engine에서 특정 블록에 인스턴스를 배치하도록 하려면 이 단계를 건너뛰고 인스턴스 템플릿을 만들 때 예약 어피니티에 블록 이름을 제공하세요.
이미 워크로드 정책이 있는 경우 이를 재사용할 수 있습니다. MIG에 워크로드 정책을 적용하면 Compute Engine은 인스턴스를 최대한 서로 가까운 위치에 만들기 위해 최선을 다합니다. 애플리케이션이 지연 시간에 민감하고 인스턴스가 더 가까이 있도록 하려면 (최대 압축) 워크로드 정책을 만들 때 maxTopologyDistance
필드를 지정하세요.
워크로드 정책을 만든 후에는 업데이트할 수 없습니다. 워크로드 정책을 변경하려면 새 정책을 만들어야 합니다.
워크로드 정책을 만들려면 다음 옵션 중 하나를 선택합니다.
gcloud
워크로드 정책을 만들려면
gcloud compute resource-policies create workload-policy
명령어를 사용합니다.
다음을 바꿉니다.
REST
워크로드 정책을 만들려면 resourcePolicies.insert
메서드에 POST
요청을 보냅니다.
다음을 바꿉니다.
인스턴스 템플릿 만들기
MIG의 각 인스턴스에 대한 인스턴스 및 소비 속성을 지정하려면 다음 방법 중 하나를 사용하여 인스턴스 템플릿을 만듭니다.
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, \ stack-type=STACK_TYPE, \ address=EXTERNAL_IPV4_ADDRESS \ --network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-1, \ subnet=GVNIC_NAME_PREFIX-sub-1,no-address \ --network-interface=nic-type=IRDMA, \ network=RDMA_NAME_PREFIX-irdma, \ subnet=RDMA_NAME_PREFIX-irdma-sub, \ stack-type=IPV4_ONLY,no-address \ --reservation-affinity=specific \ --reservation=RESERVATION \ --provisioning-model=RESERVATION_BOUND \ --instance-termination-action=DELETE \ --maintenance-policy=TERMINATE
다음을 바꿉니다.
REST
리전 인스턴스 템플릿을 만들려면
regionInstanceTemplates.insert
메서드에 POST
요청을 보냅니다.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates { "name":"INSTANCE_TEMPLATE_NAME", "properties":{ "disks":[ { "boot":true, "initializeParams":{ "diskSizeGb":"DISK_SIZE", "diskType":"hyperdisk-balanced", "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" }, "mode":"READ_WRITE", "type":"PERSISTENT" } ], "machineType":"MACHINE_TYPE", "networkInterfaces": [ { "network": "GVNIC_NAME_PREFIX-net-0", "subnetwork": "GVNIC_NAME_PREFIX-sub-0", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "External IP", "natIP": "EXTERNAL_IPV4_ADDRESS" } ], "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "GVNIC_NAME_PREFIX-net-1", "subnetwork": "GVNIC_NAME_PREFIX-sub-1", "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "RDMA_NAME_PREFIX-irdma", "subnetwork": "RDMA_NAME_PREFIX-irdma-sub", "stackType": "IPV4_ONLY", "nicType": "IRDMA", } ], , "reservationAffinity":{ "consumeReservationType":"SPECIFIC_RESERVATION", "key":"compute.googleapis.com/reservation-name", "values":[ "RESERVATION" ] }, "scheduling":{ "provisioningModel":"RESERVATION_BOUND", "instanceTerminationAction":"DELETE", "onHostMaintenance": "TERMINATE", "automaticRestart":true } } }
다음을 바꿉니다.
인스턴스 템플릿을 만든 후 템플릿을 확인하여 ID를 확인하고 인스턴스 속성을 검토할 수 있습니다.
MIG 만들기
워크로드 요구사항에 따라 다음 구성 중 하나로 MIG를 만들 수 있습니다.
타겟 크기로 MIG 만들기
VM 인스턴스를 한 번에 모두 만들지 않고 작업을 시작할 수 있는 경우 대상 크기로 MIG를 만드세요. 타겟 크기에 따라 MIG의 인스턴스 수가 결정됩니다. MIG는 현재 리소스 가용성을 기반으로 인스턴스 생성을 시작합니다. 일시적으로 사용할 수 없는 리소스가 있으면 MIG는 대상 크기를 충족하기 위해 인스턴스를 계속 만들려고 시도합니다.
타겟 크기로 MIG를 만들려면 다음 옵션 중 하나를 선택합니다.
gcloud
지정된 목표 크기로 MIG를 만들려면 instance-groups managed
create
명령어를 사용합니다.
이 단계에서 MIG를 만드는 명령어는 워크로드 정책을 사용하여 VM 배치를 지정합니다. 워크로드 정책을 사용하지 않으려면 --workload-policy
플래그를 삭제합니다.
다음과 같이 영역 또는 리전 MIG를 만듭니다.
REST
지정된 타겟 크기로 MIG를 만들려면 다음과 같이 POST
요청을 수행합니다.
이 단계에서 MIG를 만드는 요청은 워크로드 정책을 사용하여 VM 배치를 지정합니다. 워크로드 정책을 사용하지 않으려면 요청 본문에서 resourcePolicies.workloadPolicy
필드를 삭제합니다.
다음과 같이 영역 또는 리전 MIG를 만듭니다.
MIG 및 크기 조절 요청 만들기
요청된 모든 인스턴스를 동시에 만들려면 인스턴스가 없는 MIG를 만듭니다. 빈 MIG를 만든 후 MIG에서 크기 조절 요청을 만듭니다. 한 번에 모든 인스턴스를 만들 수 있는 리소스가 있으면 크기 조절 요청이 MIG에 인스턴스를 추가합니다.
MIG 및 크기 조절 요청을 만들려면 다음 옵션 중 하나를 선택합니다.
gcloud
이 단계에서 MIG를 만드는 명령어는 워크로드 정책을 사용하여 VM 배치를 지정합니다. 워크로드 정책을 사용하지 않으려면 --workload-policy
플래그를 삭제합니다.
다음과 같이 영역 또는 리전 MIG와 크기 조절 요청을 만듭니다.
다음을 바꿉니다.
REST
이 단계에서 MIG를 만드는 요청은 워크로드 정책을 사용하여 VM 배치를 지정합니다. 워크로드 정책을 사용하지 않으려면 요청 본문에서 resourcePolicies.workloadPolicy
필드를 삭제합니다.
다음과 같이 영역 또는 리전 MIG와 크기 조절 요청을 만듭니다.
다음을 바꿉니다.
삭제
이 튜토리얼에서 사용된 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 리소스가 포함된 프로젝트를 삭제하거나 프로젝트를 유지하고 개별 리소스를 삭제하세요.
프로젝트 삭제
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID