VM 인스턴스 만들기 및 시작

이 문서에서는 부팅 디스크 이미지, 부팅 디스크 스냅샷, 컨테이너 이미지를 사용하여 가상 머신 인스턴스를 만드는 방법에 대해 설명합니다. 부팅 디스크 이미지에서 VM 인스턴스를 만들 경우 일반 이미지 또는 보안 VM 이미지를 사용할 수 있습니다. 보안 VM 이미지는 UEFI 규격 펌웨어, 보안 부팅, vTPM 보호가 적용된 신중한 부팅 같은 보안 기능을 제공합니다. VM 인스턴스를 만들고 나면 Compute Engine에서 인스턴스를 자동으로 시작합니다.

VM 인스턴스를 만들 때 인스턴스에 사용할 여러 디스크를 만들 수 있습니다. 인스턴스를 만든 후 인스턴스에 디스크를 추가할 수도 있습니다.

이 문서에서는 인스턴스를 만드는 기본적인 방법을 설명합니다. 더 구체적이거나 복잡한 인스턴스 구성에 대해서는 다음 리소스를 참조하세요.

시작하기 전에

이미지를 사용하여 인스턴스 만들기

이 섹션에서는 특정 운영체제의 이미지를 사용하여 인스턴스를 만드는 방법에 대해 설명합니다. 부팅 디스크 이미지에는 부트로더, 부팅 파일 시스템, 인스턴스에서 실행되는 운영체제가 포함됩니다.

고급 사용자의 경우 Compute Engine에서 제공하는 공개 이미지 대신 사용할 커스텀 이미지를 만들 수 있습니다.

Google Cloud Platform Console, gcloud 명령줄 도구 또는 API에서 이미지를 사용하여 인스턴스를 만들 수 있습니다.

공개 이미지를 사용하여 인스턴스 만들기

공개 이미지는 Google, 오픈소스 커뮤니티, 제3자 공급업체에서 제공하고 관리합니다. 기본적으로 모든 프로젝트에서 이러한 이미지에 액세스할 수 있으며 이를 사용하여 공통 운영체제 인스턴스를 만들 수 있습니다.

인스턴스를 만들려면 필요한 운영체제의 이미지 계열을 지정합니다. Compute Engine은 여러 Linux 배포판을 제공하며 그 중 일부는 일반 이미지와 보안 설정된 VM 이미지 모두로 제공됩니다. 인스턴스의 저장소로 로컬 SSD 저장소를 선택하면 보안 설정된 VM의 무결성 모니터링 기능을 사용할 수 없으며 데이터 보안에 vTPM을 사용할 수도 없습니다. 사용할 수 있는 이미지 계열의 목록은 공개 이미지를 참조하세요.

콘솔

  1. VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스 페이지로 이동

  2. 프로젝트를 선택하고 계속을 클릭합니다.
  3. 인스턴스 만들기 버튼을 클릭합니다.
  4. 인스턴스 이름을 지정합니다.
  5. 필요할 경우 이 인스턴스의 영역을 변경합니다.

    참고: 여러 영역에서 사용되도록 각 리전 내에서 영역 목록이 무작위로 선택됩니다.

  6. 인스턴스의 머신 구성을 선택합니다.

  7. 부팅 디스크 섹션에서 변경을 클릭하여 부팅 디스크를 구성합니다.
    MBR 파티션의 제한사항을 고려하여 2TB 이하의 부팅 디스크를 만듭니다.

  8. OS 이미지 탭에서 이미지를 선택합니다.
    보안 VM 이미지만 보려면 보안 VM 기능이 있는 이미지 표시를 선택합니다.

  9. 선택을 클릭합니다.

  10. VM 인스턴스에 HTTP 또는 HTTPS 트래픽을 허용하려면 HTTP 트래픽 허용 또는 HTTPS 트래픽 허용을 선택합니다.

    GCP Console이 인스턴스에 네트워크 태그를 추가하고 tcp:80(HTTP) 또는 tcp:443(HTTPS)에서 들어오는 모든 트래픽을 허용하는 수신 방화벽 규칙을 만듭니다. 네트워크 태그는 방화벽 규칙을 인스턴스와 연결합니다. 자세한 내용은 가상 사설 클라우드 문서의 방화벽 규칙 개요를 참조하세요.

  11. VM 인스턴스에 보조 비부팅 디스크를 추가하려면 다음 단계를 따릅니다.

    1. 관리, 보안, 디스크, 네트워킹, 단독 임대 섹션을 클릭합니다.
    2. 디스크 탭을 클릭합니다.
    3. 추가 디스크에서 새 디스크 추가를 클릭합니다.
    4. 디스크의 이름, 유형, 소스 유형, 모드, 삭제 규칙을 지정합니다.
    5. 완료를 클릭합니다.
    6. 필요에 따라 디스크를 추가합니다.
  12. 보안 설정된 VM을 지원하는 이미지를 선택한 경우, 필요하다면 인스턴스의 보안 설정된 VM 설정을 변경합니다.

    1. 관리, 보안, 디스크, 네트워킹, 단독 임대 섹션에서 보안 탭을 클릭합니다.
    2. 보안 부팅을 사용 중지하려면 보안 부팅 사용을 선택 해제합니다. 보안 부팅을 사용하면 부팅 수준 및 커널 수준의 멀웨어와 루트킷으로부터 VM 인스턴스를 보호할 수 있습니다. 자세한 내용은 보안 부팅을 참조하세요.
    3. vTPM(Virtual Trusted Platform Module)을 사용 중지하려면 vTPM 사용을 선택 해제합니다. vTPM을 사용하면 신중한 부팅을 통해 VM 사전 부팅 및 부팅 무결성을 검증할 수 있습니다. 자세한 내용은 vTPM(Virtual Trusted Platform Module)을 참조하세요.

    4. 무결성 모니터링을 사용 중지하려면 무결성 모니터링 사용을 선택 해제합니다. 무결성 모니터링을 사용하면 Stackdriver를 사용하여 보안 설정된 VM 인스턴스의 부팅 무결성을 모니터링할 수 있습니다. 자세한 내용은 무결성 모니터링을 참조하세요.

  13. 만들기 버튼을 클릭하여 인스턴스를 만들고 시작합니다.

gcloud

인스턴스를 만들기 전에 인스턴스의 부팅 디스크에 사용할 운영체제 이미지를 선택합니다. 보안 VM이 아닌 공개 이미지의 전체 목록을 이미지 ID, 이미지 계열, 이미지 프로젝트와 함께 확인하려면 gcloud compute images list 명령어를 플래그 없이 사용합니다.

gcloud compute images list

보안 VM 공개 이미지의 전체 목록을 확인하려면 gcloud compute images list 명령어를 다음 플래그와 함께 사용합니다.

gcloud compute images list --project gce-uefi-images --no-standard-images

이미지를 선택한 후 gcloud compute instances create 명령어를 사용하여 인스턴스를 만듭니다.

최신 버전의 운영체제 이미지를 사용하려면 --image-family--image-project 플래그를 지정합니다. 예를 들어 debian-9는 지원 중단되지 않은 Debian 9 이미지의 최신 버전을 반환하는 이미지 계열이며 debian-cloud는 이미지 프로젝트입니다.

이미지 계열에서 최신 이미지로 인스턴스를 만듭니다.

gcloud compute instances create [INSTANCE_NAME] \
--image-family [IMAGE_FAMILY] \
--image-project [IMAGE_PROJECT]

각 항목의 의미는 다음과 같습니다.

응답 예:

Created [https://www.googleapis.com/compute/v1/projects/myproject/zones/[ZONE]/instances/[INSTANCE_NAME]].
NAME            ZONE   MACHINE_TYPE  INTERNAL_IP   EXTERNAL_IP    STATUS
[INSTANCE_NAME] [ZONE] n1-standard-1 10.105.155.92 173.255.114.53 RUNNING

최신 버전 대신 특정 이미지 버전을 사용해야 하는 경우 --image--image-project 플래그를 지정합니다. 예를 들어 debian-9-stretch-v20170619 Debian 이미지를 사용하는 인스턴스를 만들려면 --image debian-9-stretch-v20170619--image-project debian-cloud를 지정합니다.

특정 버전의 이미지를 사용하여 인스턴스를 만듭니다.

gcloud compute instances create [INSTANCE_NAME] \
    --image [IMAGE_ID] \
    --image-project [IMAGE_PROJECT]

각 항목의 의미는 다음과 같습니다.

  • [INSTANCE_NAME]은 새 인스턴스의 이름입니다.
  • [IMAGE_ID]는 특정 이미지입니다.
  • [IMAGE_PROJECT]는 이미지가 속한 이미지 프로젝트입니다.

인스턴스를 만들 때 보조 비부팅 디스크를 128개까지 추가할 수 있습니다. 만든 각 보조 디스크에 --create-disk 플래그를 지정합니다. 공개 또는 스톡 이미지에서 보조 디스크를 만들려면 --create-disk 플래그에 imageimage-project 속성을 지정합니다. 빈 디스크를 만들려면 이러한 속성을 포함하지 마세요. 필요할 경우, 디스크 sizetype 속성을 포함합니다.

gcloud compute instances create [INSTANCE_NAME] \
  --image-family [IMAGE_FAMILY] \
  --image-project [IMAGE_PROJECT] \
  --create-disk image=[DISK_IMAGE],image-project=[DISK_IMAGE_PROJECT],size=[SIZE_GB],type=[DISK_TYPE]

각 항목의 의미는 다음과 같습니다.

  • [INSTANCE_NAME]은 새 인스턴스의 이름입니다.
  • [IMAGE_FAMILY]사용 가능한 이미지 계열 중 하나입니다.
  • [IMAGE_PROJECT]는 이미지가 속한 이미지 프로젝트입니다.
  • [DISK_IMAGE]는 보조 디스크의 소스 이미지입니다. 사용할 수 있는 이미지의 목록을 보려면 gcloud compute images list를 실행하세요. 빈 디스크의 경우 디스크 이미지나 이미지 프로젝트를 지정하지 마세요.
  • [DISK_IMAGE_PROJECT]는 디스크 이미지가 속한 이미지 프로젝트입니다. 빈 디스크의 경우 디스크 이미지나 이미지 프로젝트를 지정하지 마세요.
  • [SIZE_GB]는 보조 디스크의 크기입니다.
  • [DISK_TYPE]은 영구 디스크의 유형으로서 pd-standard 또는 pd-ssd입니다.

디스크를 사용하기 전에 먼저 디스크를 포맷하고 마운트하세요.

보안 설정된 VM을 지원하는 이미지를 선택한 경우, 필요하면 다음 플래그 중 하나를 사용하여 인스턴스의 보안 설정된 VM 설정을 변경할 수 있습니다.

  • --no-shielded-vm-secure-boot: 보안 부팅을 사용 중지합니다. 보안 부팅을 사용하면 부팅 수준 및 커널 수준의 멀웨어와 루트킷으로부터 VM 인스턴스를 보호할 수 있습니다. 자세한 내용은 보안 부팅을 참조하세요.
  • --no-shielded-vm-vtpm: vTPM(Virtual Trusted Platform Module)을 사용 중지합니다. vTPM을 사용하면 신중한 부팅을 통해 VM 사전 부팅 및 부팅 무결성을 검증할 수 있습니다. 자세한 내용은 vTPM(Virtual Trusted Platform Module)을 참조하세요.

  • --no-shielded-vm-integrity-monitoring: 무결성 모니터링을 사용 중지합니다. 무결성 모니터링을 사용하면 Stackdriver를 사용하여 보안 설정된 VM 인스턴스의 부팅 무결성을 모니터링할 수 있습니다. 자세한 내용은 무결성 모니터링을 참조하세요.

다음 예에서는 보안 부팅이 사용 중지된 상태로 Ubuntu 보안 VM 인스턴스를 만듭니다.

gcloud beta compute instances create my-instance \
  --image-family ubuntu-1804-uefi --image-project gce-uefi-images \
  --no-shielded-vm-secure-boot

API

API에서 인스턴스를 시작하려면 요청을 보내고 다음 속성을 지정합니다.

  • 소스 이미지
  • 네트워크 인터페이스
  • 머신 유형
  • VPC 네트워크가 커스텀 모드 VPC 네트워크인 경우 인스턴스를 만들 서브넷도 지정해야 합니다.
  • 보안 설정된 VM을 지원하는 이미지를 선택한 경우, 다음 부울 요청 본문 항목을 사용하여 인스턴스의 보안 설정된 VM 설정을 선택적으로 변경할 수 있습니다.

    • enableSecureBoot: 보안 부팅을 사용 설정 또는 사용 중지합니다. 보안 부팅을 사용하면 부팅 수준 및 커널 수준의 멀웨어와 루트킷으로부터 VM 인스턴스를 보호할 수 있습니다. 자세한 내용은 보안 부팅을 참조하세요.
    • enableVtpm: vTPM(Virtual Trusted Platform Module)을 사용 설정 또는 사용 중지합니다. vTPM을 사용하면 신중한 부팅을 통해 VM 사전 부팅 및 부팅 무결성을 검증할 수 있습니다. 자세한 내용은 vTPM(Virtual Trusted Platform Module)을 참조하세요.

    • enableIntegrityMonitoring: 무결성 모니터링을 사용 설정 또는 사용 중지합니다. 무결성 모니터링을 사용하면 Stackdriver 보고서를 사용하여 보안 설정된 VM 인스턴스의 런타임 부팅 무결성을 모니터링하고 확인할 수 있습니다. 자세한 내용은 무결성 모니터링을 참조하세요.

리소스 속성을 결정한 후 요청 본문을 만들고 API 요청을 만듭니다. API 요청 작성 및 API 응답 처리에 대한 자세한 내용은 API 요청 생성 및 응답 처리 문서를 참조하세요.

API 요청 만들기

API 클라이언트 라이브러리를 사용하는 경우 REST API를 직접 호출하거나 instances().insert 메서드를 사용하여 새 인스턴스를 시작할 수 있습니다. 다음은 각 옵션의 예시입니다.

REST

API에서 동일한 요청 본문을 사용하여 인스턴스 URI에 대한 POST 요청을 작성합니다. VM 인스턴스를 만들 때 각각의 추가 디스크에 initializeParams 속성을 사용하여 최대 128개의 보조 비부팅 디스크를 추가할 수 있습니다. 공개 또는 비공개 이미지를 사용하여 추가 디스크를 만듭니다. 빈 디스크를 추가하려면 이미지 소스를 지정하지 마세요. 필요할 경우 diskSizeGb, diskType, labels 속성을 포함할 수 있습니다.

def addInstance(http, listOfHeaders):
  url = "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances"

  body = {
    "name": "[INSTANCE_NAME]",
    "machineType": "machineTypes/[MACHINE_TYPE]",
    "networkInterfaces": [{
      "accessConfigs": [{
        "type": "ONE_TO_ONE_NAT",
        "name": "External NAT"
       }],
      "network": "global/networks/default"
    }],
    "disks": [{
       "autoDelete": "true",
       "boot": "true",
       "type": "PERSISTENT",
       "initializeParams": {
         "sourceImage": "projects/[IMAGE_PROJECT]/global/images/family/[IMAGE]",
         "labels": {
           "key": "[LABEL_KEY]",
           "value": "[LABEL_VALUE]",
         }
       }
     },
     {
       "initializeParams": {
          "diskSizeGb": "[SIZE_GB]",
          "sourceImage":"[IMAGE]"
       },
       {
       "initializeParams": {
          "diskSizeGb": "[SIZE_GB]"
       }
     }]

  bodyContentURLEncoded = urllib.urlencode(bodyContent)
  resp, content = http.request(uri=url, method="POST", body=dumps(bodyContent), headers=listOfHeaders)

  print resp
  print content

각 항목의 의미는 다음과 같습니다.

  • [INSTANCE_NAME]은 인스턴스의 이름입니다.
  • [PROJECT_ID]는 프로젝트 ID입니다.
  • [ZONE]은 이 인스턴스의 영역입니다.
  • [MACHINE_TYPE]은 인스턴스의 머신 유형입니다.
  • [IMAGE_PROJECT]debian-cloud, ubuntu-os-cloud 등 이미지가 속한 이미지 프로젝트입니다.
  • [IMAGE]사용 가능한 공개 이미지 계열 중 하나입니다. 예를 들어 family/debian-9는 최신 버전의 Debian 9 이미지를 사용합니다. 또는 family/ 경로 없이 debian-9-stretch-v20170619와 같은 특정 이미지 버전을 사용할 수 있습니다. 빈 디스크의 경우 이미지 소스를 지정하지 마세요.
  • [LABEL_KEY][LABEL_VALUE]는 디스크에 적용되는 라벨입니다, labels 필드는 선택사항입니다.
  • [SIZE_GB]는 디스크 크기입니다.
  • [DISK_TYPE]은 영구 디스크의 유형으로서 pd-standard 또는 pd-ssd입니다.

빈 보조 디스크가 있는 인스턴스를 만드는 경우 게스트 운영체제에서 사용할 수 있도록 해당 디스크를 포맷하고 마운트합니다.

Python 클라이언트 라이브러리

def create_instance(compute, project, zone, name, bucket):
    # Get the latest Debian Jessie image.
    image_response = compute.images().getFromFamily(
        project='debian-cloud', family='debian-9').execute()
    source_disk_image = image_response['selfLink']

    # Configure the machine
    machine_type = "zones/%s/machineTypes/n1-standard-1" % zone
    startup_script = open(
        os.path.join(
            os.path.dirname(__file__), 'startup-script.sh'), 'r').read()
    image_url = "http://storage.googleapis.com/gce-demo-input/photo.jpg"
    image_caption = "Ready for dessert?"

    config = {
        'name': name,
        'machineType': machine_type,

        # Specify the boot disk and the image to use as a source.
        'disks': [
            {
                'boot': True,
                'autoDelete': True,
                'initializeParams': {
                    'sourceImage': source_disk_image,
                }
            }
        ],

        # Specify a network interface with NAT to access the public
        # internet.
        'networkInterfaces': [{
            'network': 'global/networks/default',
            'accessConfigs': [
                {'type': 'ONE_TO_ONE_NAT', 'name': 'External NAT'}
            ]
        }],

        # Allow the instance to access cloud storage and logging.
        'serviceAccounts': [{
            'email': 'default',
            'scopes': [
                'https://www.googleapis.com/auth/devstorage.read_write',
                'https://www.googleapis.com/auth/logging.write'
            ]
        }],

        # Metadata is readable from the instance and allows you to
        # pass configuration from deployment scripts to instances.
        'metadata': {
            'items': [{
                # Startup script is automatically executed by the
                # instance upon startup.
                'key': 'startup-script',
                'value': startup_script
            }, {
                'key': 'url',
                'value': image_url
            }, {
                'key': 'text',
                'value': image_caption
            }, {
                'key': 'bucket',
                'value': bucket
            }]
        }
    }

    return compute.instances().insert(
        project=project,
        zone=zone,
        body=config).execute()

커스텀 이미지를 사용하여 인스턴스 만들기

커스텀 이미지는 사용자의 프로젝트에만 속합니다. 커스텀 이미지로 인스턴스를 만들려면 먼저 커스텀 이미지가 있어야 합니다. 커스텀 이미지를 만드는 방법은 커스텀 이미지 만들기를 참조하세요.

콘솔

  1. VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스 페이지로 이동

  2. 프로젝트를 선택하고 계속을 클릭합니다.
  3. 인스턴스 만들기 버튼을 클릭합니다.
  4. 인스턴스 이름을 지정합니다.
  5. 필요할 경우 이 인스턴스의 영역을 변경합니다.

    참고: 여러 영역에서 사용되도록 각 리전 내에서 영역 목록이 무작위로 선택됩니다.

  6. 인스턴스의 머신 구성을 선택합니다.

  7. 부팅 디스크 섹션에서 변경을 클릭하여 부팅 디스크를 구성합니다.
    MBR 파티션의 제한사항을 고려하여 2TB 이하의 부팅 디스크를 만듭니다.

  8. 커스텀 이미지 탭을 선택합니다.

  9. 드롭다운 메뉴에서 프로젝트가 선택되었는지 확인합니다.

  10. 원하는 이미지를 선택하고 선택 버튼을 클릭합니다.

  11. VM 인스턴스에 HTTP 또는 HTTPS 트래픽을 허용하려면 HTTP 트래픽 허용 또는 HTTPS 트래픽 허용을 선택합니다.

    GCP Console이 인스턴스에 네트워크 태그를 추가하고 tcp:80(HTTP) 또는 tcp:443(HTTPS)에서 들어오는 모든 트래픽을 허용하는 수신 방화벽 규칙을 만듭니다. 네트워크 태그는 방화벽 규칙을 인스턴스와 연결합니다. 자세한 내용은 가상 사설 클라우드 문서의 방화벽 규칙 개요를 참조하세요.

  12. VM 인스턴스에 보조 비부팅 디스크를 추가하려면 다음 단계를 따릅니다.

    1. 관리, 보안, 디스크, 네트워킹, 단독 임대를 클릭합니다.
    2. 디스크 탭을 선택합니다.
    3. 추가 디스크에서 새 디스크 추가를 클릭합니다.
    4. 디스크의 이름, 유형, 소스 유형, 모드, 삭제 규칙을 지정합니다.
    5. 완료를 클릭합니다.
    6. 필요에 따라 디스크를 추가합니다.
  13. 만들기 버튼을 클릭하여 인스턴스를 만들고 시작합니다.

gcloud

gcloud compute instances create 명령줄 도구를 사용하여 커스텀 이미지로 인스턴스를 만듭니다.

gcloud compute instances create [INSTANCE_NAME] \
--image [IMAGE_NAME] \
--image-family [IMAGE_FAMILY]

각 항목의 의미는 다음과 같습니다.

  • [INSTANCE_NAME]은 인스턴스의 이름입니다.
  • [IMAGE_NAME]은 이미지의 이름입니다.
  • [IMAGE]는 선택 필드입니다. 개인 또는 공개 이미지를 사용합니다. 이미지를 지정하지 않으면 빈 디스크가 만들어집니다.

커스텀 이미지를 이미지 계열의 일부로 만든 경우 이미지 이름 대신 이미지 계열을 지정합니다. 이렇게 하면 인스턴스가 자동으로 이미지 계열 내에서 지원 중단되지 않은 최신 이미지를 사용합니다.

인스턴스를 만들 때 보조 비부팅 디스크를 128개까지 추가할 수 있습니다. 만든 각 보조 디스크에 --create-disk 플래그를 지정합니다. 공개 또는 스톡 이미지에서 보조 디스크를 만들려면 --create-disk 플래그에 imageimage-project 속성을 지정합니다. 빈 디스크를 만들려면 이러한 속성을 포함하지 마세요. 필요할 경우, 디스크 sizetype 속성을 포함합니다.

gcloud compute instances create [INSTANCE_NAME] \
  --image-family [IMAGE_FAMILY] \
  --image-project [IMAGE_PROJECT] \
  --create-disk image=[DISK_IMAGE],image-project=[DISK_IMAGE_PROJECT],size=[SIZE_GB],type=[DISK_TYPE]

각 항목의 의미는 다음과 같습니다.

  • [INSTANCE_NAME]은 새 인스턴스의 이름입니다.
  • [IMAGE_FAMILY]사용 가능한 이미지 계열 중 하나입니다.
  • [IMAGE_PROJECT]는 이미지가 속한 이미지 프로젝트입니다.
  • [DISK_IMAGE]는 보조 디스크의 소스 이미지입니다. 사용할 수 있는 이미지의 목록을 보려면 gcloud compute images list를 실행하세요. 빈 디스크의 경우 디스크 이미지나 이미지 프로젝트를 지정하지 마세요.
  • [DISK_IMAGE_PROJECT]는 디스크 이미지가 속한 이미지 프로젝트입니다. 빈 디스크의 경우 디스크 이미지나 이미지 프로젝트를 지정하지 마세요.
  • [SIZE_GB]는 보조 디스크의 크기입니다.
  • [DISK_TYPE]은 영구 디스크의 유형으로서 pd-standard 또는 pd-ssd입니다.

디스크를 사용하기 전에 먼저 디스크를 포맷하고 마운트하세요.

API

API에서 커스텀 이미지로 인스턴스를 만드는 프로세스는 공개적으로 사용 가능한 이미지로 인스턴스를 만드는 프로세스와 동일합니다. sourceImage URI에서 자신의 프로젝트 ID와 이미지 이름을 제공합니다.

VM 인스턴스를 만들 때 각각의 추가 디스크에 initializeParams 속성을 사용하여 최대 128개의 보조 비부팅 디스크를 만들 수 있습니다. 공개 또는 비공개 이미지를 사용하여 추가 디스크를 만듭니다. 빈 디스크를 추가하려면 sourceImage 값 없이 initializeParams 항목을 정의합니다.

...
"initializeParams" :{
   "sourceImage": "global/images/[IMAGE_NAME]"
},
{
"initializeParams": {
   "diskSizeGb": "[SIZE_GB]",
   "sourceImage": "[IMAGE]",
   "diskType": "[DISK_TYPE]"
 },
 {
 "initializeParams": {
 "diskSizeGb": "[SIZE_GB]",
 "diskType": "[DISK_TYPE]"
 }
}...]

각 항목의 의미는 다음과 같습니다.

  • [PROJECT_ID]는 프로젝트 ID입니다.
  • [IMAGE_NAME]debian-9-stretch-v20170619와 같은 특정 이미지입니다. 또는 이미지 계열을 지정할 수 있습니다. 예를 들어 family/debian-9는 최신 버전의 Debian 9 이미지를 반환합니다.
  • [IMAGE]는 보조 디스크의 소스 이미지입니다. 빈 디스크의 경우 이미지 소스를 지정하지 마세요.
  • [SIZE_GB]는 디스크 크기입니다.
  • [DISK_TYPE]은 영구 디스크의 유형으로서 pd-standard 또는 pd-ssd입니다.

디스크를 사용하기 전에 먼저 디스크를 포맷하고 마운트하세요.

공유된 이미지를 사용하여 인스턴스 만들기

다른 사용자가 공유한 이미지를 사용하여 새 인스턴스를 만들 수 있습니다.

콘솔

  1. VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스 페이지로 이동

  2. 프로젝트를 선택하고 계속을 클릭합니다.
  3. 인스턴스 만들기 버튼을 클릭합니다.
  4. 인스턴스 이름을 지정합니다.
  5. 필요할 경우 이 인스턴스의 영역을 변경합니다.

  6. 인스턴스의 머신 구성을 선택합니다.

  7. 부팅 디스크 섹션에서 변경을 클릭하여 부팅 디스크를 구성합니다.

    MBR 파티션의 제한사항을 고려하여 2TB 이하의 부팅 디스크를 만듭니다.

  8. 커스텀 이미지 탭을 선택합니다.

  9. 드롭다운에서 이미지 프로젝트를 선택합니다.

  10. 원하는 이미지를 선택하고 선택 버튼을 클릭합니다.

  11. VM 인스턴스에 HTTP 또는 HTTPS 트래픽을 허용하려면 HTTP 트래픽 허용 또는 HTTPS 트래픽 허용을 선택합니다.

    GCP Console이 인스턴스에 네트워크 태그를 추가하고 tcp:80(HTTP) 또는 tcp:443(HTTPS)에서 들어오는 모든 트래픽을 허용하는 수신 방화벽 규칙을 만듭니다. 네트워크 태그는 방화벽 규칙을 인스턴스와 연결합니다. 자세한 내용은 가상 사설 클라우드 문서의 방화벽 규칙 개요를 참조하세요.

  12. VM 인스턴스에 보조 비부팅 디스크를 추가하려면 다음 단계를 따릅니다.

    1. 관리, 보안, 디스크, 네트워킹, 단독 임대를 클릭합니다.
    2. 디스크 탭을 선택합니다.
    3. 추가 디스크에서 새 디스크 추가를 클릭합니다.
    4. 디스크의 이름, 유형, 소스 유형, 모드, 삭제 규칙을 지정합니다.
    5. 완료를 클릭합니다.
    6. 필요에 따라 디스크를 추가합니다.
  13. 만들기 버튼을 클릭하여 인스턴스를 만들고 시작합니다.

gcloud

gcloud compute instances create 명령어를 사용하여 인스턴스를 만들고, --image--image-project 플래그를 사용하여 이미지 이름과 이미지가 상주하는 프로젝트를 지정합니다.

gcloud compute instances create [INSTANCE_NAME] \
    --image [IMAGE] \
    --image-project [IMAGE_PROJECT]

각 항목의 의미는 다음과 같습니다.

  • [INSTANCE_NAME]은 새 인스턴스의 이름입니다.
  • [IMAGE]는 이미지의 이름입니다.
  • [IMAGE_PROJECT]는 이미지가 속한 프로젝트입니다.

명령어가 정상적으로 실행되면 gcloud에서 새 인스턴스의 속성으로 응답합니다.

Created [https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b/instances/example-instance].
NAME                 ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
example-instance     us-central1-b  n1-standard-1               10.240.0.4   104.198.53.60  RUNNING

인스턴스를 만들 때 보조 비부팅 디스크를 128개까지 추가할 수 있습니다. 만든 각 보조 디스크에 --create-disk 플래그를 지정합니다. 공개 또는 스톡 이미지에서 보조 디스크를 만들려면 --create-disk 플래그에 imageimage-project 속성을 지정합니다. 빈 디스크를 만들려면 이러한 속성을 포함하지 마세요. 필요할 경우, 디스크 sizetype 속성을 포함합니다.

gcloud compute instances create [INSTANCE_NAME] \
--image-family [IMAGE_FAMILY] \
--image-project [IMAGE_PROJECT] \
--create-disk image=[DISK_IMAGE],image-project=[DISK_IMAGE_PROJECT],size=[SIZE_GB],type=[DISK_TYPE]

각 항목의 의미는 다음과 같습니다.

  • [INSTANCE_NAME]은 새 인스턴스의 이름입니다.
  • [IMAGE_FAMILY]사용 가능한 이미지 계열 중 하나입니다.
  • [IMAGE_PROJECT]는 이미지가 속한 이미지 프로젝트입니다.
  • [DISK_IMAGE]는 보조 디스크의 소스 이미지입니다. 사용할 수 있는 이미지의 목록을 보려면 gcloud compute images list를 실행하세요. 빈 디스크의 경우 디스크 이미지나 이미지 프로젝트를 지정하지 마세요.
  • [DISK_IMAGE_PROJECT]는 디스크 이미지가 속한 이미지 프로젝트입니다. 빈 디스크의 경우 디스크 이미지나 이미지 프로젝트를 지정하지 마세요.
  • [SIZE_GB]는 보조 디스크의 크기입니다.
  • [DISK_TYPE]은 영구 디스크의 유형으로서 pd-standard 또는 pd-ssd입니다.

디스크를 사용하기 전에 먼저 디스크를 포맷하고 마운트하세요.

API

API 안내에 따라 공개 이미지에서 인스턴스를 만들되 요청 본문에 image 필드를 지정합니다. 모든 추가 디스크에 initializeParams 필드를 지정하여 최대 128개의 보조 비부팅 디스크를 추가할 수 있습니다. 빈 디스크를 추가하려면 이미지 소스를 지정하지 마세요. 필요할 경우 diskSizeGb, diskType, labels 속성을 지정할 수 있습니다.

...
image: "projects/[PROJECT_ID]/global/images/[IMAGE]

{
 "initializeParams": {
    "diskSizeGb": "[SIZE_GB]",
    "sourceImage": "[IMAGE]"
       }
   {
  "initializeParams": {
  "diskSizeGb": "[SIZE_GB]"
   }
 }...]

각 항목의 의미는 다음과 같습니다.

  • [PROJECT_ID]는 이미지가 포함된 프로젝트입니다.
  • [IMAGE]는 소스 이미지입니다.
  • [SIZE_GB]는 디스크 크기입니다.
  • [IMAGE]는 보조 디스크의 소스 이미지입니다. 빈 디스크의 경우 이미지 소스를 지정하지 마세요.
  • [DISK_TYPE]은 영구 디스크의 유형으로서 pd-standard 또는 pd-ssd입니다.

디스크를 사용하기 전에 먼저 디스크를 포맷하고 마운트하세요.

스냅샷을 사용하여 인스턴스 만들기

스냅샷을 사용해 부팅 영구 디스크를 백업한 경우 해당 스냅샷을 사용하여 새 인스턴스를 만들 수 있습니다.

콘솔

  1. VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스 페이지로 이동

  2. 프로젝트를 선택하고 계속을 클릭합니다.
  3. 인스턴스 만들기 버튼을 클릭합니다.
  4. 인스턴스 이름을 지정합니다.
  5. 필요할 경우 이 인스턴스의 영역을 변경합니다.

  6. 인스턴스의 머신 구성을 선택합니다.

  7. 부팅 디스크 섹션에서 변경을 클릭하여 부팅 디스크를 구성합니다.

    MBR 파티션의 제한사항을 고려하여 2TB 이하의 부팅 디스크를 만듭니다.

  8. 스냅샷 탭을 클릭하고 목록에서 스냅샷을 선택합니다.

  9. 선택을 클릭합니다.

  10. VM 인스턴스에 HTTP 또는 HTTPS 트래픽을 허용하려면 HTTP 트래픽 허용 또는 HTTPS 트래픽 허용을 선택합니다.

    GCP Console이 인스턴스에 네트워크 태그를 추가하고 tcp:80(HTTP) 또는 tcp:443(HTTPS)에서 들어오는 모든 트래픽을 허용하는 수신 방화벽 규칙을 만듭니다. 네트워크 태그는 방화벽 규칙을 인스턴스와 연결합니다. 자세한 내용은 가상 사설 클라우드 문서의 방화벽 규칙 개요를 참조하세요.

  11. VM 인스턴스에 보조 비부팅 디스크를 추가하려면 다음 단계를 따릅니다.

    1. 관리, 보안, 디스크, 네트워킹, 단독 임대를 클릭합니다.
    2. 디스크 탭을 선택합니다.
    3. 추가 디스크에서 새 디스크 추가를 클릭합니다.
    4. 디스크의 이름, 유형, 소스 유형, 모드, 삭제 규칙을 지정합니다.
    5. 완료를 클릭합니다.
    6. 필요에 따라 디스크를 추가합니다.
  12. 만들기 버튼을 클릭하여 인스턴스를 만들고 시작합니다.

gcloud

gcloud 명령줄 도구를 사용하면 스냅샷을 사용하여 콘솔에서와 동일한 방법으로 인스턴스를 직접 만들 수 없습니다. 먼저 스냅샷에서 새로운 독립형 부팅 영구 디스크를 만듭니다. 그런 다음 만든 디스크를 사용하여 새 인스턴스를 만듭니다.

  1. gcloud compute disks create 명령어를 사용하여 스냅샷에서 독립형 부팅 영구 디스크를 만듭니다.

    gcloud compute disks create [DISK_NAME] --source-snapshot [SNAPSHOT_NAME]
    
  2. gcloud compute instances create 명령어를 사용하여 새 인스턴스를 만들고 --disk 플래그 및 boot=yes 속성으로 디스크를 연결합니다.

    gcloud compute instances create [INSTANCE_NAME] --disk name=[DISK_NAME],boot=yes
    

    인스턴스를 만들 때 보조 비부팅 디스크를 128개까지 추가할 수 있습니다. 만든 각 보조 디스크에 --create-disk 플래그를 지정합니다. 공개 또는 스톡 이미지에서 보조 디스크를 만들려면 --create-disk 플래그에 imageimage-project 속성을 지정합니다. 빈 디스크를 만들려면 이러한 속성을 포함하지 마세요. 필요할 경우, 디스크 sizetype 속성을 포함합니다.

    gcloud compute instances create [INSTANCE_NAME] \
       --image-family [IMAGE_FAMILY] \
       --image-project [IMAGE_PROJECT] \
       --create-disk image=[DISK_IMAGE],image-project=[DISK_IMAGE_PROJECT],size=[SIZE_GB],type=[DISK_TYPE]
    

    각 항목의 의미는 다음과 같습니다.

    • [INSTANCE_NAME]은 새 인스턴스의 이름입니다.
    • [IMAGE_FAMILY]사용 가능한 이미지 계열 중 하나입니다.
    • [IMAGE_PROJECT]는 이미지가 속한 이미지 프로젝트입니다.
    • [DISK_IMAGE]는 보조 디스크의 소스 이미지입니다. 사용할 수 있는 이미지의 목록을 보려면 gcloud compute images list를 실행하세요. 빈 디스크의 경우 디스크 이미지나 이미지 프로젝트를 지정하지 마세요.
    • [DISK_IMAGE_PROJECT]는 디스크 이미지가 속한 이미지 프로젝트입니다. 빈 디스크의 경우 디스크 이미지나 이미지 프로젝트를 지정하지 마세요.
    • [SIZE_GB]는 보조 디스크의 크기입니다.
    • [DISK_TYPE]은 영구 디스크의 유형으로서 pd-standard 또는 pd-ssd입니다.

디스크를 사용하기 전에 먼저 디스크를 포맷하고 마운트하세요.

API

API에서는 스냅샷을 사용하여 콘솔에서와 동일한 방법으로 인스턴스를 직접 만들 수 없습니다. 먼저 스냅샷에서 새로운 독립형 부팅 영구 디스크를 만듭니다. 그런 다음 만든 디스크를 사용하여 새 인스턴스를 만듭니다.

제한사항:

  • 하나의 영구 디스크만 부팅 영구 디스크가 될 수 있습니다.
  • 해당 인스턴스의 첫 번째 디스크로 부팅 영구 디스크를 연결해야 합니다.
  • source 속성을 지정하면 initializeParams 속성을 지정할 수 없습니다. source를 제공하는 것은 부팅 영구 디스크가 이미 있음을 나타내지만 initializeParams 속성은 Compute Engine이 부팅 영구 디스크를 새로 만들어야 함을 나타냅니다.

스냅샷을 사용하여 인스턴스를 만들려면 다음 단계를 따르세요.

  1. 스냅샷에서 독립형 부팅 영구 디스크를 만듭니다.

    POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/disks
    
    {
      "name": "[DISK_NAME]",
      "sourceSnapshot": "zones/[ZONE]/snapshots/[SNAPSHOT_NAME]"
    }
    
  2. 새 인스턴스를 만들 때 디스크를 연결합니다. 요청 본문에 새 인스턴스를 만들 속성을 포함합니다. disks 속성에서 연결하려는 영구 디스크의 URL이 있는 source 필드를 포함합니다. 최대 128개의 보조 비부팅 디스크를 추가하려면 모든 디스크에 initializeParams 속성을 사용합니다. 빈 디스크를 추가하려면 소스 이미지를 포함하지 마세요. 필요할 경우 diskSizeGb, diskType, labels 속성을 지정할 수 있습니다.

    POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances
    
    {
      "name": "[INSTANCE_NAME]",
      "machineType": "machineTypes/[MACHINE_TYPE]"
      "networkInterfaces": [{
        "accessConfigs": [{
          "type": "ONE_TO_ONE_NAT",
          "name": "External NAT"
         }],
        "network": "global/networks/default"
      }],
      "disks": [{
         "source": "zones/[ZONE]/disks/[DISK_NAME]",
         "boot": true
       }],
       "initializeParams": [{
          "diskSizeGb": "[SIZE_GB]",
          "sourceImage": "[IMAGE]"
        }
       {
       "initializeParams": {
       "diskSizeGb": "[SIZE_GB]"
       }
    }...]
    

    각 항목의 의미는 다음과 같습니다.

    • [IMAGE]는 보조 디스크의 소스 이미지입니다. 빈 디스크의 경우 이미지 소스를 지정하지 마세요.
    • [SIZE_GB]는 디스크 크기입니다.
    • [DISK_TYPE]은 영구 디스크의 유형으로서 pd-standard 또는 pd-ssd입니다.

디스크를 사용하기 전에 먼저 디스크를 포맷하고 마운트하세요.

컨테이너 이미지를 사용하여 인스턴스 만들기

Compute Engine 인스턴스에서 컨테이너를 배포 및 실행하려면 인스턴스를 만들 때 컨테이너 이미지 이름과 선택적 구성 매개변수를 지정합니다. Compute Engine에서는 Docker가 설치된 컨테이너 최적화 OS 공개 이미지의 최신 버전을 사용하여 인스턴스를 만듭니다. 그런 다음 VM이 시작될 때 컨테이너를 시작합니다. 자세한 내용은 VM에 컨테이너 배포를 참조하세요.

콘솔

  1. VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스 페이지로 이동

  2. 인스턴스 만들기를 클릭합니다.
  3. 인스턴스 이름을 지정합니다.
  4. 컨테이너 섹션에서 이 VM 인스턴스에 컨테이너 이미지를 배포합니다 체크박스를 선택합니다.
  5. 사용할 컨테이너 이미지를 지정합니다.
    • 예를 들어 gcr.io/cloud-marketplace/google/nginx1:1.12를 지정하여 Cloud Launcher에서 NGINX 1.12 컨테이너 이미지를 선택할 수 있습니다.
    • Docker Hub의 컨테이너 이미지를 사용하는 경우 항상 Docker 이미지의 전체 이름을 지정합니다. 예를 들어 Apache 컨테이너 이미지를 배포하려면 이미지 이름을 docker.io/httpd:2.4로 지정합니다.
  6. 선택적으로 고급 컨테이너 옵션을 클릭합니다. 자세한 내용은 컨테이너 실행을 위한 옵션 구성을 참조하세요.
  7. 만들기를 클릭하여 인스턴스를 만들고, 인스턴스를 부팅하고, 컨테이너를 시작합니다.

gcloud

gcloud compute instances create-with-container 명령어를 사용합니다.

gcloud compute instances create-with-container [INSTANCE_NAME] \
     --container-image [CONTAINER_IMAGE]

각 항목의 의미는 다음과 같습니다.

  • [INSTANCE_NAME]은 새 인스턴스의 이름입니다.
  • [CONTAINER_IMAGE]는 컨테이너 이미지의 이름입니다.

예를 들어 다음 명령어를 실행하면 nginx-vm이라는 새 VM 인스턴스가 만들어지고 해당 인스턴스에서 컨테이너 이미지 gcr.io/cloud-marketplace/google/nginx1:1.12를 시작 및 실행합니다.

gcloud compute instances create-with-container nginx-vm \
    --container-image gcr.io/cloud-marketplace/google/nginx1:1.12

Docker Hub의 컨테이너 이미지를 사용하는 경우 항상 Docker 이미지의 전체 이름을 지정해야 합니다. 예를 들어 Apache 컨테이너 이미지를 배포하려면 이미지 이름을 docker.io/httpd:2.4로 지정합니다.

다른 Google Cloud Platform 서비스에 대한 액세스 권한이 있는 인스턴스 만들기

다른 Google Cloud Platform 서비스에 액세스해야 하는 가상 머신 인스턴스에서 애플리케이션을 실행하려는 경우 인스턴스를 만들기 전에 서비스 계정을 만든 다음, 안내에 따라 인스턴스를 서비스 계정으로 실행하도록 설정합니다. 서비스 계정은 애플리케이션 코드에서 해당 사용자 인증 정보를 사용하여 다른 Google Cloud Platform 서비스에 액세스할 수 있는 특수 계정입니다.

서비스 계정에 대한 자세한 내용은 서비스 계정 개요를 참조하세요.

특정 서브넷에 인스턴스 만들기

기본적으로 Google Cloud Platform(GCP)은 각 프로젝트마다 default라는 자동 모드 VPC 네트워크를 만듭니다. 네트워크 세부정보를 지정하지 않고 인스턴스를 만들면 Compute Engine은 이 기본 VPC 네트워크를 사용하고 인스턴스와 동일한 지역에 있는 자동 서브넷을 사용합니다.

자동 모드 또는 커스텀 모드 VPC 네트워크에 수동으로 만든 다른 네트워크 또는 서브넷을 사용하려면 인스턴스를 만들 때 서브넷을 지정해야 합니다.

콘솔

  1. VM 인스턴스 페이지로 이동합니다.

    VM 인스턴스 페이지로 이동

  2. 프로젝트를 선택하고 계속을 클릭합니다.
  3. 인스턴스 만들기 버튼을 클릭합니다.
  4. 인스턴스 이름을 지정합니다.
  5. 필요할 경우 이 인스턴스의 영역을 변경합니다.

  6. VM 인스턴스에 HTTP 또는 HTTPS 트래픽을 허용하려면 HTTP 트래픽 허용 또는 HTTPS 트래픽 허용을 선택합니다.

    GCP Console이 인스턴스에 네트워크 태그를 추가하고 tcp:80(HTTP) 또는 tcp:443(HTTPS)에서 들어오는 모든 트래픽을 허용하는 수신 방화벽 규칙을 만듭니다. 네트워크 태그는 방화벽 규칙을 인스턴스와 연결합니다. 자세한 내용은 가상 사설 클라우드 문서의 방화벽 규칙 개요를 참조하세요.

  7. 관리, 보안, 디스크, 네트워킹, 단독 임대 섹션을 펼칩니다.

  8. 네트워킹 탭의 네트워크 인터페이스에서 네트워크 세부정보를 지정합니다.

    1. 네트워크 필드에서 사용자가 만든 서브넷이 포함된 VPC 네트워크를 선택합니다.
    2. 서브넷 필드에서 인스턴스가 사용할 서브넷을 선택합니다.
  9. VM 인스턴스에 보조 비부팅 디스크를 추가하려면 다음 단계를 따릅니다.

    1. 관리, 보안, 디스크, 네트워킹, 단독 임대를 클릭합니다.
    2. 디스크 탭을 선택합니다.
    3. 추가 디스크에서 새 디스크 추가를 클릭합니다.
    4. 디스크의 이름, 유형, 소스 유형, 모드, 삭제 규칙을 지정합니다.
    5. 완료를 클릭합니다.
    6. 필요에 따라 디스크를 추가합니다.
  10. 만들기 버튼을 클릭하여 인스턴스를 만들고 시작합니다.

gcloud

gcloud 명령줄 도구를 사용하여 스냅샷 또는 이미지에서 인스턴스를 만들 때와 동일한 안내를 따르고, gcloud compute instances create 명령어를 사용할 때 --subnet [SUBNET_NAME] 또는 --zone [ZONE_NAME] 플래그를 추가합니다.

gcloud compute instances create [INSTANCE_NAME] --subnet [SUBNET_NAME] \
--zone [ZONE_NAME]

각 항목의 의미는 다음과 같습니다.

  • [INSTANCE_NAME]은 인스턴스의 이름입니다.
  • [SUBNET_NAME]은 서브넷의 이름입니다. 네트워크는 지정된 서브넷에서 유추됩니다.
  • [ZONE_NAME]은 인스턴스가 만들어진 영역의 이름(예: europe-west1-b)입니다. 인스턴스의 리전은 영역에서 유추됩니다.

인스턴스를 만들 때 보조 비부팅 디스크를 128개까지 추가할 수 있습니다. 만든 각 보조 디스크에 --create-disk 플래그를 지정합니다. 공개 또는 스톡 이미지에서 보조 디스크를 만들려면 --create-disk 플래그에 imageimage-project 속성을 지정합니다. 빈 디스크를 만들려면 이러한 속성을 포함하지 마세요. 필요할 경우, 디스크 sizetype 속성을 포함합니다.

gcloud compute instances create [INSTANCE_NAME] \
--subnet [SUBNET_NAME] \
--zone [ZONE_NAME] \
--image-family [IMAGE_FAMILY] \
--image-project [IMAGE_PROJECT] \
--create-disk image=[DISK_IMAGE],image-project=[DISK_IMAGE_PROJECT],size=[SIZE_GB],type=[DISK_TYPE]

각 항목의 의미는 다음과 같습니다.

  • [INSTANCE_NAME]은 새 인스턴스의 이름입니다.
  • [SUBNET_NAME]은 서브넷의 이름입니다.
  • [ZONE_NAME]은 인스턴스가 만들어진 영역의 이름(예: europe-west1-b)입니다.
  • [IMAGE_FAMILY]사용 가능한 이미지 계열 중 하나입니다.
  • [IMAGE_PROJECT]는 이미지가 속한 이미지 프로젝트입니다.
  • [DISK_IMAGE]는 보조 디스크의 소스 이미지입니다. 사용할 수 있는 이미지의 목록을 보려면 gcloud compute images list를 실행하세요. 빈 디스크의 경우 디스크 이미지나 이미지 프로젝트를 지정하지 마세요.
  • [DISK_IMAGE_PROJECT]는 디스크 이미지가 속한 이미지 프로젝트입니다. 빈 디스크의 경우 디스크 이미지나 이미지 프로젝트를 지정하지 마세요.
  • [SIZE_GB]는 보조 디스크의 크기입니다.
  • [DISK_TYPE]은 영구 디스크의 유형으로서 pd-standard 또는 pd-ssd입니다.

디스크를 사용하기 전에 먼저 디스크를 포맷하고 마운트하세요.

API

API 안내에 따라 스냅샷 또는 이미지에서 인스턴스를 만들고 요청 본문에 subnet 필드를 지정합니다. 최대 128개의 보조 비부팅 디스크를 추가하려면 만든 모든 디스크에 initializeParams 속성을 사용합니다. 빈 디스크를 추가하려면 소스 이미지를 추가하지 마세요. 필요할 경우 diskSizeGb, diskType, labels 속성을 지정할 수 있습니다.

...
"networkInterfaces": [
{
  "network": "global/networks/[NETWORK_NAME]",
  "subnetwork": "regions/[REGION]/subnetworks/[SUBNET_NAME]",
  "accessConfigs":
    {
      "name": "External NAT",
      "type": "ONE_TO_ONE_NAT"
    }
    {
      "initializeParams": {
         "diskSizeGb": "[SIZE_GB]",
         "sourceImage": "[IMAGE]"
    {
      "initializeParams": {
      "diskSizeGb": "[SIZE_GB]"
     }
 }...]

각 항목의 의미는 다음과 같습니다.

  • [IMAGE]는 보조 디스크의 소스 이미지입니다. 빈 디스크의 경우 이미지 소스를 지정하지 마세요.
  • [SIZE_GB]는 디스크 크기입니다.
  • [DISK_TYPE]은 영구 디스크의 유형으로서 pd-standard 또는 pd-ssd입니다.

디스크를 사용하기 전에 먼저 디스크를 포맷하고 마운트하세요.

다음 단계

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Compute Engine 문서