App Design Center で 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

  • Compute Engine インスタンスは、Memorystore インスタンス内のデータを管理してキャッシュに保存できます。
  • Pub/Sub トピック ID が Compute Engine インスタンス テンプレートのメタデータに追加されます。
Google Cloudでの Redis のデプロイ オプション

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 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 スタックタイプ

Additional Networks

ネットワーク

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 について

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

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

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 ネットワークとサブネット