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 リソースが複数のリージョンに配置され、1 つのまとまったグローバル関数を形成していない場合があります。その場合は、各リージョン内のコンポーネントに個別のリージョン アプリケーションを定義することをおすすめします。このアプローチにより、各デプロイでリージョン化のメリットを最大限に活用できます。
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 のロケーションを確認する
- アプリケーションの設定モデルを選択する