App Hub は、サポートされているロケーションで利用できます。App Hub アプリケーションでグローバルまたはリージョンの Google Cloud インフラストラクチャ リソースを整理するのに役立ちます。ロケーション サポートを使用すると、地理的位置とインフラストラクチャの他の部分との通信方法に基づいてアプリケーション コンポーネントをグループ化できるため、管理が簡素化されます。
アプリケーションを作成するときに、ロケーションをグローバルまたはリージョンのいずれかとして定義します。この選択は、アプリケーションに含めることができるサービスとワークロードを決定するうえで基本となります。また、この選択は、データ処理、コロケーション、費用、コンプライアンスに大きな影響を与えます。グローバル アプリと地域アプリは次のように定義されます。
グローバル アプリケーション: グローバルに分散されているか、複数の Google Cloud リージョンに分散されているサービスとワークロードを機能的にグループ化します。たとえば、グローバル アプリケーション ロードバランサ サービスと、世界中に分散されたバックエンド ワークロードを含めることができます。
リージョン アプリケーション: 単一の Google Cloud リージョン内に完全に存在するサービスとワークロードを機能別にグループ化します。たとえば、
us-central1にあるリージョン アプリケーション ロードバランサ サービスとそのバックエンド ワークロードを含めることができます。
ニーズに最適な決定を下すには、フォールト トレランスと高可用性を提供するように設計されたGoogle Cloud リージョンとゾーンを理解することが重要です。リージョンは独立した地理的エリアであり、ゾーンはリージョン内のデプロイ エリアで、単一の障害ドメインとして機能します。グローバル リソースとリージョン リソースの詳細については、地域とリージョンと Cloud のロケーションをご覧ください。
グローバル アプリケーションとリージョン アプリケーションを比較する
次の表に、グローバル アプリケーションとリージョン アプリケーションのどちらを選択するかを判断するうえで役立つ、主な違いと考慮事項を示します。
| グローバルな適用 | リージョン アプリケーション | |
|---|---|---|
| 推奨ユースケース | 本質的にグローバルなコンポーネントや、複数のリージョンに分散されたコンポーネントを持つアプリケーションに最適です。 | 複数のプロジェクトにまたがっていても、すべてのアプリケーション コンポーネントが同じ Google Cloud リージョン内に存在する場合におすすめします。 |
| リソースの範囲 | 任意のリージョンのグローバル リソースとリージョン リソースの両方を含めることができます。 Google Cloud | アプリケーションと同じ単一リージョンの Google Cloud リソースのみを含めることができます。リージョン アプリケーションにグローバル コンポーネントを登録することはできません。 |
| アプリケーション メタデータ | 複数のリージョンに保存され、任意の Google Cloudリージョンからアクセスできます。 データ所在地はサポートされていません。 |
特定のリージョン内に保存されますが、他の Google Cloud リージョンからアクセスできます。 データ所在地はサポートされていません。 |
| 例 | さまざまなリージョンにバックエンド コンポーネントがあるグローバル ロードバランス アプリケーションを管理して、分散システムの集中ビューを提供します。 | us-central1 内のすべてのサービスとワークロードを含むアプリケーションを管理する。 |
アプリケーションに最適なロケーションを選択する
グローバル ロケーションとリージョン ロケーションのどちらかを選択する際は、アプリケーションが表すビジネス機能のアーキテクチャと運用要件を考慮してください。次の比較は、地域に関する考慮事項に基づいています。
- 一般に、リージョン アプリケーションにはグローバル アプリケーションよりも大きなメリットがあります。コンポーネントのレイテンシの短縮、データ局所性の要件との整合性、ネットワーク コストの削減の可能性、リージョン固有の Google Cloud機能との固有の整合性を活用する場合は、リージョン アプリケーションを選択します。
- アプリケーション コンポーネントを複数のリージョンに分散する必要がある場合や、グローバル Google Cloud リソースに依存する場合は、グローバル アプリケーションを選択します。
複数のリージョンに Google Cloud リソースがあり、単一のまとまりのあるグローバル関数を形成していない場合があります。この場合、各リージョン内のコンポーネントに対して個別のリージョン アプリケーションを定義することをおすすめします。このアプローチにより、各デプロイの地域化のメリットを最大限に活用できます。
フォルダとプロジェクトの整理方法を定義する Google Cloud リソース階層も重要です。リージョンまたはグローバルを問わず、アプリケーション管理の境界に沿って適切に計画された階層は、アプリケーション内のサービスとワークロードのグループ化と管理を簡素化します。詳細については、アプリケーション設定モデルを選択するをご覧ください。
リージョン アプリケーションのメリット
グローバル アプリケーションは、分散システムの柔軟性を提供します。ただし、App Hub アプリケーションのリージョン ロケーションを選択すると、次のような大きなメリットがあります。
データ所在地とコンプライアンスをサポート: App Hub メタデータはデータ所在地を提供しません。ただし、リージョン アプリケーションを使用すると、基盤となるGoogle Cloud リソースが処理して保存する実際のデータが、選択した地理的境界内に確実に保持されます。このメリットは、データのローカリティに関する法的要件、規制要件、組織の要件を遵守するうえで非常に重要です。
レイテンシの短縮: 同じリージョン内にアプリケーション コンポーネントを配置すると、通常はコンポーネント間のネットワーク レイテンシが最小限に抑えられ、アプリケーションのパフォーマンスとユーザー エクスペリエンスが向上する可能性があります。
プロダクト機能の要件を満たす: 特定の Google Cloud プロダクトまたは機能では、すべてのインタラクション コンポーネントが同じリージョンに配置されている必要があります。たとえば、Compute Engine インスタンスは、同じリージョンにある永続ディスクのみをアタッチできます。リージョン App Hub アプリケーションは、このようなアーキテクチャ上の制約に本質的に適合しています。
費用を最適化する: 異なる Google Cloud リージョン間のデータ転送では、多くの場合、ネットワーク費用が発生します。一方、同じリージョン内のネットワーク トラフィックは通常、料金が低く設定されています。アプリケーションをリージョンで作成すると、リージョン間のネットワーク料金をより適切に管理し、削減できます。
障害発生ドメインとの整合性: Google Cloud リージョンは、独立した障害発生ドメインとして設計されています。単一リージョン内にアプリケーションをデプロイし、そのリージョン内の複数のゾーンを高可用性に使用すると、アプリケーションのフォールト トレランスが Google Cloudのインフラストラクチャの復元力モデルに沿ったものになります。
次のステップ
- App Hub が利用可能なロケーションのリストを確認する
- App Hub でサポートされているリソースを確認する
- 地域とリージョンの詳細を確認する
- Cloud のロケーションを確認する
- アプリケーションのセットアップ モデルを選択する