Compute Engine MIG を構成する

アプリケーション デザイン センターでは、Compute Engine のマネージド インスタンス グループ(MIG)を構成して、ロード バランシング、自動スケーリング、自動修復を使用して VM インスタンスのコレクションを単一のエンティティとして管理できます。特定のコンポーネント接続と構成パラメータに合わせて MIG をカスタマイズできます。構成パラメータは、terraform-google-vm Terraform モジュールに記載されています。

コンポーネントの接続

次の表に、Compute Engine MIG に接続できるコンポーネントと、アプリケーションとその生成された Terraform コードに対する更新を示します。

連結成分

アプリケーションの更新

背景情報

グローバル Cloud Load Balancing バックエンド

  • ロードバランサは、受信トラフィックを Compute Engine MIG に分散できます。
  • Compute Engine MIG が Cloud Load Balancing のバックエンド サービス グループ フィールドに追加されます。
マネージド インスタンス グループのバックエンドを使用して従来のアプリケーション ロードバランサを設定する

リージョン Cloud Load Balancing バックエンド

  • ロードバランサは、受信トラフィックを Compute Engine MIG に分散できます。
  • Compute Engine MIG が Cloud Load Balancing のバックエンド サービス グループ フィールドに追加されます。
VM インスタンス グループのバックエンドを使用してリージョン外部アプリケーション ロードバランサを設定する

Compute Engine インスタンス テンプレート

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

必須の構成パラメータ

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

パラメータ名

説明と制約

背景情報

プロジェクト ID

Compute Engine MIG を作成するプロジェクト。

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

リージョン

region リージョン MIG について

インスタンス テンプレート

instanceTemplate インスタンス テンプレートについて

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

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

機能

パラメータ名

説明と制約に関する情報

背景情報

MIG 名

name mig_name

ホスト名

インスタンスのホスト名の接頭辞。

hostname

ターゲット サイズ

targetSize 自動スケーリングが有効な MIG を作成する。

最大レプリカ数

autoscalingPolicy.maxNumReplicas 自動スケーリングが有効な MIG を作成する

最小レプリカ数

autoscalingPolicy.minNumReplicas 自動スケーリングが有効な MIG を作成する

自動スケーリング モード

autoscalingPolicy.mode 自動スケーリング モード

ターゲット プール

targetPools[] マネージド インスタンス グループをターゲット プールに追加する

ディストリビューション ポリシーのターゲット シェイプ

distributionPolicy.targetShape feedback リージョン MIG のターゲット分配形態

配布ポリシー ゾーン

distributionPolicy.zones[] リージョン MIG 内の VM のターゲット分配形態を設定する

ステートフル ディスク

デバイス名

statefulPolicy.preservedState.disks[] MIG でのステートフル永続ディスクの構成

ルールを削除

statefulPolicy.preservedState.disks[].autoDelete MIG でのステートフル永続ディスクの構成

ステートフル IP

インターフェース名

statefulPolicy.preservedState.internalIPs[] MIG 内のステートフル IP アドレスの構成

ルールを削除

statefulPolicy.preservedState.internalIPs[].autoDelete MIG 内のステートフル IP アドレスの構成

外部

statefulPolicy.preservedState.externalIPs[] MIG 内のステートフル IP アドレスの構成

ポリシーを更新

最大サージ固定

updatePolicy.maxSurge.fixed 最大サージ

インスタンスの再分配タイプ

updatePolicy.instanceRedistributionType プロアクティブなインスタンスの再分配

最大サージ率

updatePolicy.maxSurge.percent 最大サージ

Max Unavailable Fixed

updatePolicy.maxUnavailable.fixed オフライン上限

使用不可の最大割合

updatePolicy.maxUnavailable.percent オフライン上限

Min Ready Sec

updatePolicy.minReadySec 最小待機時間

交換方法

updatePolicy.replacementMethod 置換メソッド

ミニマルアクション

updatePolicy.minimalAction ミニマル

型

updatePolicy.type 更新タイプ

許容される最も大がかりなアクション

updatePolicy.mostDisruptiveAllowedAction 許容される最も大がかりなアクション

ヘルスチェック名

name ヘルスチェックの概要

ヘルスチェック

型

type ヘルスチェックのカテゴリ、プロトコル、ポート

Initial Delay Seconds

autoHealingPolicies[].initialDelaySec MIG で自動修復ポリシーを構成する

チェック間隔(秒)

checkIntervalSec MIG で自動修復ポリシーを構成する

正常しきい値

healthyThreshold MIG で自動修復ポリシーを構成する

タイムアウト(秒)

timeoutSec 適切な自動修復ヘルスチェックについて

異常しきい値

unhealthyThreshold MIG で自動修復ポリシーを構成する

レスポンス

httpsHealthCheck.response HTTP、HTTPS、HTTP/2 の正常終了の条件

プロキシ ヘッダー

httpsHealthCheck.proxyHeader ヘッダー

ポート

httpsHealthCheck.port ヘルスチェックのカテゴリ、プロトコル、ポート

リクエスト

tcpHealthCheck.request HTTP、HTTPS、HTTP/2 の正常終了の条件

リクエストパス

httpsHealthCheck.requestPath HTTP、HTTPS、HTTP/2 の正常終了の条件

ホスト

httpsHealthCheck.host ヘッダー

Logging を有効にする

logConfig.enable ヘルスチェックのロギング情報

オートスケーラー名

name

空の場合、名前は hostname から取得されます。

自動スケーリングが有効

MIG のオートスケーラーを作成します。

インスタンスのグループの自動スケーリング

クールダウン期間

autoscalingPolicy.coolDownPeriodSec 初期化期間

自動スケーリング CPU

ターゲット

autoscalingPolicy.cpuUtilization.utilizationTarget CPU 使用率に基づくスケーリング

予測メソッド

autoscalingPolicy.cpuUtilization.predictiveMethod 予測自動スケーリング

自動スケーリング指標

名前

name 自動スケーリングにより指標を目標値で維持する

ターゲット

autoscalingPolicy.customMetricUtilizations[].utilizationTarget 自動スケーリングにより指標を目標値で維持する

型

autoscalingPolicy.customMetricUtilizations[].utilizationTargetType 自動スケーリングにより指標を目標値で維持する

スケーリング スケジュール

無効

autoscalingPolicy.scalingSchedules[].disabled スケジュールに基づくスケーリング

Duration Sec

autoscalingPolicy.scalingSchedules[].durationSec スケーリング スケジュールの設定

必要な最小レプリカ数

autoscalingPolicy.scalingSchedules[].minRequiredReplicas スケーリング スケジュールの設定

名前

autoscalingPolicy.scalingSchedules[] スケーリング スケジュールの作成

スケジュール

autoscalingPolicy.scalingSchedules[].schedule スケーリング スケジュールの設定

Time Zone

autoscalingPolicy.scalingSchedules[].timeZone スケーリング スケジュールの設定

自動スケーリングのスケールイン制御

固定レプリカ

autoscalingPolicy.scaleInControl.maxScaledInReplicas.fixed スケールインの制御を構成する

レプリカの割合

autoscalingPolicy.scaleInControl.maxScaledInReplicas.percent スケールインの制御を構成する

時間枠(秒)

autoscalingPolicy.scaleInControl.timeWindowSec スケールインの制御を構成する

名前付きポート

名前

namedPorts[].name 名前付きポート

ポート

namedPorts[].port 名前付きポート

インスタンスを待機する

戻る前に、すべてのインスタンスが作成または更新されるまで待機するかどうか。true に設定すると、オペレーションが失敗した場合、Terraform はタイムアウトに達するまで試行を続けます。

wait_for_instances

MIG のタイムアウト

作成

Terraform インスタンスの作成がタイムアウトしました。

作成

更新

Terraform インスタンスの更新のタイムアウト。

update

削除

Terraform インスタンスの削除のタイムアウト。

delete

ラベル

Key(キー)

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

値

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