PERF04-BP06 ネットワーク要件に基づいてワークロードのロケーションを選択する
ネットワークのレイテンシー短縮、スループット向上、ページの読み込み時間とデータ転送時間の短縮による最適なユーザーエクスペリエンス提供に向けて、リソースプレイスメントのオプションを評価します。
一般的なアンチパターン:
-
すべてのワークロードリソースを 1 つの地理的場所に統合する。
-
ワークロードのエンドユーザーではなく、自分の所在地に最も近いリージョンを選んでいる。
このベストプラクティスを活用するメリット: ユーザーエクスペリエンスは、ユーザーとアプリケーションの間のレイテンシーの影響を大きく受けます。適切な AWS リージョン と AWS のプライベートなグローバルネットワークを使用することで、レイテンシ―を減らし、リモートユーザーにより良いエクスペリエンスを提供できます。
このベストプラクティスを活用しない場合のリスクレベル: 中
実装のガイダンス
Amazon EC2 インスタンスなどのリソースは、 AWS リージョン
Amazon EC2 にはネットワーク用のプレイスメントグループが用意されています。プレイスメントグループは、レイテンシーを減らすためにインスタンスを論理的にグループ化したものです。サポートされているインスタンスタイプを使ったプレイスメントグループと Elastic Network Adapter (ENA) を使用することにより、ワークロードを低レイテンシー、低ジッターの 25 Gbps ネットワークに参加させることができます。プレイスメントグループは、低ネットワークレイテンシー、高ネットワークスループット、またはその両方からメリットを得るワークロードに推奨されます。
レイテンシーの影響を受けやすいサービスは、AWS グローバルネットワークを使用してエッジロケーションで提供されます ( Amazon CloudFront
エッジサービスを使用してレイテンシーを低減し、コンテンツキャッシングを有効化します。これらのアプローチから最大限のメリットを得るために、DNS と HTTP/HTTPS の両方でキャッシュ制御を正しく設定してください。
実装手順
-
VPC のネットワークインターフェイスとの間で行き来する IP トラフィックに関する情報を把握します。
-
ワークロードのネットワークアクセスパターンを分析して、ユーザーがアプリケーションをどのように使用しているかを特定します。
-
ネットワーク活動に関するデータを収集するため、 Amazon CloudWatch
および AWS CloudTrail のようなツールを使用します。 -
データを分析して、ネットワークアクセスパターンを特定します。
-
-
以下の主な要素に基づいて、ワークロードのデプロイに適切なリージョンを選択します。
-
データの場所: 大量のデータを使用するアプリケーション (ビッグデータや機械学習など) では、アプリケーションコードをできるだけデータの近くで実行してください。
-
ユーザーの所在地: ユーザー向けアプリケーションの場合は、ワークロードのユーザーに近いリージョン (1 つまたは複数) を選択します。
-
その他の制約: 以下で説明されているように、コストやコンプライアンスなどの制約を考慮します。 What to Consider when Selecting a Region for your Workloads。
-
-
動画レンダリングのようなワークロードは、 AWS Local Zones
を使用して実行します。ローカルゾーンでは、エンドユーザーの近くにコンピューティングリソースやストレージリソースがあるというメリットが得られます。 -
オンプレミスに置いておく必要があるが、AWS にある他のワークロードとシームレスに連携させたいワークロードには、 AWS Outposts
を使用します。 -
高解像度ライブビデオストリーミング、Hi-Fi 音源、拡張現実および仮想現実 (AR/VR) などのアプリケーションでは、5G デバイス向けに超低レイテンシーが必要です。このようなアプリケーションについては、 AWS Wavelength
を検討します。AWS Wavelength は AWS のコンピューティングおよびストレージサービスを 5G ネットワーク内に組み込み、超低レイテンシーアプリケーションの開発、デプロイ、スケーリングのためのモバイルエッジコンピューティングインフラストラクチャを提供します。 -
ローカルキャッシュまたは AWS キャッシュソリューション
を、頻繁に使用するアセットに使用すると、パフォーマンスを向上させ、データ移動を削減し、環境への影響を低減できます。 サービス 使用する状況 画像、スクリプト、動画などの静的コンテンツだけでなく、API 応答やウェブアプリケーションなどの動的コンテンツのキャッシュに使用します。
ウェブアプリケーションのコンテンツをキャッシュします。
DynamoDB テーブルにインメモリアクセラレーションを追加します。
-
以下のように、ワークロードのユーザーの近くでコードを実行できるサービスを使用します。
サービス 使用する状況 オブジェクトがキャッシュにないときに開始される、コンピューティング負荷の高いオペレーションに使用します。
HTTP リクエストまたはレスポンス操作など、短時間実行の関数で実行できるシンプルなユースケースに使用します。
接続されたデバイスのローカルコンピューティング、メッセージング、データキャッシュを実行します。
-
アプリケーションによっては、最初のバイトのレイテンシーとジッターを低減してスループットを向上することによる、固定エントリポイントまたはより高いパフォーマンスが必要となります。これらのアプリケーションは、静的なエニーキャスト IP アドレスとエッジロケーションでの TCP ターミネーションを提供するネットワークサービスの恩恵を受けることができます。AWS Global Accelerator
を使用すると、アプリケーションのパフォーマンスを最大 60% 向上させ、マルチリージョンアーキテクチャの迅速なフェイルオーバーを実現できます。AWS Global Accelerator では、1 つまたは複数の AWS リージョンでホストされるアプリケーションの固定エントリポイントとして機能する静的エニーキャスト IP アドレスを利用できます。このような IP アドレスを使用すると、トラフィックはユーザーのできるだけ近くの AWS グローバルネットワークに入ることができます。AWS Global Accelerator は、クライアントとクライアントに最も近い AWS エッジロケーションの間で TCP 接続を確立することにより、初期接続設定時間を短縮します。TCP/UDP ワークロードのパフォーマンス向上、マルチリージョンアーキテクチャの迅速なフェイルオーバーを実現するには、AWS Global Accelerator の使用を検討します。
リソース
関連するベストプラクティス:
関連するドキュメント:
関連動画:
-
AWS re:Invent 2021 - AWS Outposts: Bringing the AWS experience on premises
-
AWS re:Invent 2020: AWS Wavelength: Run apps with ultra-low latency at 5G edge
-
AWS re:Invent 2022 - AWS Local Zones: Building applications for a distributed edge
-
AWS re:Invent 2021 - Building low-latency websites with Amazon CloudFront
-
AWS re:Invent 2022 - Improve performance and availability with AWS Global Accelerator
-
AWS re:Invent 2022 - Build your global wide area network using AWS
-
AWS re:Invent 2020: Global traffic management with Amazon Route 53
関連する例: