Compute Engine インスタンス テンプレートを構成する

Compute Engine インスタンス テンプレートを使用すると、VM インスタンスを記述できます。その後、テンプレートに基づいて同一のインスタンスのグループを作成できます。詳しくは次の記事をご覧ください。

このドキュメントでは、App Design Center を使用して Compute Engine インスタンス テンプレートを作成するときに構成できる接続とパラメータについて説明します。構成パラメータは、instance_template Terraform モジュールに基づいています。

コンポーネント接続

次の表に、Compute Engine インスタンステンプレートに接続できるコンポーネントと、その結果としてアプリケーションとその生成された Terraform コードに発生する更新を示します。

連結成分

アプリケーションの更新

背景情報

サービス アカウント

  • Compute Engine インスタンス テンプレートは、新しいサービス アカウントを作成する代わりに、接続されたサービス アカウントを使用します。接続されたサービス アカウントは、他の Google Cloud サービスに対する認証と認可に使用されます。
  • サービス アカウントのメールアドレスと IAM 情報が Compute Engine インスタンス テンプレートに追加されます。
ユーザー管理のサービス アカウントを使用する VM を作成する

AlloyDB for PostgreSQL

  • Compute Engine インスタンスは AlloyDB for PostgreSQL インスタンスに接続できます。
  • AlloyDB for PostgreSQL リソースのメタデータ情報がインスタンス テンプレートに追加されます。
  • roles/alloydb.admin ロールが Compute Engine インスタンス テンプレートのサービス アカウントに追加されます。
Compute Engine から接続する

BigQuery

  • Compute Engine インスタンスは、BigQuery データセットに対してデータの読み取りと書き込みを行うことができます。
  • BigQuery リソース メタデータが Compute Engine インスタンス テンプレートに追加されます。
  • roles/bigquery.dataEditor ロールが Compute Engine インスタンス テンプレート サービス アカウントに追加されます。
BigQuery の概要

Bigtable

  • Compute Engine インスタンスが Bigtable インスタンスにアクセスできる。
  • Bigtable リソースのメタデータ情報がインスタンス テンプレートに追加されます。
  • roles/bigtable.admin ロールが Compute Engine インスタンス テンプレートのサービス アカウントに追加されます。
Bigtable の概要

Cloud SQL(MySQL)

  • Compute Engine インスタンスは、Cloud SQL(MySQL)インスタンスに接続してデータの読み取りと書き込みを行うことができます。
  • Cloud SQL 接続メタデータが Compute Engine インスタンステンプレートに追加されます。
  • roles/cloudsql.instanceUser ロールと roles/cloudsql.client ロールが Compute Engine インスタンステンプレートのサービス アカウントに追加されます。
  • Compute Engine サービス アカウントが IAM ユーザーとして Cloud SQL インスタンスに追加されます。
Compute Engine から接続する

Cloud SQL(PostgreSQL)

  • Compute Engine インスタンスは、Cloud SQL(PostgreSQL)インスタンスに接続してデータの読み取りと書き込みを行うことができます。
  • Cloud SQL 接続メタデータが Compute Engine インスタンステンプレートに追加されます。
  • roles/cloudsql.instanceUser ロールと roles/cloudsql.client ロールが Compute Engine インスタンステンプレートのサービス アカウントに追加されます。
  • Compute Engine サービス アカウントの IAM 情報が Cloud SQL インスタンスに追加されます。
Compute Engine から接続する

Cloud Storage

  • Compute Engine インスタンスは、オブジェクトの一覧表示、作成、表示、削除など、バケット オブジェクトを制御できます。
  • roles/storage.objectAdmin ロールが Compute Engine インスタンス テンプレート サービス アカウントに割り当てられている。
バケットでの IAM ポリシーの設定と管理

Memorystore for Redis

  • Compute Engine インスタンスは、Memorystore インスタンス内のデータを管理してキャッシュに保存できます。
  • App Design Center は、Memorystore for Redis の接続情報を Compute Engine のメタデータに設定します。
Google Cloudでの Redis のデプロイ オプション

Memorystore for Redis Cluster

  • Compute Engine インスタンスは、Memorystore for Redis Cluster インスタンス内のデータを管理してキャッシュに保存できます。
  • App Design Center は、Memorystore for Redis Cluster の接続情報を Compute Engine メタデータに設定します。
Memorystore for Redis Cluster に接続する

Memorystore for Valkey

  • Compute Engine インスタンスは、Memorystore for Valkey インスタンスのデータを管理してキャッシュに保存できます。
  • App Design Center は、Memorystore for Valkey の接続情報を Compute Engine メタデータに入力します。
Memorystore for Valkey インスタンスに接続する

Pub/Sub

  • Compute Engine インスタンスは、Pub/Sub トピックにパブリッシュして、Pub/Sub トピックからメッセージを受信できます。
  • Pub/Sub トピック ID が Compute Engine インスタンス テンプレートのメタデータに追加されます。
サブスクリプションの概要

リージョン Cloud Load Balancing フロントエンド

  • Compute Engine インスタンスは、リージョン Cloud Load Balancing フロントエンドにトラフィックをリダイレクトできます。
  • Cloud Load Balancing アドレスが Compute Engine インスタンス テンプレートに追加されます。
転送ルールの概要

Spanner

  • Compute Engine インスタンスは、Spanner インスタンスのデータの読み取りと書き込みを行うことができます。
  • roles/spanner.databaseAdmin ロールが Compute Engine インスタンス テンプレートのサービス アカウントに追加されます。
  • Compute Engine IAM 情報が Spanner インスタンスに追加されます。
仮想マシン インスタンスでの Spanner の使用

Vertex AI

  • Compute Engine インスタンスは Vertex AI サービスとやり取りできます。
  • roles/aiplatform.user ロールが Compute Engine インスタンス テンプレートのサービス アカウントに追加されます。
IAM を使用した Vertex AI のアクセス制御

Compute Engine(MIG)

  • Compute Engine インスタンス テンプレートは、マネージド インスタンス グループのインスタンスの作成に使用されます。
  • インスタンス テンプレートのセルフリンクが Compute Engine MIG に追加されます。
マネージド インスタンス グループ(MIG)を作成するための基本的なシナリオ

必須の構成パラメータ

テンプレートに Compute Engine インスタンス テンプレート コンポーネントが含まれている場合は、デプロイする前に次のパラメータを構成する必要があります。

パラメータ名

説明と制約

背景情報

プロジェクト ID

Compute Engine インスタンス テンプレートを作成するプロジェクト。

コンポーネントを構成する

リージョン

インスタンス テンプレートが作成されるリージョン。

リージョン インスタンス テンプレートとグローバル インスタンス テンプレート

オプションの構成パラメータ

次のパラメータは省略可能です。詳細パラメータを表示するには、[構成] 領域で [詳細フィールドを表示] を選択します。

機能

パラメータ名

説明と制約に関する情報

背景情報

名前の接頭辞

インスタンス テンプレートの名前の接頭辞。

name_prefix

マシンタイプ

properties.machineType マシン ファミリーのリソースと比較ガイド

Spot

スポット Spot VM

説明

インスタンス テンプレートの説明。

description

インスタンスの説明

テンプレートによって生成されたインスタンスの説明。

properties.description

自動再起動

properties.scheduling.automaticRestart メンテナンスと再起動の動作

コアあたりのスレッド数

properties.advancedMachineFeatures.threadsPerCore コアあたりのスレッド数を設定する

ソース画像

properties.disks[].initializeParams.sourceImage OS イメージ

ソース画像プロジェクト

ソースイメージの取得元プロジェクト。デフォルト プロジェクトには Rocky Linux イメージが含まれています。

イメージ ファミリー

ディスクサイズ(GB)

properties.disks[].initializeParams.diskSizeGb カスタマイズしたブートディスクを作成する

ディスクタイプ

properties.disks[].initializeParams.diskType ディスクタイプを選択する

ネットワーク

properties.networkInterfaces[].network VM のライブ マイグレーション

サブネットワーク

properties.networkInterfaces[].subnetwork ネットワークとサブネット

サービス アカウントを作成する

create_service_account サービス アカウント

最小 CPU プラットフォーム

properties.minCPUPlatform VM インスタンスの最小 CPU プラットフォームを指定する

IP 転送可能

properties.canIpForward インスタンスで IP 転送を有効にする

タグ

properties.tags リソースのタグを管理する

ラベル

Key(キー)

properties.labels ラベルを使用してリソースを整理する

値

properties.labels ラベルを使用してリソースを整理する

プリエンプティブル

properties.scheduling.preemptible プリエンプティブル VM インスタンス

メンテナンス間隔

計画されたメンテナンス イベントの頻度。

単一テナントノードで高度なメンテナンス管理を有効にする

ホスト メンテナンス時

properties.scheduling.onHostMaintenance コンピューティング インスタンスのホスト メンテナンス ポリシーを設定する

スポット インスタンスの終了アクション

properties.scheduling.instanceTerminationAction プリエンプトの処理

ネストされた仮想化を有効にする

properties.advancedMachineFeatures.enableNestedVirtualization ネストされた仮想化について

リソース ポリシー

properties.resourcePolicies[] REST リソース: resourcePolicies

ソース画像ファミリー

properties.disks[].initializeParams.sourceImage イメージ ファミリー

ディスクラベル

Key(キー)

properties.disks[].initializeParams.labels ラベルを使用してリソースを整理する

値

properties.disks[].initializeParams.labels ラベルを使用してリソースを整理する

ディスク暗号鍵

properties.disks[].diskEncryptionKey 顧客指定の暗号鍵でディスクを暗号化する

自動削除

properties.disks[].autoDelete Persistent Disk ボリュームの自動削除状態を設定する

追加ディスク

Boot

properties.disks[].boot カスタマイズしたブートディスクを作成する

デバイス名

properties.disks[].deviceName VM に非ブートディスクを追加する

ディスク名

properties.disks[].initializeParams.diskName VM に非ブートディスクを追加する

インターフェース

properties.disks[].interface ストレージ インターフェースの種類

Mode

properties.disks[].mode リージョン ディスクを作成する

ソース

properties.disks[].source リージョン ディスクを作成する

ソース画像

このディスクを作成するソースイメージ。

properties.disks[].initializeParams.sourceImage

ソース スナップショット

このディスクを作成するソース スナップショット。

properties.disks[].initializeParams.sourceSnapshot

ディスク リソース ポリシー

properties.disks[].initializeParams.resourcePolicies[] REST リソース: resourcePolicy

サブネットワーク プロジェクト

サブネットワークが属するプロジェクトの ID。指定されていない場合は、プロバイダ プロジェクトが使用されます。

subnetwork_project

ネットワーク IP

properties.networkInterfaces[].networkIP 内部 IP アドレス

NIC タイプ

properties.networkInterfaces[].nicType Google Virtual NIC の使用

スタックタイプ

properties.networkInterfaces[].stackType スタックタイプ

追加のネットワーク

ネットワーク

properties.networkInterfaces[].network VM のライブ マイグレーション

サブネットワーク

properties.networkInterfaces[].subnetwork ネットワークとサブネット

キュー数

properties.networkInterfaces[].queueCount デフォルト キューの割り当て

合計下り(外向き)帯域幅のティア

properties.networkPerformanceConfig.totalEgressBandwidthTier ネットワーク帯域幅

起動スクリプト

インスタンスの起動時に実行されるスクリプト。

起動スクリプトについて

メタデータ

Key(キー)

properties.metadata VM メタデータについて

値

properties.metadata VM メタデータについて

サービス アカウント

メール

email サービス アカウント

サービス アカウントのプロジェクト ロール

project_roles サービス アカウントに対するアクセス権を管理する

Shielded VM を有効にする

選択したインスタンス イメージで Shielded VM がサポートされている場合は、チェックボックスをオンにして Shielded VM を有効にします。

Shielded VM について

シールドされたインスタンスの構成

セキュアブートを有効にする

properties.shieldedInstanceConfig.enableSecureBoot セキュアブート

vTPM を有効にする

properties.shieldedInstanceConfig.enableVtpm 仮想トラステッド プラットフォーム モジュール(vTPM)

整合性モニタリングを有効にする

properties.shieldedInstanceConfig.enableIntegrityMonitoring 整合性モニタリング

Confidential VMs を有効にする

properties.confidentialInstanceConfig.enableConfidentialCompute Confidential VMs について

Confidential インスタンス タイプ

properties.confidentialInstanceConfig.confidentialInstanceType サポートされている構成

アクセス構成

NAT IP

properties.networkInterfaces[].accessConfigs[].natIP 外部 IP アドレス

ネットワーク ティア

properties.networkInterfaces[].accessConfigs[].networkTier Network Service Tiers

IPv6 アクセス構成

ネットワーク ティア

properties.networkInterfaces[].ipv6AccessConfigs[].networkTier Network Service Tiers

GPU

型

properties.guestAccelerators[].acceleratorType GPU マシンタイプ

数

properties.guestAccelerators[].acceleratorCount GPU マシンタイプ

エイリアス IP 範囲

IP CIDR 範囲

properties.networkInterfaces[].aliasIpRanges[].ipCidrRange IP アドレス

サブネットワーク範囲名

properties.networkInterfaces[].aliasIpRanges[].subnetworkRangeName ネットワークとサブネット