

# PERF05-BP02 使用可能なネットワーク機能を評価する
<a name="perf_select_network_evaluate_features"></a>

パフォーマンスの向上に役立つ可能性のあるクラウドのネットワーク機能を評価します。これらの機能の影響を、テスト、メトリクス、および分析を使って測定してください。たとえば、レイテンシー、パケット損失、ジッターを低減するために利用可能なネットワークレベルの機能を活用することができます。

多くのサービスはパフォーマンスを向上させるために作成され、他のサービスはネットワークパフォーマンスを最適化するための機能を提供するのが一般的です。AWS Global Accelerator および Amazon CloudFront などのサービスは、パフォーマンスの向上のために用意されています。一方、ほとんどの他のサービスには、ネットワークトラフィックを最適化するという製品機能があります。ワークロードのパフォーマンス向上のために、EC2 インスタンスネットワーク機能、拡張ネットワーキングインスタンスタイプ、Amazon EBS 対応インスタンス、Amazon S3 Transfer Acceleration、および CloudFront などのサービス機能を確認してください。

**期待される成果:** ワークロード内のコンポーネントのインベントリを文書化し、コンポーネントごとにどのネットワーク構成がパフォーマンス要件を満たすのに役立つかを特定しました。ネットワーク機能を評価した後で、パフォーマンスメトリクスを実験および測定し、利用可能な機能をどのように使用するかを確認しました。。

**一般的なアンチパターン:** 
+ エンドユーザーに近い AWS リージョン ではなく、本社に最も近い AWS リージョン にワークロードを配置する。
+ ワークロードパフォーマンスのベンチマークや、ベンチマークに対する継続的なワークロードパローマンスの評価に失敗する。
+ パフォーマンス改善オプションのサービス設定を確認しない。

**このベストプラクティスを活用するメリット:** すべてのサービス機能とオプションを評価することにより、ワークロードパローマンスを向上させ、インフラストラクチャのコストを削減し、ワークロードを維持するために必要な労力を減らし、全体的なセキュリティ体制を強化できます。グローバルな AWS のバックボーンを活用すれば、最適なネットワークエクスペリエンスをお客様に提供することができます。

**このベストプラクティスを活用しない場合のリスクレベル:** 高 

## 実装のガイダンス
<a name="implementation-guidance"></a>

ネットワーク関連の設定オプションにはどのようなものがあるか、またそれらがワークロードにどのような影響を与えるかを確認します。これらのオプションがアーキテクチャとどのように相互作用し、測定されたパフォーマンスとユーザーが認識するパフォーマンスの両方に与える影響を理解することは、パフォーマンスの最適化にとって非常に重要です。

**実装手順:** 

1. ワークロードコンポーネントのリストを作成します。

   1. 組織のネットワークを [AWS クラウド WAN を使用して](https://aws.amazon.com/cloud-wan/)構築、管理、モニタリングします。

   1. ネットワークを可視化するために [Network Manager](https://docs.aws.amazon.com/vpc/latest/tgwnm/what-is-network-manager.html) を使用します。既存の設定管理データベース (CMDB) ツール ( [AWS Config](https://aws.amazon.com/config/) など) を使用して、ワークロードや設定方法のインベントリを作成します。

1. これが既存のワークロードである場合、ボトルネックや改善すべき領域に特化して、パフォーマンスメトリクスのベンチマークを特定し、文書化します。パフォーマンスに関連するネットワークメトリクスは、ビジネス要件やワークロード特性により、ワークロードごとに異なります。最初のうちは、帯域幅、レイテンシー、パケットロス、ジッター、再送信などのメトリックスを確認することが重要かもしれません。

1. これが新しいワークロードである場合は、 [負荷テスト](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) を実施して、パフォーマンスのボトルネックを特定します。

1. 特定したパフォーマンスのボトルネックに対して、ソリューションの設定オプションを確認し、パフォーマンス改善の機会を見つけます。

1. ネットワークパスやルートが分からない場合は、 [Network Access Analyzer](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/what-is-vaa.html) を使用して特定します。

1. ネットワークプロトコルを確認して、さらにレイテンシーを減らします。
   + [PERF05-BP05 パフォーマンスを高めるネットワークプロトコルを選択する](perf_select_network_protocols.md) 

1. 複数のロケーションで AWS Site-to-Site VPN を使用して AWS リージョン に接続している場合は、 [高速 Site-to-Site VPN 接続](https://docs.aws.amazon.com/vpn/latest/s2svpn/accelerated-vpn.html) を確認して、ネットワークパフォーマンス向上のための機会を調べます。

1. ワークロードトラフィックが複数のアカウントにまたがっている場合は、ネットワークトポロジとサービスを評価して、レイテンシーを削減します。
   + 複数のアカウントに接続する際は、 [VPC ピアリング](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) と [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/) 間の、運用とパフォーマンスに関するトレードオフを評価します。AWS Transit Gateway は、AWS Site-to-Site VPN スループットをサポートしており、マルチパスを使用することにより、単一の [最大 IPsec 制限](https://aws.amazon.com/blogs/networking-and-content-delivery/scaling-vpn-throughput-using-aws-transit-gateway/) を超えてスケーリングします。Amazon VPC と AWS Transit Gateway 間のトラフィックはプライベート AWS ネットワーク上に残り、インターネットには公開されません。AWS Transit Gateway は、数千の AWS アカウント やオンプレミスネットワークにまたがるすべての VPC を相互接続する方法を簡素化します。複数のアカウント間で AWS Transit Gateway を共有するには、 [Resource Access Manager](https://aws.amazon.com/ram/) を使用します。グローバルネットワークトラフィックを可視化するには、 [Network Manager](https://aws.amazon.com/transit-gateway/network-manager/) を使用してネットワークメトリクスを一元的に把握することができます。

1. ユーザーロケーションを確認し、ユーザーとワークロードとの間の距離を最短化します。

   1. [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) は、Amazon Web Services グローバルネットワークインフラストラクチャを使用して、ユーザーのトラフィックのパフォーマンスを最大 60% まで向上するネットワークサービスです。インターネットが混雑している際には、AWS Global Accelerator は、アプリケーションへのパスを最適化して、パケット損失、ジッター、レイテンシーを一貫して低く保ちます。また、静的な IP アドレスを提供するため、DNS 設定の更新やクライアント向けアプリケーションの変更なしに、アベイラビリティゾーンや AWS リージョン 間でエンドポイントを簡単に移動させることができます。

   1. [Amazon CloudFront](https://aws.amazon.com/cloudfront/) を利用することで、ワークロードのコンテンツ配信のパフォーマンスとレイテンシーをグローバルに向上させることができます。CloudFront は 410 以上のグローバルに分散したプレゼンスポイントがあり、コンテンツをキャッシュし、エンドユーザーに対してレイテンシーを減らすことができます。

   1. Amazon Route 53 では、 [レイテンシーベースルーティング](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-latency.html)、[位置情報ルーティング](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geo.html)、[地理的近接性ルーティング](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geoproximity.html)、および [IP ベースルーティング](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-ipbased.html) のオプションを提供しており、全世界ユーザーに対するワークロードのパフォーマンスを向上することができます。ワークロードトラフィックとユーザーロケーションを確認することにより、どのルーティングオプションによってワークロードパフォーマンスが最適化されるかを特定します。

1. 追加の Amazon S3 機能を評価してストレージ IOP を改善します。

   1.  [Amazon S3 Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration/) により、外部ユーザーは、Amazon S3 にデータをアップロードする際に CloudFront のネットワーク最適化機能のメリットを享受できます。これにより、AWS クラウド への専用接続がないリモートロケーションから大量のデータを転送する機能が向上します。

   1.  [Amazon S3 マルチリージョンアクセスポイント](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPoints.html) は、1 つのアクセスポイントを提供することにより、複数のリージョンへコンテンツをレプリケートし、ワークロードを簡素化します。マルチリージョンアクセスポイントが使用されている場合、低レイテンシーバケットを特定するサービスによって、データを要求したり Amazon S3 に書き込むことができます。

1. コンピューティングリソースのネットワーク帯域幅を確認します。

   1. EC2 インスタンス、コンテナ、および Lambda 機能が使用する Elastic Network Adapters (ENA) は、フロ―単位で制限されています。プレイスメントグループを見直して、 [EC2 ネットワークスループット](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html)を最適化します。フロー単位でのボトルネックを避けるために、複数フローを使用できるようアプリケーションを設計します。コンピューティング関連のネットワークメトリクスをモニタリングおよび可視化するために、 [CloudWatch Metrics](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-network-bandwidth.html) と [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html) を使用します。`ethtool` は ENA ドライバーに含まれており、追加のネットワーク関連のメトリクスを公開します。これらは、 [カスタムメトリクス](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) として CloudWatch に発行できます。

   1. 新しい EC2 インスタンスでは、拡張ネットワーキングを利用できます。[N シリーズの EC2 インスタンス](https://aws.amazon.com/ec2/nitro/)( `M5n` と `M5dn` など) は、第 4 世代カスタム Nitro Card を活用して、最大 100 Gbps のネットワークスループットを 1 つのインスタンスに配信します。これらのインスタンスは 4 倍のネットワーク帯域幅とパケットプロセスを提供するため、ベース `M5` インスタンスと比べて、ネットワーク集約型のアプリケーションに最適です。

   1. [Amazon Elastic Network Adapters](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) (ENA) は、インスタンスに対してより良いスループットを [クラスタープレイスメントグループ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html#placement-groups-cluster%23placement-groups-limitations-cluster)内で提供することにより、さらなる最適化をもたらします。

   1. [Elastic Fabric Adapter](https://aws.amazon.com/hpc/efa/) (EFA) は、高いレベルのインターノードコミュニケーションを AWS で大規模に要求するワークロードの実行を可能にする、Amazon EC2 インスタンスのネットワークインターフェイスです。EFA では、メッセージパッシングインターフェイス (MPI) を使用するハイパフォーマンスコンピューティング (HPC) アプリケーションと、NVIDIA Collective Communications Library (NCCL) を使用する機械学習 (ML) アプリケーションを、数千個に及ぶ CPU または GPU にスケールできます。

   1. [Amazon EBS 最適化](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) インスタンスは、最適化された設定スタックを使用し、Amazon EBS I/O を増加させるために専用の追加容量を提供します。この最適化により、Amazon EBS I/O とインスタンスからのその他のトラフィック間の競合を最小限に抑えることで、EBS ボリュームで最良のパフォーマンスを実現します。

**実装計画に必要な工数レベル: **

このベストプラクティスを確立するには、ネットワークパフォーマンスに影響を与える現在のワークロードコンポーネントのオプションを把握している必要があります。コンポーネントの収集、ネットワーク改善オプションの評価、実験、実装、およびこれらの改善の文書化には、 *低* ～ *中* 程度の工数が必要です。

## リソース
<a name="resources"></a>

 **関連ドキュメント:** 
+  [Amazon EBS – 最適化インスタンス](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Amazon EC2 インスタンスのネットワーク帯域幅](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html) 
+  [Linux での EC2 拡張ネットワーキング](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Windows での EC2 拡張ネットワーキング](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [EC2 プレイスメントグループ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [Linux インスタンスで Elastic Network Adapter (ENA) を使用して拡張ネットワークを有効にする](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [AWS のネットワーク製品](https://aws.amazon.com/products/networking/) 
+  [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [Amazon Route 53 でレイテンシーベースルーティングへ移行する](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [VPC エンドポイント](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [VPC フローログ](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [クラウド CMDB の構築](https://aws.amazon.com/blogs/mt/building-a-cloud-cmdb-on-aws-for-consistent-resource-configuration-in-hybrid-environments/) 
+  [AWS Transit Gateway を使用したVPN スループットのスケーリング](https://aws.amazon.com/blogs/networking-and-content-delivery/scaling-vpn-throughput-using-aws-transit-gateway/) 

 **関連動画:** 
+  [Connectivity to AWS and hybrid AWS network architectures (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [AWS Global Accelerator](https://www.youtube.com/watch?v=lAOhr-5Urfk) 

 **関連する例:** 
+  [AWS Transit Gateway and Scalable Security Solutions](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS Networking Workshops](https://networking.workshop.aws/) 