

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 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)時，多流量流量的可用頻寬取決於執行個體類型。


| 執行個體類型 | 可用的頻寬 | 
| --- | --- | 
| 少於 32 個 vCPUs執行個體類型 | 限制為 5 Gbps | 
| 超過 32 個 vCPUs執行個體類型 | 限制為執行個體類型可用頻寬的 50% | 
| C8in、C8ine、M8in、M8ine、M8idn、R8in、R8idn 執行個體 | 僅限於執行個體類型的基準頻寬 | 

**單一流量**  
當執行個體不在相同的[叢集置放群組](placement-strategies.md#placement-groups-cluster)中時，單一流量流量的頻寬限制為 5 Gbps。若要降低延遲並增加單一流量頻寬，請嘗試下列其中一項：
+ 使用集群放置群組可為相同置放群組中的執行個體實現最高 10 Gbps 的頻寬。
+ 在兩個端點之間設定多個路徑，以使用多重路徑 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 的網路頻寬。然而，如果執行個體超過執行個體層級的網路限額 (例如每秒封包數或追蹤連線數)，則執行個體可能無法達到此頻寬。流量可以利用的可用頻寬大小取決於 vCPU 的數目和目標。例如，`m5.16xlarge` 執行個體具有 64 個 vCPU，因此區域中到另一個執行個體的流量可以利用完整的可用頻寬 (20 Gbps)。不過，經過網際網路閘道或[本機閘道](https://docs.aws.amazon.com/outposts/latest/userguide/outposts-local-gateways.html)的流量只能使用 50% 的可用頻寬 (10 Gbps)。

通常，具有 16 個或更少 vCPU 的執行個體 (大小為 `4xlarge` 和更小) 會被記錄為具有「高達」指定的頻寬。例如，「高達 10 Gbps」。這些執行個體具有基準頻寬。若要滿足其他需求，他們可使用網路輸入/輸出額度機制，以實現超越基準頻寬的高載頻寬。執行個體可以在有限的時間內使用高載頻寬 (通常是 5 到 60 分鐘)，具體取決於執行個體大小。

執行個體在啟動時會收到最大的網路輸入/輸出額度數。如果執行個體耗盡其網路輸入/輸出額度，則會返回其基準頻寬。每當執行中的執行個體使用的網路頻寬比其基準頻寬少，就會獲得網路輸入/輸出額度。已停止的執行個體不會獲得網路輸入/輸出額度。由於高載頻寬是共用資源，所以即使執行個體具有可用額度，執行個體高載仍只會是盡量實現。

傳入和傳出流量有單獨的網路 I/O 額度儲存貯體。

**基本和高載網路效能**

下列 *Amazon EC2 執行個體類型指南*說明每一個執行個體類型的網路效能，以及可使用高載頻寬的執行個體可用的基準網路頻寬。如需詳細資訊，請參閱下列內容：
+ [網路規格 – 一般用途](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 指標來監控執行個體的網路頻寬，以及傳送和接收的封包。當流量超過 Amazon EC2 在執行個體層級定義的網路允許時，可以使用彈性網路轉接器 (ENA) 驅動程式提供的網路效能指標進行監控。

您可以設定 Amazon EC2 是否每一分鐘或每五分鐘將執行個體的指標資料傳送到 CloudWatch。網路效能指標可能會顯示超過允許值並且捨棄封包，而 CloudWatch 執行個體指標則不會顯示。當執行個體對網路資源的需求短暫突增 (稱為微爆量)，但 CloudWatch 指標不足以反映這些微秒級峰值時，就會發生這種情況。

**進一步了解**
+ [執行個體指標](viewing_metrics_with_cloudwatch.md#ec2-cloudwatch-metrics)
+ [監控網路效能](monitoring-network-performance-ena.md)