Compute Engine でのリージョン デプロイ

Last reviewed 2024-01-31 UTC

このドキュメントでは、Google Cloud リージョン内の複数のゾーンにあり、Compute Engine VM で実行される多層アプリケーションのリファレンス アーキテクチャについて説明します。このリファレンス アーキテクチャを使用すると、アプリケーションの変更を最小限に抑えながら、オンプレミス アプリケーションをクラウドへ効率的に再ホスト(リフト&シフト)できます。このドキュメントでは、クラウド アプリケーションのリージョン アーキテクチャを構築する際に考慮すべき設計要素についても説明します。このドキュメントは、クラウド アーキテクトを対象としています。

アーキテクチャ

次の図では、リージョン内の 3 つの Google Cloud ゾーンにまたがってデプロイされた孤立スタックで、アクティブ / アクティブ モードで実行されるアプリケーションのアーキテクチャを示します。このアーキテクチャは、リージョン デプロイ アーキタイプに沿ったものになっており、Google Cloud トポロジがゾーンの停止に対して堅牢であることを保証します。

アプリケーションは、リージョン内の 3 つの Google Cloud ゾーンにまたがってデプロイされた孤立スタックでアクティブ / アクティブ モードで実行されます。

このアーキテクチャは、Infrastructure as a Service(IaaS)クラウドモデルに基づいています。Google Cloud で必要なインフラストラクチャ リソース(コンピューティング、ネットワーキング、ストレージ)をプロビジョニングします。ユーザーはインフラストラクチャを完全に制御できます。オペレーティング システム、ミドルウェア、アプリケーション スタックの上位レイヤの管理はユーザー側の責任となります。IaaS や他のクラウドモデルの詳細については、PaaS、IaaS、SaaS、CaaS の違いをご覧ください。

上の図には、次のコンポーネントが含まれています。

コンポーネント 目的
リージョン外部ロードバランサ

リージョン外部ロードバランサは、ユーザー リクエストを受け取り、ウェブ階層 VM に分散します。

トラフィックの種類やその他の要件に応じて、適切な種類のロードバランサを使用します。たとえば、バックエンドがウェブサーバーで構成されている場合(上記のアーキテクチャを参照)は、アプリケーション ロードバランサを使用して HTTP(S) トラフィックを転送します。TCP トラフィックをロードバランスするには、ネットワーク ロードバランサを使用します。詳細については、ロードバランサを選択するをご覧ください。

ウェブ階層のリージョン マネージド インスタンス グループ(MIG)

アプリケーションのウェブ階層は、リージョン MIG の一部である Compute Engine VM にデプロイされます。MIG は、リージョン外部ロードバランサのバックエンドです。

MIG には、3 つの異なるゾーンにある Compute Engine VM が含まれています。これらの各 VM は、アプリケーションのウェブ階層の独立したインスタンスをホストします。

リージョン内部ロードバランサ

リージョン内部ロードバランサは、ウェブ階層 VM からアプリケーション階層 VM にトラフィックを分散します。

要件に応じて、リージョン内部アプリケーション ロードバランサまたはネットワーク ロードバランサを使用できます。詳細については、ロードバランサを選択するをご覧ください。

アプリケーション階層のリージョン MIG

アプリケーション階層は、内部ロードバランサのバックエンドであるリージョン MIG の一部である Compute Engine VM にデプロイされます。

MIG には、3 つの異なるゾーンにある Compute Engine VM が含まれています。各 VM では、アプリケーション階層の独立したインスタンスがホストされます。

Compute Engine VM にデプロイされたサードパーティ製データベース

このドキュメントのアーキテクチャは、Compute Engine VM にデプロイされたサードパーティ製データベース(PostgreSQL など)を示しています。スタンバイ データベースは別のゾーンにデプロイできます。データベースのレプリケーションとフェイルオーバーの機能は、使用するデータベースによって変わります。

サードパーティ製データベースのインストールと管理には、更新の適用、モニタリング、可用性の確保など、追加の労力と運用コストがかかります。Cloud SQL や AlloyDB for PostgreSQL などのフルマネージド データベース サービスを使用すると、サードパーティ製データベースのインストールと管理にかかるオーバーヘッドを回避し、組み込みの高可用性(HA)機能を利用できます。マネージド データベースのオプションの詳細については、このガイドの後半のデータベース サービスをご覧ください。

Virtual Private Cloud ネットワークサブネット

このアーキテクチャ内のすべての Google Cloud リソースは、単一の VPC ネットワークとサブネットを使用します。

要件に応じて、複数の VPC ネットワークや複数のサブネットを使用するアーキテクチャも構築できます。詳細については、「VPC 設計のためのベスト プラクティスとリファレンス アーキテクチャ」の複数の VPC ネットワークを作成するかどうかを決定するをご覧ください。

Cloud Storage デュアルリージョン バケット

アプリケーションとデータベースのバックアップは、デュアルリージョンの Cloud Storage バケットに保存されます。ゾーンまたはリージョンが停止しても、アプリケーションとデータは失われません。

また、バックアップと DR サービスを使用して、データベースのバックアップを作成、保存、管理することも可能です。

使用するプロダクト

このリファレンス アーキテクチャでは、次の Google Cloud プロダクトを使用します。

  • Compute Engine: Google のインフラストラクチャで VM を作成して実行できる、安全でカスタマイズ可能なコンピューティング サービス。
  • Cloud Load Balancing: 高パフォーマンスでスケーラブルなグローバル ロードバランサとリージョン ロードバランサのポートフォリオ。
  • Cloud Storage: 低コストで無制限のオブジェクト ストア。さまざまなデータ型に対応しています。データには Google Cloud の内部および外部からアクセスでき、冗長性を確保するために複数のロケーションに複製されます。
  • Virtual Private Cloud: Google Cloud ワークロードにグローバルでスケーラブルなネットワーキング機能を提供する仮想システム。

ユースケース

このセクションでは、Compute Engine のリージョン デプロイが適切なユースケースについて説明します。

オンプレミス アプリケーションの効率的な移行

このリファレンス アーキテクチャを使用すると、アプリケーションの変更を最小限に抑えながら、オンプレミス アプリケーションをクラウドに再ホスト(リフト&シフト)する Google Cloud トポロジを構築できます。このリファレンス アーキテクチャでは、アプリケーションのすべての階層が Compute Engine VM でホストされます。この方法により、オンプレミスのアプリケーションをクラウドへ効率的に移行し、Google Cloud が提供する費用上のメリット、信頼性、パフォーマンス、運用の簡素化を活用できます。

地域内のユーザーが使用する高可用性アプリケーション

ゾーンの停止に対しては耐性を必要とするが、リージョンの停止によるダウンタイムは許容できるアプリケーションには、リージョン デプロイ アーキテクチャをおすすめします。アプリケーション スタックのいずれかの部分で障害が発生しても、すべての層に十分な容量を持つ正常なコンポーネントが 1 つ以上存在すれば、アプリケーションの実行が継続されます。ゾーンが停止しても、アプリケーション スタックは引き続き他のゾーンで実行されます。

アプリケーション ユーザーに対する低レイテンシ

アプリケーションのすべてのユーザーが同じ地域(1 つの国など)にいる場合は、リージョン デプロイ アーキテクチャによって、ユーザーから見たアプリケーションのパフォーマンスを改善できます。ユーザーに最も近い Google Cloud リージョンにアプリケーションをデプロイすることで、ユーザー リクエストのネットワーク レイテンシを最適化できます。

アプリケーション コンポーネント間の低レイテンシ ネットワーキング

シングル リージョン アーキテクチャは、コンピューティング ノード間で低レイテンシかつ高帯域幅のネットワーク接続を必要とするバッチ コンピューティングなどのアプリケーションに適しています。すべてのリソースは 1 つの Google Cloud リージョン内にあるため、リソース間のネットワーク トラフィックはリージョン内に残ります。リソース間のネットワーク レイテンシは低く、リージョン間のデータ転送の費用は発生しません。リージョン内のネットワークの費用は引き続き適用されます。

データ所在地に関する要件の遵守

シングルリージョン アーキテクチャを使用すると、データ所在地の要件を満たすうえで役に立つトポロジを構築できます。たとえば、ヨーロッパ内のある国が、すべてのユーザーデータを、物理的にヨーロッパ内に設置されたデータセンターに保存してアクセスすることを要求する可能性があります。この要件を満たすには、ヨーロッパの Google Cloud リージョンでアプリケーションを実行します。

設計上の考慮事項

このセクションでは、このリファレンス アーキテクチャを使用して、システム設計、セキュリティとコンプライアンス、信頼性、運用効率、費用、パフォーマンスに関する特定の要件を満たすアーキテクチャを開発するためのガイダンスを示します。

システム設計

このセクションでは、リージョン デプロイのための Google Cloud リージョンの選択と、適切な Google Cloud サービスの選択に役立つガイダンスを示します。

リージョンの選択

アプリケーションの Google Cloud リージョンを選択する場合は、次の要素と要件を考慮してください。

これ