Google Cloud アーキテクチャ フレームワークのこのドキュメントでは、Google Cloud でネットワーキング リソースと API のパフォーマンスを最適化する際に役立つ推奨事項について説明します。
Network Service Tiers
Network Service Tiers を使用することで、ワークロードのネットワーク費用とパフォーマンスを最適化できます。以下のティアから選択できます。
- プレミアム ティアは、信頼性の高い Google のグローバル バックボーンを使用して、パケットロスとレイテンシを最小限に抑える効果があります。トラフィックは、エンドユーザーに近いグローバル エッジ ポイント オブ プレゼンス(PoP)で Google ネットワークに出入りします。最適なパフォーマンスを得るには、デフォルトの階層としてプレミアム ティアを使用することをおすすめします。プレミアム ティアは、VM とロードバランサに対して、リージョンとグローバル両方の外部 IP アドレスをサポートしています。
- スタンダード ティアは、リージョン外部 IP アドレスを使用するリソースでのみ使用できます。トラフィックは、ワークロードが実行されている Google Cloud のロケーションに最も近いエッジ PoP で Google ネットワークに出入りします。スタンダード ティアの料金は、プレミアム ティアよりも低くなっています。スタンダード ティアは、パケットロスの影響を受けない、低レイテンシの要件がないトラフィックに適しています。
スタンダード ティアとプレミアム ティアのネットワーク レイテンシは、Network Intelligence Center のパフォーマンス ダッシュボードで、クラウド リージョンごとに確認できます。
ジャンボ フレーム
Virtual Private Cloud(VPC)ネットワークのデフォルトの最大伝送単位(MTU)は 1,460 バイトです。ただし、最大 8896
(ジャンボ フレーム)の MTU をサポートするように VPC ネットワークを構成できます。
MTU が高いほど、同じ量のデータを送信する際に必要となるパケットが少なくなるため、TCP/IP ヘッダーで使用される帯域幅が削減されます。これにより、ネットワークの有効帯域幅が向上します。
VPC 内の MTU と他の接続の最大 MTU の詳細については、VPC ドキュメントの最大伝送単位のページをご覧ください。
VM のパフォーマンス
Compute Engine VM の下り(外向き)の最大帯域幅は、マシンタイプによって部分的に異なります。適切なマシンタイプの選択における検討要素の一つは、VM が生成に予測されるトラフィック量です。
ネットワーク帯域幅のページには、Compute Engine マシンタイプのネットワーク帯域幅についての議論と表が記載されています。
VM 間の帯域幅の要件が非常に高い場合は、Tier_1 ネットワーキングをサポートする VM を検討してください。
Cloud Load Balancing
このセクションでは、Cloud Load Balancing インスタンスのパフォーマンスの最適化に役立つベスト プラクティスについて説明します。
アプリケーションをユーザーの近くにデプロイする
ユーザー トラフィックがロードバランサに到達すると想定するロケーションに近いアプリケーション バックエンドをプロビジョニングします。ユーザーやクライアント アプリケーションがワークロード サーバーに近いほど、ユーザーとワークロード間のネットワーク レイテンシは小さくなります。世界中のさまざまなクライアントのレイテンシを最小化するには、バックエンドを複数のリージョンにデプロイする必要があります。詳細については、Compute Engine のリージョン選択に関するベスト プラクティスをご覧ください。
適切なロードバランサの種類を選択する
アプリケーション用に選択するロードバランサの種類によって、ユーザーが経験するレイテンシを決定できます。各種のロードバランサに対するアプリケーション レイテンシの測定と最適化については、ロード バランシングに伴うアプリケーション レイテンシの最適化をご覧ください。
キャッシュ保存を有効にする
コンテンツ配信を高速化するには、デフォルトの外部 HTTP ロードバランサ構成の一部として、キャッシュ保存と Cloud CDN を有効にします。バックエンド サーバーが、静的レスポンスのキャッシュ保存に必要なレスポンス ヘッダーを送信するように構成されていることを確認してください。
HTTPS が不要な場合は HTTP を使用する
Google では、パケットレベルでプロキシ ロードバランサとバックエンド間のトラフィックを自動的に暗号化します。ほとんどの場合、パケットレベルの暗号化では、ロードバランサとバックエンドの間で HTTPS を使用してレイヤ 7 の暗号化が行われます。ロードバランサとバックエンド間のトラフィックには、HTTPS や HTTP/2 ではなく HTTP を使用することを検討してください。HTTP を使用することで、バックエンド VM の CPU 使用率も低減できます。ただし、バックエンドがインターネット ネットワーク エンドポイント グループ(NEG)の場合は、ロードバランサとバックエンド間のトラフィックに HTTPS または HTTP/2 を使用します。これにより、公共のインターネット上でトラフィックが保護されます。最適なパフォーマンスを得るため、アプリケーションのトラフィック パターンをベンチマークすることをおすすめします。
Network Intelligence Center
Google Cloud Network Intelligence Center では、すべてのリージョンにわたって Google Cloud ネットワークのパフォーマンスを包括的に確認できます。Network Intelligence Center は、レイテンシの問題がプロジェクトまたはネットワークの問題が原因であるかどうかの判断に役立ちます。この情報を使用して、ワークロードをデプロイするリージョンとゾーンを選択し、ネットワーク パフォーマンスを最適化することもできます。
Network Intelligence Center に備わっている次のツールを使用し、Google Cloud のワークロードのネットワーク パフォーマンスをモニタリングして分析します。
パフォーマンス ダッシュボードには、Google Cloud リージョン間、およびインターネット上の個々のリージョンとロケーション間のレイテンシが表示されます。パフォーマンス ダッシュボードは、最適なレイテンシでどこにワークロードを配置するかを決定し、基盤となるネットワークの問題によってアプリケーションの問題を引き起こしている可能性があるタイミングを判断するのに役立ちます。
ネットワーク トポロジでは、Virtual Private Cloud(VPC)ネットワーク、オンプレミス ネットワークとのハイブリッド接続、Google マネージド サービスへの接続が視覚的に表示されます。ネットワーク トポロジは、ネットワーク パフォーマンスを分析して理解し、異常なトラフィック パターンの識別に使用できるリアルタイムの運用指標を提供します。
ネットワーク アナライザは、自動構成モニタリングおよび診断ツールです。ファイアウォール ルールの VPC ネットワーク構成、ルート、構成の依存関係、サービスとアプリケーションの接続性を検証します。ネットワーク障害を特定し、根本原因を分析して推奨事項を提示する作業をサポートします。ネットワーク アナライザは、ネットワーク構成の問題(サブネット内の IP アドレスの使用率が高いなど)の分析に役立つ、優先順位付けされた分析情報を提供します。
API Gateway と Apigee
このセクションでは、API Gateway と Apigee を使用して、Google Cloud にデプロイされる API のパフォーマンスを最適化をサポートする推奨事項を示します。
API Gateway を使用すると、Cloud Run 関数、Cloud Run、App Engine などの Google Cloud サーバーレス バックエンド向けの API を作成して管理できます。これらのサービスはマネージド サービスであり、自動的にスケールします。ただし、これらのサービスにデプロイされるアプリケーションがスケールされるため、API Gateway の割り当てとレート上限を引き上げる必要があります。
Apigee には、マネージド API のパフォーマンスのモニタリングに役立つ次の分析ダッシュボードが用意されています。
- API プロキシ パフォーマンス ダッシュボード: API プロキシのトラフィック パターンと処理時間をモニタリングします。
- ターゲット パフォーマンス ダッシュボード: API プロキシ バックエンド ターゲットのトラフィック パターンとパフォーマンス指標を可視化します。
- キャッシュ パフォーマンス ダッシュボード: Apigee のキャッシュのパフォーマンス指標(平均キャッシュ ヒット率やキャッシュに保存されている平均時間など)をモニタリングします。
Apigee Integration を使用している場合は、インテグレーションを構築および管理する際に、システム構成の上限を考慮してください。
次のステップ
コンピューティング リソース、ストレージ リソース、データベース リソース、分析リソースのパフォーマンスを最適化するためのベスト プラクティスを確認する。