Amazon EC2 インスタンスのネットワーク帯域幅 - Amazon Elastic Compute Cloud

Amazon EC2 インスタンスのネットワーク帯域幅

インスタンスの帯域幅の仕様は、インスタンスのインバウンドトラフィックとアウトバウンドトラフィックの両方に適用されます。例えば、インスタンスが最大 10 Gbps の帯域幅を指定した場合、インバウンドトラフィックには最大 10 Gbps、アウトバウンドトラフィックには最大 10 Gbps の帯域幅になります。EC2 インスタンスで使用できるネットワーク帯域幅は、次のようにいくつかの要因によって異なります。

マルチフロートラフィック

マルチフロートラフィックのベースライン帯域幅は、インターネットゲートウェイまたはローカルゲートウェイを通過するトラフィックの使用可能な帯域幅の 50% に制限されます。

シングルフロートラフィック

インスタンスが同じクラスタープレイスメントグループにない場合、シングルフロートラフィックのベースライン帯域幅は 5 Gbps に制限されます。レイテンシーを減らし、シングルフロー帯域幅を増やすには、以下のいずれかをお試しください。

  • クラスタープレイスメントグループを使用すると、同じプレイスメントグループ内のインスタンスで最大 10 Gbps の帯域幅を実現できます。

  • または、任意の 2 つのエンドポイント間に複数のパスを設定することで、Multipath TCP (MPTCP) を使用して高帯域幅を実現できます。

  • 同じアベイラビリティーゾーン内の対象インスタンスに ENA Express を設定して、それらのインスタンス間で最大 25 Gbps を実現します。

注記

シングルフローは、一意の 5 タプル TCP または UDP フローと見なされます。IP ヘッダーに続く他のプロトコル (GREIPsec など) では、送信元 IP、送信先 IP、次のプロトコルの 3 つのタプルを使用してフローを定義します。

使用可能なインスタンスの帯域幅

使用可能なインスタンスのネットワーク帯域幅は、その vCPU の数によって異なります。例えば、m5.8xlarge インスタンスには 32 個の vCPU と 10 Gbps のネットワーク帯域幅があり、m5.16xlarge インスタンスには 64 個の vCPU と 20 Gbps のネットワーク帯域幅があります。ただし、インスタンスがこの帯域幅を達成できない場合があります。例えば、インスタンスレベルでネットワーク許容量 (1 秒あたりのパケット数や追跡される接続数など) を超えた場合などです。トラフィックが使用できる帯域幅の量は、vCPUsの数と宛先によって異なります。例えば、m5.16xlarge インスタンスは 64 vCPUs のため、リージョン内の別のインスタンスへのトラフィックは、使用可能な全帯域幅 (20 Gbps) を利用できます。ただし、インターネットゲートウェイまたはローカルゲートウェイを通過するトラフィックは、使用可能な帯域幅の 50% (10 Gbps) しか利用できません。

通常、vCPU が 16 個以下のインスタンス (サイズ 4xlarge 以下) の場合、指定の帯域幅に「最大」と文書化されています。例えば、最大 10 Gbpsなどです。これらのインスタンスには、ベースライン帯域幅があります。追加需要を満たすために、ネットワーク I/O クレジットメカニズムを使用して、ベースライン帯域幅を超えてバーストすることができます。インスタンスは、インスタンスのサイズに応じて、バースト帯域幅を限られた期間 (通常は 5~60 分) 使用できます。

インスタンスは、起動時にネットワーク I/O クレジットの最大数を受け取ります。インスタンスがネットワーク I/O クレジットを使い果たすと、ベースライン帯域幅に戻ります。実行中のインスタンスは、ベースライン帯域幅よりも少ないネットワーク帯域幅を使用するたびに、ネットワーク I/O クレジットを取得します。停止したインスタンスは、ネットワーク I/O クレジットを取得しません。バースト帯域幅は共有リソースであるため、インスタンスにクレジットが使用可能な場合でも、インスタンスのバーストはベストエフォートベースで行われます。

インバウンドトラフィックとアウトバウンドトラフィックには個別のネットワーク I/O クレジットバケットがあります。

ベースおよびバーストネットワークパフォーマンス

「Amazon EC2 Instance Types ガイド」では、各インスタンスタイプのネットワークパフォーマンスに加え、バースト帯域幅を使用できるインスタンスで利用可能な、ベースラインネットワーク帯域幅について説明しています。詳細については、次を参照してください:

あるいは、コマンドラインツールを使用して、この情報を取得することもできます。

AWS CLI

describe-instance-types AWS CLI コマンドを使用して、インスタンスタイプに関する情報を表示できます。次の例では、すべての C5 インスタンスのネットワークパフォーマンス情報を表示します。

aws ec2 describe-instance-types \ --filters "Name=instance-type,Values=c5.*" \ --query "InstanceTypes[].[InstanceType, NetworkInfo.NetworkPerformance, NetworkInfo.NetworkCards[0].BaselineBandwidthInGbps] | sort_by(@,&[2])" \ --output table

以下は出力例です。出力にベースライン帯域幅がない場合は、AWS CLI の最新バージョンに更新します。

--------------------------------------------- | DescribeInstanceTypes | +--------------+--------------------+-------+ | c5.large | Up to 10 Gigabit | 0.75 | | c5.xlarge | Up to 10 Gigabit | 1.25 | | c5.2xlarge | Up to 10 Gigabit | 2.5 | | c5.4xlarge | Up to 10 Gigabit | 5.0 | | c5.9xlarge | 12 Gigabit | 12.0 | | c5.12xlarge | 12 Gigabit | 12.0 | | c5.18xlarge | 25 Gigabit | 25.0 | | c5.24xlarge | 25 Gigabit | 25.0 | | c5.metal | 25 Gigabit | 25.0 | +--------------+--------------------+-------+
PowerShell

Get-EC2InstanceType PowerShell コマンドを使用して、インスタンスタイプに関する情報を表示できます。次の例では、すべての C5 インスタンスのネットワークパフォーマンス情報を表示します。

Get-EC2InstanceType -Filter @{Name = "instance-type"; Values = "c5.*" } | ` Select-Object ` InstanceType, @{Name = 'NetworkPerformance'; Expression = {($_.Networkinfo.NetworkCards.NetworkPerformance)}}, @{Name = 'BaselineBandwidthInGbps'; Expression = {($_.Networkinfo.NetworkCards.BaselineBandwidthInGbps)}} | ` Format-Table -AutoSize

以下は出力例です。

InstanceType NetworkPerformance BaselineBandwidthInGbps ------------ ------------------ ----------------------- c5.4xlarge Up to 10 Gigabit 5.00 c5.xlarge Up to 10 Gigabit 1.25 c5.12xlarge 12 Gigabit 12.00 c5.9xlarge 12 Gigabit 12.00 c5.24xlarge 25 Gigabit 25.00 c5.metal 25 Gigabit 25.00 c5.2xlarge Up to 10 Gigabit 2.50 c5.large Up to 10 Gigabit 0.75 c5.18xlarge 25 Gigabit 25.00

インスタンスの帯域幅をモニタリングします。

CloudWatch メトリクスを使用して、インスタンスのネットワーク帯域幅と送受信されたパケットをモニタリングできます。Elastic Network Adapter (ENA) ドライバーが提供するネットワークパフォーマンスメトリクスを使用して、トラフィックが Amazon EC2 がインスタンスレベルで定義するネットワーク許容量を超えるかモニタリングできます。

Amazon EC2 がインスタンスのメトリクスデータを CloudWatch に送信するときに、1 分単位か 5 分単位かを設定できます。CloudWatch インスタンスメトリクスでは、許容量を超え、パケットがドロップされたことがネットワークパフォーマンスメトリクスに表示されることがあります。これは、インスタンスのネットワークリソースに対する需要が短時間で急増し (マイクロバーストと呼ばれる)、CloudWatch メトリクスがこのようなマイクロ秒単位の急増を反映するのに十分な粒度を持っていない場合に発生します。