インスタンス テンプレートの作成

このページでは、インスタンス テンプレートの作成および管理方法について説明します。インスタンス テンプレートを使用すると、仮想マシン(VM)インスタンスの作成に使用するマシンタイプ、ブートディスク イメージ、ネットワーク、その他の VM プロパティを指定できます。

インスタンス テンプレートを使用して、マネージド インスタンス グループ(MIG)に属する VM や個々の VM を作成できます。

始める前に

制限事項

  • インスタンス テンプレートの nic0 以外のインターフェースの共有 VPC は、gcloud ツールと API ではサポートされますが、Cloud Console ではサポートされません。
  • 既存のインスタンス テンプレートを更新することはできません。また、インスタンス テンプレートの作成後に変更することもできません。インスタンス テンプレートが最新でなくなった場合や、構成の変更が必要になった場合は、新しいインスタンス テンプレートを作成してください。

新しいインスタンス テンプレートの作成

VM メタデータ、起動スクリプト、永続ディスク、サービス アカウントなど、リクエストで個々の VM インスタンスを作成する際に指定できる大半の VM プロパティはインスタンス テンプレートでも指定できます。マシンタイプ、ブートディスク、ネットワークを指定する必要があります。

Google Cloud Consolegcloud コマンドライン ツール、または API を使用してインスタンス テンプレートを作成します。

Console

  1. Cloud Console で、[インスタンス テンプレート] ページに移動します。

    [インスタンス テンプレート] に移動

  2. [インスタンス テンプレートを作成] をクリックします。

  3. 次のフィールドに値を入力するか、デフォルト値を受け入れます。デフォルト値は、選択したマシン ファミリーに応じて変わります。

    • マシンタイプ
    • 画像
    • ブートディスク
    • VPC ネットワーク
    • IP アドレス
  4. 省略可: Shielded VM をサポートするイメージを選択した場合は、VM の Shielded VM の設定を変更します。

    1. [管理、セキュリティ、ディスク、ネットワーク、単一テナンシー] で、[セキュリティ] タブをクリックします。
    2. セキュアブートを無効にする場合は、[セキュアブートをオンにする] チェックボックスをオフにします。セキュアブートは、ブートレベルやカーネルレベルのマルウェアとルートキットから VM インスタンスを保護します。詳細については、セキュアブートをご覧ください。
    3. 仮想トラステッド プラットフォーム モジュール(vTPM)を無効にする場合は、[vTPM をオンにする] チェックボックスをオフにします。vTPM を使用すると、メジャード ブートが有効になり、それによって VM の起動前と起動時の整合性が検証されます。詳細については、仮想トラステッド プラットフォーム モジュール(vTPM)をご覧ください。

    4. 整合性モニタリングを無効にする場合は、[整合性のモニタリングを有効にする] チェックボックスをオフにします。整合性モニタリングを使用すると、Shielded VM インスタンス起動時の整合性を Cloud Monitoring でモニタリングできます。詳細については、整合性モニタリングをご覧ください。

  5. 省略可: [管理、セキュリティ、ディスク、ネットワーク、単一テナンシー] で、テンプレートをさらにカスタマイズするタブをクリックします。たとえば、ブートディスク以外のセカンダリ ディスクを最大 15 個追加できます。

  6. 省略可: [同等の REST] をクリックして REST リクエストの本文を表示します。リクエストの本文には、インスタンス テンプレートの JSON 表現が含まれています。

  7. [作成] をクリックしてテンプレートを作成します。

gcloud

gcloud compute で、instance-templates create コマンドを使用してインスタンス テンプレートを作成します。

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME

INSTANCE_TEMPLATE_NAME は、インスタンス テンプレートの名前に置き換えます。

明示的なテンプレート設定を指定しない場合は、gcloud compute は次のデフォルト値を使用します。

  • マシンタイプ: マシンタイプ(n1-standard-1 など)
  • イメージ: 最新の Debian イメージ
  • ブートディスク: VM にちなんで名付けられた新しい標準のブートディスク
  • ネットワーク: デフォルトの VPC ネットワーク
  • IP アドレス: エフェメラル外部 IP アドレス

これらの構成設定は明示的に指定することもできます。例:

gcloud compute instance-templates create example-template-custom \
    --machine-type=e2-standard-4 \
    --image-family=debian-10 \
    --image-project=debian-cloud \
    --boot-disk-size=250GB

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

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --create-disk= \
        {--image=DISK_IMAGE | --image-family=DISK_IMAGE_FAMILY}, \
        image-project=DISK_IMAGE_PROJECT, \
        size=SIZE_GB

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

  • INSTANCE_TEMPLATE_NAME: 新しいテンプレートの名前

  • DISK_IMAGE または DISK_IMAGE_FAMILY: 次のいずれかを指定します。
  • 空のディスクには、image プロパティを指定しないでください。

  • DISK_IMAGE_PROJECT: イメージを含むイメージ プロジェクト

    空のディスクには、image-project プロパティを指定しないでください。公開イメージの詳細については、公開イメージをご覧ください。

  • SIZE_GB: セカンダリ ディスクのサイズ。

Shielded VM をサポートするイメージを選択した場合は、必要に応じて次のいずれかのフラグを使用して、インスタンスの Shielded VM の設定を変更できます。

  • --no-shielded-secure-boot: セキュアブートをオフにします。

    セキュアブートは、ブートレベルとカーネルレベルのマルウェアとルートキットから VM インスタンスを保護します。詳細については、セキュアブートをご覧ください。

  • --no-shielded-vtpm: 仮想トラステッド プラットフォーム モジュール(vTPM)をオフにします。

    vTPM を使用すると、メジャード ブートが有効になり、それによって VM の起動前と起動時の整合性が検証されます。詳細については、仮想トラステッド プラットフォーム モジュール(vTPM)をご覧ください。

  • --no-shielded-integrity-monitoring: 整合性モニタリングをオフにします。

    整合性モニタリングを使用すると、Shielded VM インスタンス起動時の整合性を Cloud Monitoring でモニタリングできます。詳細については、整合性モニタリングをご覧ください。

使用可能なすべてのサブコマンドとフラグの一覧については、instance-templates リファレンスをご覧ください。

デフォルトの構成設定を使用したテンプレートは次のようなものになります。

gcloud compute instance-templates describe example-template
creationTimestamp: '2019-09-10T16:18:32.042-07:00'
description: ''
id: '6057583701980539406'
kind: compute#instanceTemplate
name: example-template
properties:
  canIpForward: false
  disks:
  - autoDelete: true
    boot: true
    initializeParams:
      sourceImage: https://compute.googleapis.com/compute/v1/projects/debian-cloud/global/images/family/debian-10
    kind: compute#attachedDisk
    mode: READ_WRITE
    type: PERSISTENT
  machineType: e2-standard-2
  networkInterfaces:
  - accessConfigs:
    - kind: compute#accessConfig
      name: external-nat
      type: ONE_TO_ONE_NAT
    network: https://compute.googleapis.com/compute/v1/projects/myproject/global/networks/default
  scheduling:
    automaticRestart: true
    onHostMaintenance: MIGRATE
  serviceAccounts:
  - email: default
    scopes:
    - https://www.googleapis.com/auth/devstorage.read_only
selfLink: https://compute.googleapis.com/compute/v1/projects/myproject/global/instanceTemplates/example-template

API

インスタンス テンプレートを作成するには、instanceTemplates.insert メソッドPOST リクエストを送信します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates

PROJECT_ID の部分は、プロジェクト ID で置き換えます。

リクエストの本文で、テンプレート プロパティを指定します。

{
  "name": "INSTANCE_TEMPLATE_NAME"
  "properties": {
    "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default",
        "accessConfigs":
        [
          {
            "name": "external-IP",
            "type": "ONE_TO_ONE_NAT"
          }
        ]
      }
    ],
    "disks":
    [
      {
        "type": "PERSISTENT",
        "boot": true,
        "mode": "READ_WRITE",
        "initializeParams":
        {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ]
  }
}

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

  • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前
  • ZONE: VM を配置するゾーン
  • MACHINE_TYPE: VM のマシンタイプ

  • IMAGE_PROJECT: イメージを含むイメージ プロジェクト

    公開イメージの詳細については、公開イメージをご覧ください。

  • 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 を作成します。

      イメージ ファミリーの詳細については、Compute Engine でイメージ ファミリーを使用する場合のベスト プラクティスをご覧ください。

disks プロパティには、次のいずれかのオプションを指定できます。

  • インスタンスごとに永続ブートディスクを作成するには、initializeParams を指定します。追加するディスクごとに initializeParams プロパティを使用して、最大 15 個のセカンダリ非ブートディスクを追加できます。前の例に示すように、公開イメージまたはカスタム イメージ(またはイメージ ファミリー)を sourceImage に使用してディスクを作成できます。空のディスクを追加するには、sourceImage を指定しないでください。

  • 既存の永続ブートディスクをアタッチするには、source を指定します。既存のブートディスクをアタッチした場合、テンプレートから作成できるインスタンスは 1 つのみです。

initializeParams には diskSizeGbdiskTypelabels のプロパティを、source には diskSizeGb プロパティを必要に応じて指定します。

Shielded VM をサポートするイメージを選択した場合は、必要に応じて次のブール値の項目をリクエスト本文で使用して、VM の Shielded VM の設定を変更できます。

  • enableSecureBoot: セキュアブートをオンまたはオフにします。

    セキュアブートは、ブートレベルとカーネルレベルのマルウェアとルートキットから VM インスタンスを保護します。詳細については、セキュアブートをご覧ください。

  • enableVtpm: 仮想トラステッド プラットフォーム モジュール(vTPM)をオンまたはオフにします。

    vTPM を使用すると、メジャード ブートが有効になり、それによって VM の起動前と起動時の整合性が検証されます。詳細については、仮想トラステッド プラットフォーム モジュール(vTPM)をご覧ください。

  • enableIntegrityMonitoring: 整合性モニタリングをオンまたはオフにします。

    整合性モニタリングを使用すると、Shielded VM インスタンスの実行時の起動の整合性を Cloud Monitoring レポートでモニタリングして検証できます。詳細については、整合性モニタリングをご覧ください。

リクエスト パラメータの詳細については、instanceTemplates.insert メソッドをご覧ください。

既存のインスタンスに基づくインスタンス テンプレートの作成

Compute Engine API または gcloud ツールを使用して、既存の VM インスタンスの構成をインスタンス テンプレートとして保存できます。必要に応じて、テンプレートで、ソースディスクの定義方法をオーバーライドできます。

他のプロパティをオーバーライドする必要がある場合は、既存のインスタンスに基づいてインスタンス テンプレートを作成してから、オーバーライドを追加した同様のテンプレートを作成します。

gcloud

--source-instance フラグと --source-instance-zone フラグを指定して、gcloud instance-templates create コマンドを使用します。

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --source-instance=SOURCE_INSTANCE \
    --source-instance-zone=SOURCE_INSTANCE_ZONE \

ソース インスタンスのディスクの定義方法をオーバーライドするには、1 つ以上の --configure-disk フラグを追加します。

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --source-instance=SOURCE_INSTANCE \
    --source-instance-zone=SOURCE_INSTANCE_ZONE \
    --configure-disk= \
        device-name=SOURCE_DISK, \
        instantiate-from=INSTANTIATE_FROM, \
        auto-delete=AUTO_DELETE

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

  • INSTANCE_TEMPLATE_NAME は、作成するテンプレートの名前です。
  • SOURCE_INSTANCE は、新しいテンプレートのモデルとして使用するインスタンスの名前です。
  • SOURCE_INSTANCE_ZONE は、ソース インスタンスを含むゾーンです。
  • SOURCE_DISK は、テンプレート内でオーバーライドするソース インスタンスのディスクの名前です。
  • INSTANTIATE_FROM は、ディスクを組み込むかどうか、組み込む場合はどのイメージを使用するかを指定します。有効な値は、ディスクのタイプによって異なります。

    • source-image または source-image-family(ブートディスクとその他の読み取り / 書き込み用の永続ディスクにのみ有効)。
    • custom-image(ブートディスクとその他の読み取り / 書き込み用の永続ディスクにのみ有効)。指定した場合、次の例のようにカスタム イメージのパスまたは URL も指定する必要があります。また、次の形式を使用してイメージ ファミリーを指定することもできます。

      projects/exampleproject/global/images/family/IMAGE_FAMILY_NAME

      IMAGE_FAMILY_NAME は、イメージ ファミリーの名前に置き換えます。

    • attach-read-only(読み取り専用ディスクにのみ有効)。

    • blank(ブートディスク以外の永続ディスクとローカル SSD にのみ有効)。指定した場合、テンプレートを使用して新しいインスタンスを作成すると、ディスクはフォーマットされていない状態で作成されます。スケーラブルな設定でディスクを使用するには、起動スクリプトでディスクをフォーマットしてマウントする必要があります。

    • do-not-include(ブートディスク以外の永続ディスクと読み取り専用ディスクにのみ有効)。

    • blank(ブートディスク以外の永続ディスクと読み取り専用ディスクにのみ有効)。

  • インスタンスを削除したときに AUTO_DELETE でディスクを自動削除するかどうかを指定します。有効な値は falsenotrueyes です。

たとえば、次のコマンドは my-source-instance に基づくインスタンス テンプレートを作成して、data-disk-a からオリジナルのイメージを使用することもできますが、自動削除を true に設定し、data-disk-bをカスタム イメージに置き換えます。

gcloud compute instance-templates create my-instance-template  \
    --source-instance=my-source-instance \
    --configure-disk=device-name=data-disk-a,instantiate-from=source-image, \
      auto-delete=true
    --configure-disk=device-name=data-disk-b,instantiate-from=custom-image, \
      custom-image=projects/cps-cloud/global/images/cos-89-16108-403-15

API

instanceTemplates.insert メソッドを呼び出し、sourceInstance フィールドを指定します。ソース インスタンスのディスクの定義方法をオーバーライドするには、1 つ以上の diskConfigs フィールドを追加します。

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "sourceInstance": "zones/SOURCE_INSTANCE_ZONE/instances/SOURCE_INSTANCE",
  "sourceInstanceParams": {
    "diskConfigs": [
      {
        "deviceName": "SOURCE_DISK",
        "instantiateFrom": "INSTANTIATE_FROM",
        "autoDelete": false
      }
    ]
  }
}

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

  • PROJECT_ID: リクエストのプロジェクト ID
  • INSTANCE_TEMPLATE_NAME: 新しいテンプレートの名前
  • SOURCE_INSTANCE_ZONE: ソース インスタンスのゾーン
  • SOURCE_INSTANCE: このインスタンス テンプレートのモデルとして使用するソース インスタンスの名前
  • SOURCE_DISK: テンプレート内でオーバーライドするソース インスタンスのディスクの名前
  • INSTANTIATE_FROM: ディスクを組み込むかどうかを指定します。組み込む場合は、どのイメージを使用するかを指定します。

    有効な値は、ディスクのタイプによって異なります。

    • source-image または source-image-family(ブートディスクとその他の読み取り / 書き込み用の永続ディスクにのみ有効)。
    • custom-image(ブートディスクとその他の読み取り / 書き込み用の永続ディスクにのみ有効)。指定した場合、次の例のようにカスタム イメージのパスまたは URL も指定する必要があります。また、次の形式を使用してイメージ ファミリーを指定することもできます。

      projects/exampleproject/global/images/family/IMAGE_FAMILY_NAME

      IMAGE_FAMILY_NAME は、イメージ ファミリーの名前に置き換えます。

    • attach-read-only(読み取り専用ディスクにのみ有効)。

    • blank(ブートディスク以外の永続ディスクとローカル SSD にのみ有効)。指定した場合、テンプレートを使用して新しいインスタンスを作成すると、ディスクはフォーマットされていない状態で作成されます。スケーラブルな設定でディスクを使用するには、起動スクリプトでディスクをフォーマットしてマウントする必要があります。

    • do-not-include(ブートディスク以外の永続ディスクと読み取り専用ディスクにのみ有効)。

次の例では、my-source-instance に基づく新しいインスタンス テンプレートを作成しています。インスタンス テンプレートでは、data-disk-a のイメージは projects/cos-cloud/global/images/cos-89-16108-403-15 に置き換えられます。

POST https://compute.googleapis.com/compute/v1/projects/my_project/global/instanceTemplates

{
  "name": "my-instance-template",
  "sourceInstance": "zones/us-central1-a/instances/my-source-instance",
  "sourceInstanceParams":
  {
    "diskConfigs":
    [
      {
        "deviceName": "data-disk-a",
        "instantiateFrom": "custom-image",
        "customImage": "projects/cos-cloud/global/images/cos-89-16108-403-15"
      }
    ]
  }
}

次の表は、テンプレートでディスクの定義方法をオーバーライドするオプションを示しています。

ディスクタイプ オプション
ブートディスク
  • [デフォルト] ソース インスタンスでブートディスクを作成するために使用されたソースイメージまたはイメージ ファミリーと同じものを使用します。
  • 前の例で説明したように、任意のイメージ(カスタムまたは公開)の URL を使用するか、次の形式を使用してイメージ ファミリーを指定します。

    projects/exampleproject/global/images/family/IMAGE_FAMILY_NAME

その他の読み取り / 書き込み用の永続ディスク
  • [デフォルト] ソース インスタンスでディスクを作成するために使用されたソースイメージまたはソースイメージ ファミリーと同じものを使用します。注: ソース インスタンスのディスクにソースイメージまたはソースイメージ ファミリーのプロパティがない場合、空のディスクとしてテンプレートに含まれます。
  • 前の例で説明したように、任意のイメージ(カスタムまたは公開)の URL を使用するか、次の形式を使用してイメージ ファミリーを指定します。

    projects/exampleproject/global/images/family/IMAGE_FAMILY_NAME

  • 代わりに空のディスクをテンプレートで使用します。テンプレートを使用して新しいインスタンスを作成すると、このディスクはフォーマットされていない状態で作成されます。スケーラブルな設定でディスクを使用するには、起動スクリプトでディスクをフォーマットしてマウントする必要があります。
  • ディスクを組み込みません。
読み取り専用ディスク
  • [デフォルト] ディスクを読み取り専用モードで組み込みます。
  • ディスクを組み込みません。
ローカル SSD
  • [デフォルト] 空のローカル SSD を組み込みます。テンプレートを使用して新しいインスタンスを作成すると、このディスクはフォーマットされていない状態で作成されます。スケーラブルな設定でディスクを使用するには、起動スクリプトでディスクをフォーマットしてマウントする必要があります。

ディスクごとで auto-delete 属性をオーバーライドして、関連付けられたインスタンスが削除されるときにディスクを削除するかどうかも指定できます。

デフォルトでは、オーバーライド オプションが指定されていない場合、テンプレート内のディスク構成はソース インスタンスと同じになります。

既存のテンプレートに基づくインスタンス テンプレートの作成

既存のインスタンス テンプレートを更新することはできません。ただし、インスタンス テンプレートが最新でなくなった場合や、変更を行う必要がある場合は、コンソールを使用して、同様のプロパティを持つ別のインスタンス テンプレートを作成できます。

  1. [インスタンス テンプレート] ページに移動します。

    [インスタンス テンプレート] に移動

  2. コピーして更新するインスタンス テンプレートをクリックします。

  3. [同様のものを作成] をクリックします。

  4. 新しいテンプレートで構成を更新します。

  5. [作成] をクリックします。

コンテナ イメージを指定したインスタンス テンプレートの作成

インスタンス テンプレートでコンテナ イメージを指定できます。デフォルトでは、Compute Engine によって、Docker がインストールされた Container-Optimized OS イメージもテンプレートに組み込まれます。テンプレートを使用して新しいインスタンスを作成すると、インスタンスの起動時にコンテナが自動的に起動されます。

Console

  1. [インスタンス テンプレート] ページに移動します。

    [インスタンス テンプレート] に移動

  2. [インスタンス テンプレートを作成] をクリックします。

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

  4. [コンテナ イメージ] で使用するコンテナ イメージを指定します。

    • Container Registry または Artifact Registry からイメージを指定できます。例:
      • gcr.io/cloud-marketplace/google/nginx1:1.12 が Google Cloud Marketplace から NGINX 1.12 コンテナ イメージを選択します。
      • us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 は、Artifact Registry に格納されているサンプル hello-app イメージを選択します。
    • Docker Hub のコンテナ イメージを使用する場合は、常に完全な Docker イメージ名を指定します。たとえば、Apache コンテナ イメージをデプロイするには、次のイメージ名 docker.io/httpd:2.4 を指定します。
  5. 必要に応じて、[コンテナの詳細オプション] をクリックします。詳細については、コンテナを実行する際のオプションの構成をご覧ください。

  6. [作成] をクリックします。

gcloud

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

gcloud compute instance-templates create-with-container INSTANCE_TEMPLATE_NAME \
     --container-image=CONTAINER_IMAGE

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

  • INSTANCE_TEMPLATE_NAME: 作成するテンプレートの名前。
  • CONTAINER_IMAGE: 使用するコンテナ イメージの完全な名前。

たとえば、次のコマンドは nginx-vm という新しいインスタンス テンプレートを作成します。このテンプレートから作成された VM インスタンスは、起動時にコンテナ イメージ gcr.io/cloud-marketplace/google/nginx1:1.12 を起動して実行します。

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

コンテナの実行オプションを構成することもできます。

サブネットを指定したインスタンス テンプレートの作成

--subnet フラグを使用して、テンプレートから作成されたインスタンスを任意のサブネットに配置します。--subnet フラグを使用する場合、--region フラグも必要です。

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --region=REGION \
    --subnet=SUBNET_NAME_OR_URL

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

  • INSTANCE_TEMPLATE_NAME: インスタンス テンプレートの名前
  • REGION: サブネットのリージョン
  • SUBNET_NAME_OR_URL: サブネットの名前またはその URL

次の例では、subnet-us-qa サブネットでのみインスタンスを作成する template-qa というテンプレートを作成しています。

gcloud compute instance-templates create template-qa \
    --region=us-central1 \
    --subnet=subnet-us-qa

Created [https://compute.googleapis.com/compute/latest/projects/PROJECT_ID/global/instanceTemplates/template-qa].
NAME        MACHINE_TYPE  PREEMPTIBLE CREATION_TIMESTAMP
template-qa e2-standard-2             2019-12-23T20:34:00.791-07:00

このテンプレートを使用して MIG のインスタンスを作成すると(自動スケーリングの設定は任意)、指定したリージョンとサブネットにインスタンスが自動的に作成されます。これにより、負荷分散のために新規に作成するインスタンスのサブネットを制御できるようになります。

インスタンス テンプレートでのカスタム イメージまたは公開イメージの使用

インスタンス テンプレートには、カスタム イメージまたは公開イメージを使用できます。

  • カスタム イメージ。MIG はインスタンスの追加と削除が頻繁に行われることを想定した設計であるため、カスタム イメージを作成し、それをインスタンス テンプレートで指定するようにすると便利です。VM に必要なアプリケーションと設定でイメージを準備できるため、MIG の個々の VM でこれらの項目を手動で構成する必要はありません。

  • 公開イメージ公開イメージ起動スクリプトを使用するインスタンス テンプレートを作成し、それを起動してインスタンスを準備できます。

カスタム イメージは起動スクリプトを使用する VM より確定的であり、起動時間が短くなります。ただし、起動スクリプトのほうが柔軟性が高く、インスタンス内のアプリと設定を簡単に更新できます。

イメージ ファミリーを使用してイメージを管理している場合、カスタム イメージまたは公開イメージのファミリー名をインスタンス テンプレートに指定できます。イメージ ファミリーの詳細については、Compute Engine でイメージ ファミリーを使用する場合のベスト プラクティスをご覧ください。

次のステップ