

# Amazon EC2 インスタンスのネットワーク帯域幅
<a name="ec2-instance-network-bandwidth"></a>

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

**マルチフロートラフィック**  
トラフィックがインターネットゲートウェイまたは[ローカルゲートウェイ](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-local-gateways.html)を通過する場合、マルチフロートラフィックに使用できる帯域幅はインスタンスタイプによって異なります。


| インスタンスのタイプ | 使用可能な帯域幅 | 
| --- | --- | 
| vCPU が 32 未満のインスタンスタイプ | 5 Gbps に制限 | 
| vCPU が 32 を超えるインスタンスタイプ | インスタンスタイプで使用可能な帯域幅の 50% に制限 | 
| C8in、C8ine、M8in、M8ine、R8in インスタンス | インスタンスタイプのベースライン帯域幅に制限 | 

**シングルフロートラフィック**  
インスタンスが同じ[クラスタープレイスメントグループ](placement-strategies.md#placement-groups-cluster)にない場合、シングルフロートラフィックの帯域幅は 5 Gbps に制限されます。レイテンシーを減らし、シングルフロー帯域幅を増やすには以下のいずれかをお試しください。
+ クラスタープレイスメントグループを使用すると、同じプレイスメントグループ内のインスタンスで最大 10 Gbps の帯域幅を実現できます。
+ または任意の 2 つのエンドポイント間に複数のパスを設定することで、Multipath TCP (MPTCP) を使用して高帯域幅を実現できます。
+ 同じアベイラビリティーゾーン内の対象インスタンスに ENA Express を設定して、それらのインスタンス間で最大 25 Gbps を実現します。

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

## 使用可能なインスタンスの帯域幅
<a name="available-instance-bandwidth"></a>

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

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

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

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

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

「*Amazon EC2 Instance Types ガイド*」では各インスタンスタイプのネットワークパフォーマンスに加え、バースト帯域幅を使用できるインスタンスで利用可能な、ベースラインネットワーク帯域幅について説明しています。詳細については次を参照してください:
+ [ネットワーク仕様 — 汎用](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html#gp_network)
+ [ネットワーク仕様 — コンピューティング最適化](https://docs.aws.amazon.com/ec2/latest/instancetypes/co.html#co_network)
+ [ネットワーク仕様 — メモリ最適化](https://docs.aws.amazon.com/ec2/latest/instancetypes/mo.html#mo_network)
+ [ネットワーク仕様 — ストレージ最適化](https://docs.aws.amazon.com/ec2/latest/instancetypes/so.html#so_network)
+ [ネットワーク仕様 — 高速コンピューティング](https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html#ac_network)
+ [ネットワーク仕様 — ハイパフォーマンスコンピューティング](https://docs.aws.amazon.com/ec2/latest/instancetypes/hpc.html#hpc_network)
+ [ネットワーク仕様 — 旧世代](https://docs.aws.amazon.com/ec2/latest/instancetypes/gp.html#pg_network)

あるいはコマンドラインツールを使用して、この情報を取得することもできます。Amazon EC2 コンソールには、インスタンスタイプのベースラインネットワーク帯域幅は表示されません。

------
#### [ AWS CLI ]

 [describe-instance-types](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-types.html) マンドを使用して、インスタンスタイプに関する情報を表示できます。次の例ではすべての 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](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceType.html) 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
```

------

## インスタンスの帯域幅をモニタリングします。
<a name="monitor-instance-bandwidth"></a>

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

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

**詳細情報**
+ [インスタンスメトリクス](viewing_metrics_with_cloudwatch.md#ec2-cloudwatch-metrics)
+ [ネットワークパフォーマンスのモニタリング](monitoring-network-performance-ena.md)