이 문서에서는 가상 머신 (VM)을 일괄적으로 만들 때 인스턴스 유연성을 지정하는 방법을 설명합니다. 이 사양을 지정할 때는 VM에 적합한 머신 유형 목록을 지정하며, Compute Engine은 리전의 용량 및 할당량 가용성을 기반으로 지정된 머신 유형 중 하나를 사용하여 VM을 프로비저닝합니다.
일괄 생성된 VM의 인스턴스 유연성에 대한 자세한 내용은 일괄 생성된 VM의 인스턴스 유연성 정보를 참고하세요.
시작하기 전에
- 만들려는 VM과 관련 리소스의 경우 할당량이 충분하고 필요한 권한이 있는지 확인합니다.
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 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 사용을 위한 인증을 참조하세요.
필요한 역할
VM 일괄 생성에 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 인스턴스 관리자(v1)(
roles/compute.instanceAdmin.v1) IAM 역할을 부여해 달라고 요청하세요. 역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.이 사전 정의된 역할에는 VM을 일괄로 만드는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 펼치세요.
필수 권한
VM을 일괄로 만들려면 다음 권한이 필요합니다.
- 프로젝트에 대한
compute.instances.create권한 -
커스텀 이미지를 사용하여 VM 만들기: 이미지에 대한
compute.images.useReadOnly권한 -
스냅샷을 사용하여 VM 만들기: 스냅샷에 대한
compute.snapshots.useReadOnly권한 -
인스턴스 템플릿을 사용하여 VM 만들기: 인스턴스 템플릿에 대한
compute.instanceTemplates.useReadOnly권한 -
VM의 서브넷 지정: 프로젝트 또는 선택한 서브넷에 대한
compute.subnetworks.use권한 -
VM의 고정 IP 주소 지정: 프로젝트에 대한
compute.addresses.use권한 -
VPC 네트워크를 사용할 때 VM에 외부 IP 주소 할당: 프로젝트 또는 선택한 서브넷에 대한
compute.subnetworks.useExternalIp권한 -
VM에 레거시 네트워크 할당: 프로젝트에 대한
compute.networks.use권한 -
레거시 네트워크 사용 시 VM에 외부 IP 주소 할당: 프로젝트에 대한
compute.networks.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권한
커스텀 역할이나 다른 사전 정의된 역할을 사용하여 이 권한을 부여받을 수도 있습니다.
선호도가 동일한 여러 머신 유형으로 VM 만들기
워크로드가 여러 머신 유형에서 작동할 수 있는 경우 단일 인스턴스 선택에서 호환되는 모든 머신 유형의 목록을 지정할 수 있습니다. 다음 예시에서는 선호도가 동일한 여러 머신 유형을 지정하는 방법을 보여줍니다.
gcloud
단일 인스턴스 선택으로 VM을 일괄로 만들려면
--instance-selection-machine-types플래그와 함께gcloud compute instances bulk create명령어를 사용합니다.gcloud compute instances bulk create \ --name-pattern=test-bulk-# \ --region=REGION \ --count=COUNT \ --instance-selection-machine-types=c3-standard-8,n2-standard-8,c2-standard-8REST
Compute Engine API에서
regionInstances.bulkInsert메서드에POST요청을 실행합니다. 요청 본문에 머신 유형을 나열하는instanceSelections항목이 하나 있는instanceFlexibilityPolicy를 포함합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert { "count": COUNT, "namePattern": "test-bulk-#", "instanceFlexibilityPolicy": { "instanceSelections": { "selection-1": { "machineTypes": [ "c3-standard-8", "n2-standard-8", "c2-standard-8" ] } } } }다음을 바꿉니다.
COUNT: 만들 VM 수입니다.PROJECT_ID: 프로젝트 ID입니다.REGION: VM을 만들 리전입니다.
선호도에 따라 순위가 지정된 여러 머신 유형으로 VM 만들기
Compute Engine에서 특정 순서로 머신 유형을 선택하도록 하려면 여러 인스턴스 선택을 구성하면 됩니다. 각 인스턴스 선택에는 머신 유형 목록과 순위가 포함됩니다. 순위는 머신 유형의 선호도를 정의하는 정수입니다. 순위가 낮을수록 선호도가 높습니다. Compute Engine은 선호도가 높은 (순위가 낮은) 머신 유형을 사용하여 VM을 만들려고 시도합니다. 이러한 머신 유형을 사용할 수 없는 경우 Compute Engine은 우선순위가 낮은 머신 유형 (순위가 높음)을 사용합니다.
다음 예에서는 순위를 사용하여 여러 인스턴스 선택을 지정하는 방법을 보여줍니다.
gcloud
인스턴스를 여러 개 선택하여 VM을 일괄로 만들려면
gcloud compute instances bulk create명령어를 사용하고--instance-selection플래그를 여러 번 지정합니다.gcloud beta compute instances bulk create \ --name-pattern=test-bulk-# \ --region=REGION \ --count=COUNT \ --instance-selection "name=most-preferred,rank=0,machine-type=c3-standard-16,machine-type=n2-standard-16, machine-type=c2-standard-16" \ --instance-selection "name=least-preferred,rank=1,machine-type=c3-standard-8,machine-type=n2-standard-8, machine-type=c2-standard-8"REST
Compute Engine API에서
regionInstances.bulkInsert메서드에POST요청을 실행합니다. 요청 본문에instanceFlexibilityPolicy를 포함하고instanceSelections에 여러 항목을 지정합니다. 각 항목에는 머신 유형 목록과rank가 있습니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert { "count": COUNT, "namePattern": "test-bulk-#", "instanceFlexibilityPolicy": { "instanceSelections": { "most-preferred": { "machineTypes": [ "c3-standard-16", "c2-standard-16" ], "rank": 1 }, "least-preferred": { "machineTypes": [ "n2-standard-16", "c3-standard-8", "n2-standard-8", "c2-standard-8" ], "rank": 2 } } } }다음을 바꿉니다.
COUNT: 만들 VM 수입니다.PROJECT_ID: 프로젝트 ID입니다.REGION: VM을 만들 리전입니다.
인스턴스 선택에서 디스크 재정의 지정
기본적으로 일괄 요청으로 생성된 VM은
instanceProperties의 디스크 구성을 사용합니다. 하지만 인스턴스 선택 내에서 디스크 구성을 지정할 수 있습니다. 인스턴스 선택에서 디스크를 지정하면 해당 인스턴스 선택을 사용하는 VM의instanceProperties에 있는 디스크 구성이 재정의됩니다.다음 예에서는 인스턴스 선택에서 디스크를 지정하는 방법을 보여줍니다.
REST
Compute Engine API에서
regionInstances.bulkInsert메서드에POST요청을 실행합니다. 요청 본문에instanceFlexibilityPolicy를 포함하고instanceSelections항목의 경우instanceProperties.disks을 재정의하는disks필드를 포함합니다.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instances/bulkInsert { "count": COUNT, "namePattern": "test-bulk-#", "instanceFlexibilityPolicy": { "instanceSelections": { "selection-1": { "machineTypes": [ "n2-standard-8", "c2-standard-8" ], "disks": [ { "type": "PERSISTENT", "initializeParams": { "diskType": "pd-ssd", "diskSizeGb": 50, "sourceImage": "IMAGE_URL" }, "boot": true }, { "type": "SCRATCH", "initializeParams": { "diskType": "local-ssd" } } ] }, "selection-2": { "machineTypes": [ "c3-standard-8" ], "disks": [ { "type": "PERSISTENT", "initializeParams": { "diskType": "hyperdisk-balanced", "diskSizeGb": 50, "sourceImage": "IMAGE_URL" }, "boot": true }, { "type": "PERSISTENT", "initializeParams": { "diskType": "hyperdisk-balanced", "diskSizeGb": 128, "sourceImage": "IMAGE_URL" } } ] } } } }다음을 바꿉니다.
COUNT: 만들 VM 수입니다.IMAGE_URL: 부팅 디스크 이미지의 URL입니다.PROJECT_ID: 프로젝트 ID입니다.REGION: VM을 만들 리전입니다.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2026-02-11(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2026-02-11(UTC)"],[],[]] -