VM インスタンスの作成と起動

このドキュメントでは、ブートディスク イメージ、ブートディスク スナップショット、またはコンテナ イメージを使用して仮想マシン(VM)インスタンスを作成する方法について説明します。一部のイメージShielded VM 機能をサポートしています。これは、UEFI 準拠のファームウェア、セキュアブート、vTPM で保護されたメジャード ブートなどのセキュリティ機能を備えています。Shielded VM では、vTPM と整合性モニタリングがデフォルトで有効になっています

作成プロセス時は、VM インスタンス用に複数のディスクを作成できます。作成後も、インスタンスにさらにディスクを追加できます。VM インスタンスを作成すると、Compute Engine によってそのインスタンスが自動的に起動されます。

このドキュメントでは、インスタンスを作成する基本的な方法について説明します。より具体的または複雑なインスタンスの構成については、次のリソースをご覧ください。

既存のライセンスを使用する場合は、単一テナントノードでお客様が所有するライセンスを使用するをご覧ください。

始める前に

イメージからのインスタンスの作成

このセクションでは、公開 OS イメージまたはカスタム イメージから VM を作成する方法について説明します。VM には、ブートローダー、ブート ファイル システム、OS イメージが含まれています。

Compute Engine で利用可能な公開イメージのリストを表示する

公開イメージを使用して VM を作成する前に、Compute Engine で使用可能な公開イメージのリストを確認します。

各公開イメージで使用できる機能の詳細については、オペレーティング システム別の機能サポートをご覧ください。

Console

  1. Google Cloud Console で、[イメージ] ページに移動します。

    [イメージ] に移動

gcloud

  1. 次のコマンドを実行します。

    gcloud compute images list
  2. イメージまたはイメージ ファミリーの名前と、イメージを含むプロジェクトをメモします。

  3. (省略可)イメージが Shielded VM 機能をサポートしているかどうかを確認します。この確認を行うには、次のコマンドを実行して、出力で UEFI_COMPATIBLE を確認します。

    gcloud compute images describe VM_NAME \
        --project IMAGE_PROJECT
    

    次のように置き換えます。

API

  1. 次のコマンドを実行します。

    GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/
    
  2. イメージまたはイメージ ファミリーの名前と、イメージを含むプロジェクトをメモします。

  3. (省略可)イメージが Shielded VM 機能をサポートしているかどうかを確認します。この確認を行うには、次のコマンドを実行して、出力で UEFI_COMPATIBLE を確認します。

    GET https://compute.googleapis.com/compute/v1/projects/IMAGE_PROJECT/global/images/IMAGE_NAME
    

    次のように置き換えます。

公開イメージからのインスタンスの作成

公開 OS イメージは、Google、オープンソース コミュニティ、サードパーティ ベンダーによって提供され、保守されています。デフォルトでは、すべての Google Cloud プロジェクトで公開 OS イメージから VM を作成できます。ただし、Cloud プロジェクトに信頼できるイメージのリストが定義されている場合は、そのリストのイメージのみを使用して VM を作成できます。

ローカル SSDShielded VM イメージを作成する場合、整合性モニタリングまたは仮想トラステッド プラットフォーム モジュール(vTPM)でデータを保護することはできません。

Console

  1. Google Cloud Console で、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. プロジェクトを選択し、[続行] をクリックします。

  3. [インスタンスを作成] をクリックします。

  4. [名前] でインスタンスの名前を指定します。リソースの命名規則をご覧ください。

  5. (省略可)このインスタンスのゾーンを変更します。Compute Engine は、複数のゾーンで各リージョンが均等に使用されるように、各リージョン内でゾーンのリストをランダム化します。

  6. [マシンの構成] で、このインスタンスのマシンタイプを選択します。

  7. [ブートディスク] セクションの [変更] をクリックして、ブートディスクを構成します。別のブートディスクを明示的に選択しない限り、新しいインスタンスの名前が既存の永続ディスクの名前と一致した場合、既存の永続ディスクがブートディスクとして自動的に新しいインスタンスに接続されます。

  8. [公開イメージ] タブで、オペレーティング システムとバージョンを選択します。

  9. [保存] をクリックして、ブートディスクのオプションを確認します。

  10. [HTTP トラフィックを許可する] または [HTTPS トラフィックを許可する] を選択して、VM への HTTP または HTTPS トラフィックを許可します。このいずれかを選択すると、Compute Engine は VM にネットワーク タグを追加し、ファイアウォール ルールと VM を関連付けます。Compute Engine は、対応する上り(内向き)ファイアウォール ルールを作成し、tcp:80(HTTP)または tcp:443(HTTPS)で受信するすべてのトラフィックを許可します。

  11. 省略可: Shielded VM の機能をサポートする OS イメージを選択した場合は、Shielded VM の設定を変更できます。

    1. [管理、セキュリティ、ディスク、ネットワーク、単一テナンシー] セクションの [セキュリティ] タブをクリックします。

    2. セキュアブートを有効にするには、[セキュアブートをオンにする] を選択します。セキュアブートはデフォルトで無効になっています。

    3. vTPMを無効にするには、[vTPM をオンにする] をクリアします。vTPM はデフォルトで有効になっています。整合性モニタリングでは、メジャーブートによって収集されたデータを使用するため、vTPM を無効にすると、整合性モニタリングも無効になります。

    4. 整合性モニタリングを無効にするには、[整合性のモニタリングを有効にする] チェックボックスをクリアにします。整合性モニタリングはデフォルトで有効になっています。

  12. [作成] ボタンをクリックしてインスタンスを作成し、開始します。

gcloud

  1. 公開イメージを選択します。イメージまたはイメージ ファミリーの名前と、イメージを含むプロジェクトをメモします。
  2. gcloud compute instances create コマンド を使用して、イメージ ファミリーまたは特定のバージョンの OS イメージから VM を作成します。

    オプションの --shielded-secure-boot フラグを指定すると、Compute Engine は 3 つの Shielded VM 機能をすべてにした VM を作成します。

    Compute Engine が VM を起動した後、Shielded VM のオプションを変更するには、VM を停止する必要があります。

    gcloud compute instances create VM_NAME \
        [--image IMAGE | --image-family IMAGE_FAMILY] \
        --image-project IMAGE_PROJECT

    次のように置き換えます。

    • VM_NAME: 新しい VM の名前
    • IMAGE または IMAGE_FAMILY: 次のいずれかを指定します。
      • IMAGE: 公開イメージの必須バージョン。例: --image debian-10-buster-v20200309
      • IMAGE_FAMILY: イメージ ファミリー。これにより、非推奨ではない最新の OS イメージから VM が作成されます。たとえば、--image-family debian-10 を指定すると、Compute Engine は Debian 10 イメージ ファミリーの OS イメージの最新バージョンから VM を作成します。
    • IMAGE_PROJECT: イメージを含むプロジェクト
  3. Compute Engine によって VM が作成されたことを確認します。

    gcloud compute instances describe VM_NAME
    

    VM_NAME は VM の名前で置き換えます。

API

  1. 公開イメージを選択します。イメージまたはイメージ ファミリーの名前と、イメージを含むプロジェクトをメモします。
  2. instances.insert メソッドを使用して、イメージ ファミリーまたは特定のバージョンの OS イメージから VM を作成します。

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/PROJECT_ZONE/instances
    
    {
     "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
     "name": "VM_NAME",
     "disks": [
       {
         "initializeParams": {
           "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
         },
         "boot": true
       }
     ],
     "shieldedInstanceConfig": {
       "enableSecureBoot": ENABLE_SECURE_BOOT
     }
    }
    

    次のように置き換えます。

    • PROJECT_ID: VM を作成するプロジェクトの ID。
    • PROJECT_ZONE: VM を作成するゾーン。
    • MACHINE_TYPE_ZONE: 新しい VM に使用するマシンタイプを含むゾーン。
    • MACHINE_TYPE: 新しい VM のマシンタイプ(事前定義またはカスタム)。
    • VM_NAME: 新しい VM の名前
    • IMAGE_PROJECT: イメージを含むプロジェクト。たとえば、イメージ ファミリーとして debian-10 を指定する場合は、イメージ プロジェクトとして debian-cloud を指定します。
    • IMAGE または IMAGE_FAMILY: 次のいずれかを指定します。
      • IMAGE: 公開イメージの必須バージョン。例: "sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
      • IMAGE_FAMILY: イメージ ファミリー。これにより、非推奨ではない最新の OS イメージから VM が作成されます。たとえば、"sourceImage": "projects/debian-cloud/global/images/family/debian-10" を指定すると、Compute Engine は Debian 10 イメージ ファミリーの OS イメージの最新バージョンから VM を作成します。
    • ENABLE_SECURE_BOOT: 省略可。Shielded VM 機能をサポートしているイメージを選択した場合は、Compute Engine がデフォルトで仮想トラステッド プラットフォーム モジュール(vTPM)整合性モニタリングを有効にします。Compute Engine は、デフォルトではセキュアブートを有効にしません。enableSecureBoottrue を指定すると、Compute Engine は 3 つの Shielded VM 機能をすべて有効にした VM を作成します。Compute Engine が VM を起動した後、Shielded VM のオプションを変更するには、VM を停止する必要があります。

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()

カスタム イメージからの VM の作成

カスタム イメージは、自分のプロジェクトにのみ属します。カスタム イメージでインスタンスを作成するには、事前にカスタム イメージを作成しておく必要があります。カスタム イメージの作成方法の詳細については、カスタム イメージの作成をご覧ください。

Console

  1. [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. プロジェクトを選択し、[続行] をクリックします。

  3. [インスタンスを作成] ボタンをクリックします。

  4. [名前] でインスタンスの名前を指定します。リソースの命名規則をご覧ください。

  5. (省略可)このインスタンスのゾーンを変更します。

    注: ゾーンのリストは、複数のゾーンで各リージョンが均等に使用されるよう、各リージョン内でランダム化されています。

  6. [マシンの構成] で、このインスタンスのマシンタイプを選択します。

  7. [ブートディスク] セクションの [変更] をクリックして、ブートディスクを構成します。
    MBR パーティションの制限を考慮して、2 TB 未満のブートディスクを作成します。

  8. [カスタム イメージ] タブを選択します。

  9. プルダウン リストでプロジェクトが選択されていることを確認します。

  10. 必要なイメージを選択し、[選択] ボタンをクリックします。

  11. VM インスタンスへの HTTP または HTTPS トラフィックを許可するには、[HTTP トラフィックを許可する] または [HTTPS トラフィックを許可する] をオンにします。

    Cloud Console によってネットワーク タグがインスタンスに追加されます。また、対応する上り(内向き)ファイアウォール ルールが作成され、tcp:80(HTTP)または tcp:443(HTTPS)で着信するすべてのトラフィックが許可されます。このネットワーク タグでファイアウォール ルールがインスタンスに関連付けられます。詳細については、Virtual Private Cloud のドキュメントでファイアウォール ルールの概要をご覧ください。

  12. [作成] ボタンをクリックしてインスタンスを作成し、開始します。

gcloud

gcloud compute instances create コマンドを実行して、カスタム イメージを使用するインスタンスを作成します。

gcloud compute instances create VM_NAME \
    --image-project IMAGE_PROJECT \
    [--image IMAGE | --image-family IMAGE_FAMILY]

次のように置き換えます。

  • VM_NAME: VM の名前
  • IMAGE_PROJECT: イメージを含むプロジェクトの名前。
  • IMAGE または IMAGE_FAMILY: 次のいずれかを指定します。

    • IMAGE: カスタム イメージの名前。例: --image my-debian-image-v2
    • IMAGE_FAMILY: カスタム イメージ ファミリーの一部としてカスタム イメージを作成した場合は、そのカスタム イメージ ファミリーを指定します。これにより、カスタム イメージ ファミリー内の最新の非推奨ではない OS イメージ OS バージョンから VM が作成されます。たとえば、--image-family my-debian-family を指定すると、Compute Engine はカスタム my-debian-family イメージ ファミリーの最新の OS イメージから VM を作成します。

API

API でカスタム イメージを使用してインスタンスを作成するプロセスは、一般公開されているイメージを使用してインスタンスを作成する場合と同じです。

カスタム イメージから VM を作成するには、instances.insert メソッドを使用し、sourceImage URI にプロジェクト ID(カスタム イメージを含むプロジェクト)とカスタム イメージの名前を指定します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/PROJECT_ZONE/instances

{
 "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
 "name": "VM_NAME",
 "disks": [
   {
     "initializeParams": {
       "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
     },
     "boot": true
   }
 ],
 .....
}

次のように置き換えます。

  • PROJECT_ID: VM を作成するプロジェクトの ID。
  • PROJECT_ZONE: VM を作成するゾーン。
  • MACHINE_TYPE_ZONE: 新しい VM に使用するマシンタイプを含むゾーン。
  • MACHINE_TYPE: 新しい VM のマシンタイプ(事前定義またはカスタム)。
  • VM_NAME: 新しい VM の名前
  • IMAGE_PROJECT: カスタム イメージを含むプロジェクトの名前。
  • IMAGE または IMAGE_FAMILY: 次のいずれかを指定します。

    • IMAGE: カスタム イメージの名前。例: "sourceImage": "projects/my-project-1234/global/images/my-debian-image-v2"
    • IMAGE_FAMILY: カスタム イメージ ファミリーの一部としてカスタム イメージを作成した場合は、そのカスタム イメージ ファミリーを指定します。これにより、カスタム イメージ ファミリー内の最新の非推奨ではない OS イメージ OS バージョンから VM が作成されます。たとえば、"sourceImage": "projects/my-project-1234/global/images/family/my-debian-family" を指定すると、Compute Engine はカスタム my-debian-family イメージ ファミリーの OS イメージの最新バージョンから VM を作成します。

追加の非ブートディスクを含む VM を作成する

Console

  1. Google Cloud Console で、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. プロジェクトを選択し、[続行] をクリックします。

  3. [インスタンスを作成] をクリックします。

  4. [名前] でインスタンスの名前を指定します。リソースの命名規則をご覧ください。

  5. (省略可)このインスタンスのゾーンを変更します。Compute Engine は、複数のゾーンで各リージョンが均等に使用されるように、各リージョン内でゾーンのリストをランダム化します。

  6. [マシンの構成] で、このインスタンスのマシンタイプを選択します。

  7. [ブートディスク] セクションの [変更] をクリックして、ブートディスクを構成します。別のブートディスクを明示的に選択しない限り、新しいインスタンスの名前が既存の永続ディスクの名前と一致した場合、既存の永続ディスクがブートディスクとして自動的に新しいインスタンスにアタッチされます。

  8. [公開イメージ] タブで、オペレーティング システムとバージョンを選択します。

  9. [保存] をクリックして、ブートディスクのオプションを確認します。

  10. [HTTP トラフィックを許可する] または [HTTPS トラフィックを許可する] を選択して、VM への HTTP または HTTPS トラフィックを許可します。このいずれかを選択すると、Compute Engine は VM にネットワーク タグを追加し、ファイアウォール ルールと VM を関連付けます。Compute Engine は、対応する上り(内向き)ファイアウォール ルールを作成し、tcp:80(HTTP)または tcp:443(HTTPS)で受信するすべてのトラフィックを許可します。

  11. VM にブートディスク以外のセカンダリ ディスクを追加するには:

    1. [管理、セキュリティ、ディスク、ネットワーク、単一テナンシー] セクションをクリックします。
    2. [ディスク] タブをクリックします。
    3. [追加ディスク] で [新しいディスクを追加] をクリックします。
    4. ディスクの情報を [名前]、[タイプ]、[ソースの種類]、[モード]、[削除ルール] にそれぞれ指定します。
    5. [完了] をクリックします。
    6. 必要に応じてディスクを追加します。
  12. [作成] ボタンをクリックしてインスタンスを作成し、開始します。

gcloud

gcloud compute instances create コマンドを実行して、追加の非ブートディスクを含むインスタンスを作成します。

インスタンスを作成する際は、セカンダリ非ブートディスクを最大 128 個まで追加できます。作成するセカンダリ ディスクごとに --create-disk フラグを指定します。

公開イメージまたはストック イメージからセカンダリ ディスクを作成するには、--create-disk フラグに image または image-family プロパティ、および image-project プロパティを指定します。空のディスクを作成するには、これらのプロパティを指定しないでください。(省略可)ディスクの sizetype のプロパティを指定します。

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

次のように置き換えます。

  • VM_NAME: 新しい VM の名前
  • IMAGE または IMAGE_FAMILY。次のいずれかを指定します。

    • IMAGE: 公開イメージの必須バージョン。例: --image debian-10-buster-v20200309
    • IMAGE_FAMILY: イメージ ファミリー。これにより、非推奨ではない最新の OS イメージから VM が作成されます。たとえば、--image-family debian-10 を指定すると、Compute Engine は Debian 10 イメージ ファミリーの OS イメージの最新バージョンから VM を作成します。
  • IMAGE_PROJECT: イメージを含むプロジェクト

  • 追加のディスクの場合は、次のように置き換えます。

    • DISK_IMAGE または DISK_IMAGE_FAMILY: 次のいずれかを指定します。
      • DISK_IMAGE: セカンダリ ディスクとして使用するイメージの名前。
      • DISK_IMAGE_FAMILY: セカンダリ ディスクとして使用するイメージ ファミリー。
    • DISK_IMAGE_PROJECT: ディスク イメージが属するイメージ プロジェクト。
    • SIZE_GB: 省略可。セカンダリ ディスクのサイズ。
    • DISK_TYPE: 省略可。永続ディスクのタイプ。例: pd-ssd

    ディスクを使用する前に、ディスクをフォーマットしてマウントします。

API

追加のディスクごとに initializeParams プロパティを使用すると、VM インスタンスの作成時にセカンダリ非ブートディスクを最大 128 個作成できます。公開イメージまたは非公開イメージを使用した追加のディスクを作成します。空のディスクを追加するには、sourceImage 値のない initializeParams エントリを定義します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/PROJECT_ZONE/instances

{
 "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE",
 "name": "VM_NAME",
 "disks": [
   {
     "initializeParams": {
       "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
     },
     "boot": true
   },
   {
     "initializeParams": {
       "diskSizeGb": "SIZE_GB",
       "sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE",
       "diskType": "DISK_TYPE"
   },
   {
     "initializeParams": {
     "diskSizeGb": "SIZE_GB",
     "diskType": "DISK_TYPE"
   }
    }...]

次のように置き換えます。

  • PROJECT_ID: VM を作成するプロジェクトの ID。
  • PROJECT_ZONE: VM を作成するゾーン。
  • MACHINE_TYPE_ZONE: 新しい VM に使用するマシンタイプを含むゾーン。
  • MACHINE_TYPE: 新しい VM のマシンタイプ(事前定義またはカスタム)。
  • VM_NAME: 新しい VM の名前
  • IMAGE_PROJECT: カスタム イメージを含むプロジェクトの名前。
  • IMAGE または IMAGE_FAMILY: 次のいずれかを指定します。
    • IMAGE: カスタム イメージの名前。例: "sourceImage": "projects/my-project-1234/global/images/my-debian-image-v2"
    • IMAGE_FAMILY: カスタム イメージ ファミリーの一部としてカスタム イメージを作成した場合は、そのカスタム イメージ ファミリーを指定します。これにより、カスタム イメージ ファミリー内の最新の非推奨ではない OS イメージ OS バージョンから VM が作成されます。たとえば、"sourceImage": "projects/my-project-1234/global/images/family/my-debian-family" を指定すると、Compute Engine はカスタム my-debian-family イメージ ファミリーの OS イメージの最新バージョンから VM を作成します。
  • 追加のディスクの場合は、次のように置き換えます。

    • SIZE_GB: ディスクサイズ。
    • DISK_IMAGE または DISK_IMAGE_FAMILY: セカンダリ ディスクのソースイメージまたはイメージ ファミリーを指定します。
      • DISK_IMAGE: セカンダリ ディスクとして使用するイメージの名前。例: "sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE"
      • DISK_IMAGE_FAMILY: セカンダリ ディスクとして使用するイメージ ファミリー。例: "sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/family/DISK_IMAGE_FAMILY"
    • DISK_TYPE: 永続ディスクの種類(pd-standard または pd-ssd のいずれか)。

ディスクを使用する前に、ディスクをフォーマットしてマウントします。

共有するイメージを使用したインスタンスの作成

別のユーザーとイメージを共有している場合、そのイメージを使用して新しいインスタンスを作成できます。

Console

  1. [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. プロジェクトを選択し、[続行] をクリックします。

  3. [インスタンスを作成] ボタンをクリックします。

  4. [名前] でインスタンスの名前を指定します。リソースの命名規則をご覧ください。

  5. (省略可)このインスタンスのゾーンを変更します。

  6. [マシンの構成] で、このインスタンスのマシンタイプを選択します。

  7. [ブートディスク] セクションの [変更] をクリックして、ブートディスクを構成します。

    MBR パーティションの制限を考慮して、2 TB 未満のブートディスクを作成します。

  8. [カスタム イメージ] タブを選択します。

  9. プルダウン リストからイメージ プロジェクトを選択します。

  10. 必要なイメージを選択し、[選択] ボタンをクリックします。

  11. VM インスタンスへの HTTP または HTTPS トラフィックを許可するには、[HTTP トラフィックを許可する] または [HTTPS トラフィックを許可する] をオンにします。

    Cloud Console によってネットワーク タグがインスタンスに追加されます。また、対応する上り(内向き)ファイアウォール ルールが作成され、tcp:80(HTTP)または tcp:443(HTTPS)で着信するすべてのトラフィックが許可されます。このネットワーク タグでファイアウォール ルールがインスタンスに関連付けられます。詳細については、Virtual Private Cloud のドキュメントでファイアウォール ルールの概要をご覧ください。

  12. VM インスタンスにブートディスク以外のセカンダリ ディスクを追加する手順は、次のとおりです。

    1. [管理、セキュリティ、ディスク、ネットワーク、単一テナンシー] をクリックします。
    2. [ディスク] タブを選択します。
    3. [追加ディスク] で、[新しいディスクを追加] をクリックします。
    4. ディスクの情報を [名前]、[タイプ]、[ソースの種類]、[モード]、[削除ルール] にそれぞれ指定します。
    5. [完了] をクリックします。
    6. 必要に応じて、さらにディスクを追加します。
  13. [作成] ボタンをクリックしてインスタンスを作成し、開始します。

gcloud

gcloud compute instances create コマンドでインスタンスを作成し、--image フラグと --image-project フラグを使用してイメージ名とそのイメージが属するプロジェクトを指定します。

gcloud compute instances create VM_NAME \
    --image IMAGE \
    --image-project IMAGE_PROJECT

次のように置き換えます。

  • VM_NAME: 新しい VM の名前
  • IMAGE: イメージの名前
  • IMAGE_PROJECT: イメージが属するプロジェクト

コマンドが成功すると、gcloud は新しいインスタンスのプロパティを返します。

Created [https://compute.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  e2-standard-2               10.240.0.4   104.198.53.60  RUNNING

インスタンスを作成する際は、ブートディスク以外のセカンダリ ディスクを最大 128 個まで追加できます。作成するセカンダリ ディスクごとに --create-disk フラグを指定します。公開イメージまたはストック イメージからセカンダリ ディスクを作成するには、--create-disk フラグに image および image-project プロパティを指定します。空のディスクを作成するには、これらのプロパティを指定しないでください。(省略可)ディスクの sizetype のプロパティを指定します。

gcloud compute instances create VM_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

次のように置き換えます。

  • VM_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 個まで追加できます。空のディスクを追加するには、イメージソースを指定しないでください。(省略可)diskSizeGbdiskTypelabels の各プロパティを指定できます。

[...
image: "projects/PROJECT_ID/global/images/IMAGE_NAME
{
 "initializeParams": {
    "diskSizeGb": "SIZE_GB",
    "sourceImage": "IMAGE"
       }
 }
 ...]

次のように置き換えます。

  • PROJECT_ID: イメージを含むプロジェクト。
  • IMAGE_NAME: ソースイメージ。
  • SIZE_GB: ディスクサイズ。
  • IMAGE: セカンダリ ディスクのソースイメージ。空のディスクを作成する場合は、イメージソースを指定しないでください。

ディスクを使用する前に、ディスクをフォーマットしてマウントします。

スナップショットからの VM インスタンスの作成

スナップショットでブート永続ディスクをバックアップしていた場合、そのスナップショットを使用してインスタンスを作成できます。

同じブートディスク スナップショットから多数のインスタンスを作成する場合、スナップショットを使用する代わりにカスタムイメージを作成し、そのイメージからインスタンスを作成することを検討してください。カスタム イメージを使用すると、スナップショットより迅速で効率的にインスタンスのブートディスクを作成できます。

スナップショットから新しい VM インスタンスのブートディスクを作成する

新しいインスタンスを作成するときに、新しいブートディスクにブートディスクのスナップショットを復元できます。

Console

  1. [VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. プロジェクトを選択し、[続行] をクリックします。

  3. [インスタンスを作成] ボタンをクリックします。

  4. [名前] でインスタンスの名前を指定します。リソースの命名規則をご覧ください。

  5. (省略可)このインスタンスのゾーンを変更します。

  6. [マシンの構成] で、このインスタンスのマシンタイプを選択します。

  7. [ブートディスク] セクションの [変更] をクリックして、ブートディスクを構成します。

    MBR パーティションの制限を考慮して、2 TB 未満のブートディスクを作成します。

  8. [スナップショット] タブをクリックし、リストからスナップショットを選択します。

  9. [選択] をクリックします。

  10. VM インスタンスへの HTTP または HTTPS トラフィックを許可するには、[HTTP トラフィックを許可する] または [HTTPS トラフィックを許可する] をオンにします。

    Cloud Console によってネットワーク タグがインスタンスに追加されます。また、対応する上り(内向き)ファイアウォール ルールが作成され、tcp:80(HTTP)または tcp:443(HTTPS)で着信するすべてのトラフィックが許可されます。このネットワーク タグでファイアウォール ルールがインスタンスに関連付けられます。詳細については、Virtual Private Cloud のドキュメントでファイアウォール ルールの概要をご覧ください。

  11. VM インスタンスにブートディスク以外のセカンダリ ディスクを追加する手順は、次のとおりです。

    1. [管理、セキュリティ、ディスク、ネットワーク、単一テナンシー] をクリックします。
    2. [ディスク] タブを選択します。
    3. [追加ディスク] で、[新しいディスクを追加] をクリックします。
    4. ディスクの情報を [名前]、[タイプ]、[ソースの種類]、[モード]、[削除ルール] にそれぞれ指定します。
    5. [完了] をクリックします。
    6. 必要に応じて、さらにディスクを追加します。
  12. [作成] ボタンをクリックしてインスタンスを作成し、開始します。

gcloud

gcloud compute instances create コマンドを使用して、--source-snapshot フラグを含めます。

gcloud compute instances create VM_NAME \
    --source-snapshot BOOT_SNAPSHOT_NAME \
    --boot-disk-size BOOT_DISK_SIZE \
    --boot-disk-type BOOT_DISK_TYPE \
    --boot-disk-device-name BOOT_DISK_NAME

次のように置き換えます。

  • VM_NAME: 新しい VM の名前
  • BOOT_SNAPSHOT_NAME: 新しいインスタンスのブートディスクに復元するブートディスク スナップショットの名前。
  • BOOT_DISK_SIZE: 省略可。新しいブートディスクのサイズ(ギガバイト単位)。サイズは、スナップショットが作成されたソースディスクのサイズ以上にする必要があります。
  • BOOT_DISK_TYPE: 省略可。ブート永続ディスクのタイプ。例: pd-ssd
  • BOOT_DISK_NAME: このインスタンスの新しいブートディスクの名前。

(省略可)復元用の非ブートディスクのスナップショットを作成する場合は、--create-disk フラグを追加して、source-snapshot を指定します。--create-disk フラグを繰り返し指定すると、復元するスナップショットごとに非ブートディスクを作成できます。インスタンスを作成する際は、非ブートディスクを最大 15 個追加できます。

    --create-disk source-snapshot=SNAPSHOT_NAME,name=DISK_NAME,size=DISK_SIZE,type=DISK_TYPE

次のように置き換えます。

  • SNAPSHOT_NAME: 復元する非ブート スナップショットの名前。
  • DISK_NAME: このインスタンスの新しい非ブートディスクの名前。
  • DISK_SIZE: 省略可。新しいディスクのサイズ(ギガバイト単位)。サイズは、スナップショットが作成されたソースディスクのサイズ以上にする必要があります。
  • DISK_TYPE: 省略可。永続ディスクのタイプ(pd-standard または pd-ssd のいずれか)。

API

API を使用してスナップショットからインスタンスを作成する場合、次の制限が適用されます。

  • ブート永続ディスクとして使用できる永続ディスクは 1 つのみです。
  • ブート永続ディスクを、そのインスタンスの最初のディスクとして接続する必要があります。
  • source プロパティを指定する場合、initializeParams プロパティを同時に指定することはできません。source はブート永続ディスクがすでに存在することを示すのに対し、initializeParams プロパティは Compute Engine によって新しいブート永続ディスクを作成する必要があることを示します。

    ブートディスク スナップショットからインスタンスを作成するには、disks プロパティで sourceSnapshot フィールドを指定します。(省略可)新しいブートディスクの diskSizeGb プロパティと diskType プロパティを指定します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "name": "VM_NAME",
  "machineType": "machineTypes/MACHINE_TYPE"
  "networkInterfaces": [{
    "accessConfigs": [{
      "type": "ONE_TO_ONE_NAT",
      "name": "External NAT"
    }],
    "network": "global/networks/default"
  }],
  "disks": [{
     "boot": true,
     "initializeParams": {
       "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME",
       "diskSizeGb": "BOOT_DISK_SIZE",
       "diskType": "BOOT_DISK_TYPE"
    }
   }],
 }

次のように置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • ZONE: 新しいインスタンスを作成するゾーン。
  • VM_NAME: スナップショットを復元する VM の名前
  • MACHINE_TYPE: インスタンスのマシンタイプ
  • BOOT_SNAPSHOT_NAME: 新しいインスタンスのブートディスクの作成に使用するスナップショットの名前。
  • BOOT_DISK_SIZE: 省略可。新しいブートディスクのサイズ(ギガバイト単位)。サイズは、スナップショットが作成されたソースディスクのサイズ以上にする必要があります。
  • BOOT_DISK_TYPE: 省略可。ブートディスクの種類(pd-standard または pd-ssd)。

新しいインスタンスに非ブート スナップショットを復元する

非ブート スナップショットは、セカンダリ永続ディスクのバックアップであり、データ保存目的でのみインスタンスが使用します。新しいディスクに非ブート スナップショットを復元して、新しいインスタンスを作成できます。または、既存のインスタンスに非ブート スナップショットを復元することもできます。

非ブート スナップショットを新しいインスタンスに復元するには、インスタンスを作成する際に次の手順を行います。

Console

Console で、新しいインスタンスに非ブート スナップショットを復元する場合は、まず各スナップショットからディスクを作成します。次に、新しいインスタンスを作成する際に新しいディスクを接続します。

  1. 新しいディスクに各非ブート スナップショットを復元します。

    1. Google Cloud Console で、[ディスク] ページに移動します。

      [ディスク] に移動

    2. [ディスクを作成] をクリックします。

    3. [名前] でディスクの名前を指定します。リソースの命名規則をご覧ください。

    4. このディスクの [リージョン] と [ゾーン] を選択します。

      注: インスタンスにディスクを接続できるのは、両方が同じゾーンにある場合のみです。

    5. ディスクの [タイプ] を選択します。

    6. [ソースの種類] で、[スナップショット] を選択します。

    7. 新しい [ソース スナップショット] フィールドで、新しいディスクに復元する非ブート スナップショットを選択します。

    8. [作成] をクリックしてディスクを作成します。

    9. この手順を繰り返して、復元する各スナップショットからディスクを作成します。インスタンスを作成する際は、セカンダリ非ブートディスクを最大 15 個追加できます。

  2. Google Cloud Console で、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  3. [インスタンスを作成] をクリックします。

  4. [名前] でインスタンスの名前を指定します。リソースの命名規則をご覧ください。

  5. このインスタンスの [リージョン] と [ゾーン] を選択します。

    注: インスタンスにディスクを接続できるのは、両方が同じゾーンにある場合のみです。

  6. [マシンタイプ] で、このインスタンスのマシンタイプを選択します。

  7. 外部からのトラフィックの受信を許可する場合は、インスタンスのファイアウォール ルールを変更します。

  8. ディスクをインスタンスに接続するには:

    1. [管理、セキュリティ、ディスク、ネットワーク、単一テナンシー] をクリックします。
    2. [ディスク] タブを選択します。
    3. [追加ディスク] で [既存のディスクを接続] をクリックします。
    4. 新しい [ディスク] フィールドで、このインスタンスに接続するディスクを選択します。
    5. ディスクの [モード] と [削除ルール] を指定します。
    6. [完了] をクリックします。
    7. 接続するディスクごとに、この手順を繰り返します。インスタンスを作成する際は、セカンダリ非ブートディスクを最大 15 個追加できます。
  9. [作成] をクリックしてインスタンスを作成し、そのインスタンスを起動します。

  10. 接続したディスクを使用する前に、ディスクをフォーマットしてマウントします。

gcloud

gcloud compute instances create コマンドを実行して、新しいインスタンスを作成します。復元する非ブート スナップショットごとに、--create-disk フラグを含め source-snapshot を指定します。インスタンスを作成する際は、セカンダリ非ブートディスクを最大 15 個追加できます。

たとえば、2 つの非ブート スナップショットを新しいインスタンスに復元するには、次のコマンドを使用します。

gcloud compute instances create VM_NAME \
    --create-disk source-snapshot=SNAPSHOT_1_NAME,name=DISK_1_NAME,size=DISK_1_SIZE,type=DISK_1_TYPE \
    --create-disk source-snapshot=SNAPSHOT_2_NAME,name=DISK_2_NAME,size=DISK_2_SIZE,type=DISK_2_TYPE

次のように置き換えます。

  • VM_NAME: 新しい VM の名前
  • SNAPSHOT_1_NAMESNAPSHOT_2_NAME: 復元する非ブート スナップショットの名前。
  • DISK_1_NAMEDISK_2_NAME: このインスタンスの新しい非ブートディスクの名前。
  • DISK_1_SIZEDISK_2_SIZE: 省略可。新しいブートディスクのサイズ(ギガバイト単位)。サイズは、スナップショットが作成されたソースディスクのサイズ以上にする必要があります。
  • DISK_1_TYPEDISK_2_TYPE: 省略可。永続ディスクのタイプ(pd-standard または pd-ssd のいずれか)。

API

API を使用して非ブート スナップショットを新しいインスタンスに復元する場合、次の制限が適用されます。

  • ブート永続ディスクとして使用できる永続ディスクは 1 つだけです。
  • ブート永続ディスクを、そのインスタンスの最初のディスクとして接続する必要があります。
  • source プロパティを指定する場合は、initializeParams プロパティを同時に指定することはできません。source はブート永続ディスクがすでに存在することを示すのに対し、initializeParams プロパティは Compute Engine によって新しいブート永続ディスクを作成する必要があることを示します。

ベータ版 API を使用して、initializeParams プロパティの下で sourceSnapshot フィールドを指定します。作成する非ブートディスクごとに initializeParams プロパティを繰り返して、最大 15 個のセカンダリ非ブートディスクを追加できます。必要に応じて、作成するディスクの diskSizeGb および diskType プロパティを作成します。

たとえば、2 つの非ブート スナップショットを新しいインスタンスに復元するには、次のリクエストを作成します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
  "name": "VM_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",
     "diskSizeGb": "DISK_SIZE",
     "diskType": "DISK_TYPE"
   },
   {
     "initializeParams": {
        "sourceSnapshot": "global/snapshots/SNAPSHOT_1_NAME",
        "diskSizeGb": "DISK_SIZE",
        "diskType": "DISK_TYPE"
     }
   },
   {
     "initializeParams": {
        "sourceSnapshot": "global/snapshots/SNAPSHOT_2_NAME",
        "diskSizeGb": "DISK_SIZE",
        "diskType": "DISK_TYPE"
     }
  }]
 }

次のように置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • ZONE: 新しいインスタンスを作成するゾーン。
  • VM_NAME: スナップショットを復元する VM の名前
  • MACHINE_TYPE: インスタンスのマシンタイプ
  • DISK_SIZE: 省略可。対応するディスクのサイズ(ギガバイト単位)。指定する場合、このプロパティは、スナップショットが作成されたソースディスクのサイズ以上にする必要があります。
  • DISK_TYPE: 省略可。対応する永続ディスクのタイプ(pd-standard または pd-ssd)。
  • SNAPSHOT_1_NAMESNAPSHOT_2_NAME: 新しいインスタンスの新しい非ブートディスクに復元する非ブート スナップショットの名前。

コンテナ イメージからのインスタンスの作成

Compute Engine インスタンスに対してコンテナをデプロイして起動するには、インスタンスを作成するときにコンテナ イメージ名とオプションの構成パラメータを指定します。Compute Engine により、Docker がインストールされた最新バージョンの Container-Optimized OS 公開イメージを使用してインスタンスが作成されます。次に、VM の起動時に Compute Engine によりコンテナが起動されます。詳しくは、VM へのコンテナのデプロイをご覧ください。

Console

  1. Google Cloud Console で、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. [インスタンスを作成] をクリックします。

  3. [名前] でインスタンスの名前を指定します。リソースの命名規則をご覧ください。

  4. [コンテナ] セクションで、[この VM インスタンスにコンテナ イメージをデプロイする] チェックボックスをオンにします。

  5. 使用するコンテナ イメージを指定します。次に例を示します。

    • Cloud Launcher から NGINX 1.12 コンテナ イメージを選択するには:

      gcr.io/cloud-marketplace/google/nginx1:1.12

    • Docker Hub から Apache コンテナ イメージをデプロイする場合は、次のように常に完全な Docker イメージ名を指定します。

      docker.io/httpd:2.4

  6. (省略可)[コンテナの詳細オプション] をクリックします。詳細については、コンテナを実行する際のオプションの構成をご覧ください。

  7. [作成] をクリックしてインスタンスを作成し、インスタンスを起動して、コンテナを起動します。

gcloud

gcloud compute instances create-with-container コマンドを実行します。

gcloud compute instances create-with-container VM_NAME \
    --container-image CONTAINER_IMAGE

次のように置き換えます。

  • VM_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 から Apache コンテナ イメージをデプロイする場合は、次のように常に完全な Docker イメージ名を指定します。

docker.io/httpd:2.4

他の Google Cloud サービスへのアクセスを行うインスタンスの作成

その他の Google Cloud サービスにアクセスする必要がある VM インスタンスでアプリを実行する場合は、インスタンスの作成前にサービス アカウントを作成し、サービス アカウントとして実行されるようにインスタンスを設定するための手順に従います。サービス アカウントは特別なアカウントで、認証情報をアプリケーション コードに使用すると、他の Google Cloud サービスにアクセスできます。

サービス アカウントの詳細については、サービス アカウントをご覧ください。

特定のサブネットでのインスタンスの作成

デフォルトでは、Google Cloud はプロジェクトごとに default という名前の自動モードの VPC ネットワークを作成します。ネットワークの詳細を指定せずにインスタンスを作成すると、Compute Engine ではデフォルトの VPC ネットワークと、インスタンスと同じリージョンにある自動サブネットが使用されます。

別のネットワークや、自動モードまたはカスタムモードの VPC ネットワーク内に手動で作成したサブネットを使用するには、インスタンスの作成時にそのサブネットを指定する必要があります。

Console

  1. Google Cloud Console で、[VM インスタンス] ページに移動します。

    [VM インスタンス] に移動

  2. プロジェクトを選択し、[続行] をクリックします。

  3. [インスタンスを作成] ボタンをクリックします。

  4. [名前] でインスタンスの名前を指定します。リソースの命名規則をご覧ください。

  5. (省略可)このインスタンスのゾーンを変更します。

  6. VM インスタンスへの HTTP または HTTPS トラフィックを許可するには、[HTTP トラフィックを許可する] または [HTTPS トラフィックを許可する] をオンにします。

    Cloud Console によってネットワーク タグがインスタンスに追加されます。また、対応する上り(内向き)ファイアウォール ルールが作成され、tcp:80(HTTP)または tcp:443(HTTPS)で着信するすべてのトラフィックが許可されます。このネットワーク タグでファイアウォール ルールがインスタンスに関連付けられます。詳細については、Virtual Private Cloud のドキュメントでファイアウォール ルールの概要をご覧ください。

  7. [管理、セキュリティ、ディスク、ネットワーク、単一テナンシー] セクションを展開します。

  8. [ネットワーキング] タブの [ネットワーク インターフェース] で、ネットワークの詳細を指定します。

    1. [ネットワーク] フィールドで、作成しておいたサブネットを含む VPC ネットワークを選択します。
    2. [サブネット] フィールドで、インスタンスで使用するサブネットを選択します。
  9. VM インスタンスにブートディスク以外のセカンダリ ディスクを追加する手順は、次のとおりです。

    1. [管理、セキュリティ、ディスク、ネットワーク、単一テナンシー] をクリックします。
    2. [ディスク] タブを選択します。
    3. [追加ディスク] で、[新しいディスクを追加] をクリックします。
    4. ディスクの情報を [名前]、[タイプ]、[ソースの種類]、[モード]、[削除ルール] にそれぞれ指定します。
    5. [完了] をクリックします。
    6. 必要に応じてディスクを追加します。
  10. [作成] ボタンをクリックしてインスタンスを作成し、開始します。

gcloud

gcloud コマンドライン ツールを使用する場合、スナップショットまたはイメージからインスタンスを作成する場合と同じ手順に沿って、--subnet SUBNET_NAME フラグと --zone ZONE_NAME フラグを追加して gcloud compute instances create コマンドを実行します。

gcloud compute instances create VM_NAME \
    --subnet SUBNET_NAME \
    --zone ZONE_NAME

次のように置き換えます。

  • VM_NAME: インスタンスの名前
  • SUBNET_NAME: サブネットの名前。ネットワークは指定したサブネットから推測されます。
  • ZONE_NAME: インスタンスを作成するゾーン(europe-west1-b など)。インスタンスのリージョンはこのゾーンから推測されます。

インスタンスを作成する際は、ブートディスク以外のセカンダリ ディスクを最大 128 個まで追加できます。作成するセカンダリ ディスクごとに --create-disk フラグを指定します。公開イメージまたはストック イメージからセカンダリ ディスクを作成するには、--create-disk フラグに image および image-project プロパティを指定します。空のディスクを作成するには、これらのプロパティを指定しないでください。(省略可)ディスクの sizetype のプロパティを指定します。

gcloud compute instances create VM_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

次のように置き換えます。

  • VM_NAME: 新しい VM の名前
  • 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 プロパティを使用します。空のディスクを追加するには、ソースイメージを含めないでください。(省略可)diskSizeGbdiskTypelabels の各プロパティを指定できます。

...
"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"
     }
 }...]

次のように置き換えます。

  • NETWORK_NAME: インスタンスを作成するネットワーク
  • REGION: インスタンスを作成するリージョンの名前
  • SUBNET_NAME: サブネットの名前
  • SIZE_GB: ディスクサイズ
  • IMAGE: セカンダリ ディスクのソースイメージ。空のディスクを作成する場合は、イメージソースを指定しないでください。

ディスクを使用する前に、ディスクをフォーマットしてマウントします。

次のステップ