インスタンス グループ

仮想マシン(VM)インスタンスのグループを作成して管理すれば、プロジェクト内のインスタンスを個別に制御する必要はありません。Compute Engine では、マネージド非マネージドの 2 種類のインスタンス グループを使用できます。

マネージド インスタンス グループ

マネージド インスタンス グループは、インスタンス テンプレートを使用して同一インスタンスのグループを作成します。マネージド インスタンス グループは 1 つのエンティティとして制御します。マネージド インスタンス グループに含まれるインスタンスに変更を加える場合、インスタンス グループ全体にその変更を適用します。マネージド インスタンス グループには同一のインスタンスが含まれるため、次の機能が提供されます。

  • アプリケーションにコンピューティング リソースがさらに必要な場合は、マネージド インスタンス グループによってグループ内のインスタンス数が自動的に増加されます。
  • マネージド インスタンス グループは負荷分散サービスを使用してネットワーク トラフィックをグループ内のすべてのインスタンスに分散します。
  • グループ内のインスタンスがインスタンス グループのコマンド以外のアクションによって停止、クラッシュ、削除された場合、マネージド インスタンス グループがそのインスタンスを自動的に再作成して、その処理タスクを再開できるようにします。再作成されるインスタンスは、グループが別のインスタンス テンプレートを参照していても、前のインスタンスと同じ名前、同じインスタンス テンプレートを使用します。
  • マネージド インスタンス グループは、グループ内の異常な状態のインスタンスを自動的に特定し、再作成できるため、すべてのインスタンスを最適な状態で実行できます。

マネージド インスタンス グループのタイプ

2 つのタイプのマネージド インスタンス グループを作成できます。

リージョン マネージド インスタンス グループは、アプリケーションの負荷を複数のゾーンに分散でき、アプリケーションが単一のゾーンに制限されることも、異なるゾーンで複数のインスタンス グループを管理する必要もないので、通常ゾーン マネージド インスタンス グループよりもおすすめです。このレプリケーション機能は、ゾーン障害の発生や、単一ゾーンでインスタンス グループ全体の誤動作が起こる予期しない事態からトラフィックを保護します。このような事態が起きた場合でも、アプリケーションは同じリージョンの別のゾーンで実行しているインスタンスからトラフィックの処理を続行できます。

ただし、リージョン マネージド インスタンス グループを設定するには、1 つのゾーン内に 1 つのインスタンス グループを設定するよりも多くの作業が必要になる可能性があります。このため、まずゾーン マネージド インスタンス グループを作成することから始めて、段階的にアプリケーションを構築していき、より堅牢なソリューションが必要になった時点でリージョン マネージド インスタンス グループに移行することも検討してください。

マネージド インスタンス グループとネットワーク

デフォルトでは、default ネットワークにグループのインスタンスが置かれ、リージョンの範囲内の IP アドレスがランダムに割り当てられます。または、カスタムモード VPC ネットワークと狭い IP 範囲を使用するサブネットを作成し、インスタンス テンプレートでそのサブネットを指定すると、グループの IP 範囲を制限できます。そのようにすることで、ファイアウォール ルールを簡単に作成できます。

マネージド インスタンス グループを作成すると、システムでプロビジョニングが可能になり次第、グループ内の新しいインスタンスが開始します。このプロセスにかかる時間は、グループ内のインスタンスの数によっては長くなる場合があります。 マネージド インスタンス グループのインスタンスのステータスを検証してください。

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

インスタンス テンプレートは、マネージド インスタンス グループのインスタンスのマシンタイプ、イメージ、ゾーン、その他のインスタンス プロパティを定義します。マネージド インスタンス グループは、インスタンス テンプレートを使用してグループに属するインスタンスの作成や更新を行います。インスタンス テンプレートを一度作成したら、複数のグループや構成に再利用できます。

インスタンス テンプレートはグローバル リソースであり、ゾーンやリージョンには関連付けられていません。ただし一部のゾーンリソースはインスタンス テンプレートで指定することが可能で、それによりテンプレートはそのリソースのあるゾーンに限定されます。たとえば、us-central1-b の読み取り専用永続ディスクをインスタンス テンプレートに含めた場合は、その特定のディスクがゾーン us-central1-b のみに存在するため、他のゾーンではそのテンプレートを使用できなくなります。ゾーンリソースの詳細については、リージョンとゾーンを参照してください。

インスタンス テンプレートの作成方法については、インスタンス テンプレートの作成をご覧ください。

非マネージド インスタンス グループ

非マネージド インスタンス グループは、任意にグループに追加したりグループから削除したりできる別種のインスタンスのグループです。非マネージド インスタンス グループは自動スケーリング、ローリング更新サポート、インスタンス テンプレートの使用に対応していないため、可能な場合はマネージド インスタンス グループを作成することをおすすめしています。非マネージド インスタンス グループは、負荷分散を既存の設定、または別種のインスタンスのグループに適用する必要がある場合にのみ使用します。

インスタンス テンプレートに従わない別種のインスタンスを作成する必要がある場合は、非マネージド インスタンス グループを参照してください。

インスタンス グループと負荷分散

Google Cloud Platform で利用可能なすべての負荷分散設定では、ロードバランサから分散されるトラフィックを処理できるインスタンス グループまたはターゲット プールを指定する必要があります。

HTTP(S) 負荷分散、内部負荷分散、SSL 負荷分散の場合、バックエンド サービスにインスタンス グループを割り当てる必要があります。バックエンド サービスはバックエンドを管理するための集中管理サービスであり、ロードバランサに対するユーザー リクエストを処理するインスタンスを管理します。各バックエンド サービスにはバックエンドが 1 つ以上含まれており、各バックエンドにはインスタンス グループが 1 つ含まれています。バックエンド サービスは使用できるインスタンス、処理可能なトラフィック数、現在処理しているトラフィック数を認識します。マネージドまたは非マネージドのいずれかのインスタンス グループをバックエンド サービスに割り当てることができます。

ネットワーク負荷分散の場合、ターゲット プールに個別の VM インスタンスを追加するか、ターゲット プールに 1 つ以上のマネージド インスタンス グループを割り当て、サーバーでそのインスタンス グループに含まれるすべてのインスタンスが指定したターゲット プールに追加されるように設定する必要があります。

さまざまな負荷分散構成の詳細については、負荷分散のドキュメントをご覧ください。

マネージド インスタンス グループと自動スケーリング

マネージド インスタンス グループでは自動スケーリング機能がサポートされているため、負荷の増減に応じて、マネージド インスタンス グループからインスタンスを動的に追加または削除できます。自動スケーリングを有効にし、スケーリング方法を決定する自動的スケーリングのポリシーを選択します。適用可能な自動スケーリングのポリシーには、CPU 使用率、負荷分散容量、Stackdriver Monitoring の指標や、Google Cloud Pub/Sub などのキューベース ワークロードに基づくスケーリングなどがあります。

自動スケーリングではインスタンスをグループから追加および削除する必要があるため、オートスケーラーで同一のインスタンスが維持されるよう、自動スケーリングが使用できるのはマネージド インスタンス グループのみになります。異種のインスタンスが含まれる可能性のある非マネージド インスタンス グループでは、自動スケーリングは機能しません。

詳細については、インスタンスの自動スケーリング グループをご覧ください。

次のステップ

フィードバックを送信...

Compute Engine ドキュメント