Google Cloud のグローバル デプロイ アーキタイプ

Last reviewed 2024-03-29 UTC

Google Cloud デプロイ アーキタイプ ガイドのこのセクションでは、グローバル デプロイ アーキタイプについて説明します。

グローバル デプロイ アーキタイプに基づくアーキテクチャでは、アプリケーションは世界中の複数の Google Cloud リージョンで実行されます。アプリケーションは、分散ロケーションを認識しないスタックとして、またはリージョンごとに分離された複数のスタックとしてデプロイできます。いずれの場合も、グローバル エニーキャスト ロードバランサがトラフィックを適切なリージョンに分散します。このアプリケーションは、すべてのリージョンで利用でき、同期的に複製されるデータベース(マルチリージョン構成の Spanner など)に対してデータの書き込みと読み取りを行います。アプリケーション スタックの他のコンポーネント(キャッシュやオブジェクト ストアなど)もグローバルにできます。

次の図は、分散ロケーションを認識しないグローバル デプロイ アーキタイプのバリアントを示しています。

グローバルに分散されたアプリケーション スタックを使用するグローバル デプロイ アーキタイプ。

上の図は、3 つの Google Cloud リージョンの複数のゾーンに分散されたフロントエンド インスタンスとバックエンド インスタンス(通常はマイクロサービス)を持つ、ロケーションを認識しないアプリケーション スタックを示しています。グローバル エニーキャスト ロードバランサが受信トラフィックを適切なフロントエンド インスタンスに分散します。この分散は、インスタンスの可用性と容量、トラフィックの送信元への地理的な近さに基づいて行われます。クロスリージョン内部ロードバランサによって、フロントエンド インスタンスからのトラフィックは、バックエンド インスタンスの可用性と容量に基づいて適切なインスタンスに分配されます。このアプリケーションは、同期的に複製され、リージョン間で使用可能なデータベースを使用します。

次の図は、リージョンごとに分離されたアプリケーション スタックを使用するグローバル デプロイ アーキタイプのバリアントを示しています。

リージョンごとに分離されたアプリケーション スタックを使用するグローバル デプロイ アーキタイプ。

上の図は、2 つの Google Cloud リージョンの複数のゾーンで実行され、リージョンごとに分離されたアプリケーション スタックを示しています。このトポロジはマルチリージョン デプロイ アーキタイプに似ていますが、DNS ルーティングではなくグローバル エニーキャスト ロードバランサを使用します。グローバル ロードバランサは、ユーザーに最も近いリージョンのフロントエンドに受信トラフィックを分散します。どちらのアプリケーション スタックも、同期的に複製され、両方のリージョンで利用可能なデータベースに対してデータの書き込みと読み取りを行います。2 つのリージョンのいずれかで停止が発生した場合、グローバル ロードバランサがもう一方のリージョンのフロントエンドにユーザー リクエストを送信します。

ユースケース

次のセクションでは、グローバル デプロイ アーキタイプが適切なユースケースの例を示します。

世界中のユーザーを対象とした高可用性アプリケーション

世界中のユーザーにサービスを提供し、複数のリージョンの停止に対する高可用性と堅牢性を必要とするアプリケーションには、グローバル デプロイ アーキタイプをおすすめします。

費用の最適化と運用の簡素化を実現する機会

グローバル デプロイ アーキタイプでは、グローバル ロードバランサやグローバル データベースなどの高可用性グローバル リソースを使用できます。マルチリージョン デプロイと比較すると、グローバル デプロイではプロビジョニングおよび管理するリソースが少なくなるため、コストの削減と運用の簡素化を実現できます。

設計上の考慮事項

グローバル デプロイ アーキタイプに基づいてアーキテクチャを構築する場合は、次の設計要素を考慮してください。

ストレージ、レプリケーション、ネットワークの費用

グローバルに分散されたアーキテクチャでは、ロケーション間のネットワーク トラフィックの量がリージョン デプロイと比べて多くなることがあります。より多くのデータが保存され、複製される場合もあります。グローバル デプロイ アーキタイプに基づいてアーキテクチャを構築する場合は、データ ストレージとネットワーキングにかかる費用が高くなる可能性があります。ビジネス クリティカルなアプリケーションの場合、グローバルに分散したアーキテクチャの可用性の利点が、ネットワーキングとストレージのコスト高を上回る場合があります。

グローバル リソースに対する変更の管理

高可用性のグローバル リソースを活用することで、費用を最適化し、運用を簡素化できます。ただし、グローバル リソースが単一障害点(SPOF)にならないようにするには、グローバル リソースに対する構成の変更を管理する必要があります。

アーキテクチャの例

リージョンに分離された複数のスタックを使用するグローバル デプロイ アーキタイプのアーキテクチャ例については、「Google Cloud のワークロードに適した信頼性の高いインフラストラクチャを設計する」のグローバル ロード バランシングを使用したマルチリージョン デプロイをご覧ください。