在 Windows 執行個體上使用彈性網路轉接器 (ENA) 以啟用增強型網路 - Amazon Elastic Compute Cloud

Windows 執行個體上使用彈性網路轉接器 (ENA) 以啟用增強型網路

Amazon EC2 會透過彈性網路轉接器 (ENA) 提供增強型聯網功能。若要使用增強型聯網,您必須安裝必要的 ENA 模組,並啟用 ENA 支援。

要求

若要準備使用 ENA 介面的增強型聯網,請依下列方式設定您的執行個體:

  • 使用最新一代的執行個體類型來啟動執行個體,但小於 m4.16xlarge 或 T2 的 C4、D2、M4 執行個體除外。

  • 如果執行個體正在執行 Windows 伺服器 2008 R2 SP1,請確定已有 SHA-2 程式碼簽署支援更新

  • 確定該執行個體具有網際網路連線能力。

  • 使用 AWS Management Console 中的 AWS CloudShell,或在您選擇的任何電腦上安裝或設定 AWS CLIAWS Tools for Windows PowerShell,最好是您本機桌上型電腦或筆記型電腦。如需詳細資訊,請參閱 存取 Amazon EC2AWS CloudShell 使用者指南。增強型聯網無法從 Amazon EC2 主控台管理。

  • 如果您的執行個體上有想要保留的重要資料,您現在應從執行個體建立 AMI,以備份這些資料。更新核心與核心模組,以及啟用 enaSupport 屬性,可能使執行個體變得不相容或使作業系統變得無法連線。如果您有較新的備份,發生這些狀況時資料便能獲得保留。

增強型聯網:效能

下列文件提供支援 ENA 增強型聯網之執行個體類型的網路效能摘要:

測試是否已啟用增強型網路

若要測試是否已啟用增強型聯網,請確認您的執行個體已安裝 驅動程式,且已設定 enaSupport 屬性

執行個體屬性 (enaSupport)

若要查看執行個體是否設定增強型聯網的 enaSupport 屬性,請使用下列其中一項命令。如果屬性已設定,回應為 true。

  • describe-instances (AWS CLI/AWS CloudShell)

    aws ec2 describe-instances --instance-ids instance_id --query "Reservations[].Instances[].EnaSupport"
  • Get-EC2Instance (Tools for Windows PowerShell)

    (Get-EC2Instance -InstanceId instance-id).Instances.EnaSupport

映像屬性 (enaSupport)

若要查看 AMI 是否設定增強型聯網的 enaSupport 屬性,請使用下列其中一項命令。如果屬性已設定,回應為 true。

  • describe-images (AWS CLI/AWS CloudShell)

    aws ec2 describe-images --image-id ami_id --query "Images[].EnaSupport"
  • Get-EC2Image (Tools for Windows PowerShell)

    (Get-EC2Image -ImageId ami_id).EnaSupport

啟用 Windows 上的增強型網路

如果您啟動執行個體,且其尚未啟用增強型聯網,您必須在執行個體上下載並安裝必要的網路轉接器驅動程式,然後設定 enaSupport 執行個體屬性,以啟動增強型聯網。您只能在支援的執行個體類型上啟用此屬性,且需先安裝 ENA 驅動程式。如需詳細資訊,請參閱 增強的網路支援

啟用增強型聯網

  1. 連線到您的執行個體,並以本機管理員登入。

  2. [僅限 Windows Server 2016 和更新版本] 安裝驅動程式後,執行下列 EC2Launch PowerShell 指令碼,以設定執行個體。

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeInstance.ps1 -Schedule
  3. 在執行個體上,安裝驅動程式,如下所示:

    1. 將最新的驅動程式下載到執行個體。

    2. 將 zip 封存檔解壓縮。

    3. 執行 install.ps1 PowerShell script 來安裝驅動程式。

      注意

      如果您收到執行政策錯誤,請將政策設定為 Unrestricted (預設設定為 RestrictedRemoteSigned)。在命令列中,執行 Set-ExecutionPolicy -ExecutionPolicy Unrestricted,然後再次執行 install.ps1 PowerShell 指令碼。

  4. 從本機電腦中,使用 Amazon EC2 主控台或下列其中一個命令來停止執行個體:stop-instances (AWS CLI/AWS CloudShell)、Stop-EC2Instance (AWS Tools for Windows PowerShell)。如果您的執行個體由 AWS OpsWorks 管理,您應該在 AWS OpsWorks 主控台中停止該執行個體,以便執行個體狀態保持同步。

  5. 在執行個體上啟用 ENA 支援,如下所示:

    1. 在本機電腦上,執行下列其中一個命令,查看執行個體上的 EC2 執行個體 ENA 支援屬性。如果此屬性未啟用,輸出會是「[]」或空白。EnaSupport 預設會設定為 false

      • describe-instances (AWS CLI/AWS CloudShell)

        aws ec2 describe-instances --instance-ids instance_id --query "Reservations[].Instances[].EnaSupport"
      • Get-EC2Instance (Tools for Windows PowerShell)

        (Get-EC2Instance -InstanceId instance-id).Instances.EnaSupport
    2. 若要啟用 ENA 支援,請執行下列其中一項命令:

      • modify-instance-attribute (AWS CLI/AWS CloudShell)

        aws ec2 modify-instance-attribute --instance-id instance_id --ena-support
      • Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)

        Edit-EC2InstanceAttribute -InstanceId instance_id -EnaSupport $true

      若重新啟動執行個體時發生問題,您也可使用下列其中一項命令來停用 ENA 支援。

      • modify-instance-attribute (AWS CLI/AWS CloudShell)

        aws ec2 modify-instance-attribute --instance-id instance_id --no-ena-support
      • Edit-EC2InstanceAttribute (AWS Tools for Windows PowerShell)

        Edit-EC2InstanceAttribute -InstanceId instance_id -EnaSupport $false
    3. 如先前所示,使用 truedescribe-instances,確認屬性已設定為 Get-EC2Instance。您現在應該會看到下列輸出:

      [ true ]
  6. 從本機電腦中,使用 Amazon EC2 主控台或下列其中一個命令來啟動執行個體:start-instances (AWS CLI/AWS CloudShell)、Start-EC2Instance (AWS Tools for Windows PowerShell)。如果您的執行個體由 AWS OpsWorks 管理,您應該使用 AWS OpsWorks 主控台啟動該執行個體,以便執行個體狀態保持同步。

  7. 在執行個體上,確認 ENA 驅動程式已安裝並啟用,如下所示:

    1. 用滑鼠右鍵按一下網路圖示,然後選擇 Open Network and Sharing Center (開啟網路和共用中心)

    2. 選擇乙太網路卡 (例如,Ethernet 2)。

    3. 請選擇 Details (詳細資訊)。針對 Network Connection Details (網路連線詳細資料),檢查 Description (描述) 是否為 Amazon Elastic Network Adapter (Amazon 彈性網路轉接器)

  8. (選擇性) 從執行個體建立 AMI。AMI 將從執行個體繼承 enaSupport 屬性。因此,您預設可用此 AMI 啟動其他啟用 ENA 的執行個體。如需詳細資訊,請參閱 建立自訂 Windows AMI

Amazon ENA 驅動程式版本

Windows AMI 包含 Amazon ENA 驅動程式,用於啟用增強型網路。

下表說明每個 Windows Server 版本的相應下載 ENA 驅動程式版本。

Windows Server 版本 ENA 驅動程式版本

Windows Server 2022

2.4.0 和更新版本

Windows Server 2019

最新

Windows Server 2016 最新
Windows Server 2012 R2 最新
Windows Server 2012 最新
Windows Server 2008 R2 2.2.3 和舊版

下表摘要說明各版本的變更。

驅動程式版本 詳細資訊 發行日期

2.4.0

新功能

  • 新增對 Windows Server 2022 的支援。

  • 移除對 Windows Server 2008 R2 的支援。

  • 將低延遲佇列 (LLQ) 設定為一律開啟,以改善第六代 Amazon EC2 執行個體的效能。

錯誤修正

  • 修復將網路效能指標發佈到 Windows 效能計數器 (PCW) 系統的故障問題。

  • 修復登錄機碼讀取操作期間的記憶體流失問題。

  • 防止在轉接器重設過程中發生無法復原的錯誤時,出現無限重設迴圈。

2022 年 4 月 28 日

2.2.4

公告

因第六代 EC2 執行個體的潛在效能下降,ENA Windows 驅動程式 2.2.4 版已回復。我們建議您使用下列其中一個方法,降級您的驅動程式:

  • 安裝舊版

    1. 從此表格中的連結下載舊版套件 (版本 2.2.3)。

    2. 執行 install.ps1 PowerShell 安裝指令碼。

    如需有關安裝前和安裝後步驟的詳情,請參閱 啟用 Windows 上的增強型網路

    使用 Amazon EC2 Systems Manager 進行大量更新

    • 透過 SSM 文件 AWS-ConfigureAWSPackage 執行大量更新,參數如下:

      • 名稱:AwsEnaNetworkDriver

      • 版本:2.2.3

2021 年 10 月 26 日

2.2.3

新功能

  • 新增對具有最高 400 Gbps 執行個體聯網之新 Nitro 卡的支援。

錯誤修正

  • 修正 ENA 驅動程式的系統時間變更與系統時間查詢之間的競爭條件,這會導致硬體無回應的誤判偵測。

Windows ENA 驅動程式 2.2.3 版是支援 Windows Server 2008 R2 的最後一個版本。Windows Server 2008 R2 會繼續支援使用 ENA 的目前可用執行個體類型,且驅動程式可供下載。未來執行個體類型不會支援 Windows Server 2008 R2,而且您無法將 Windows Server 2008 R2 啟動、匯入或遷移到未來執行個體類型。

2021 年 3 月 25 日

2.2.2

新功能

  • 針對 CloudWatch 和 Windows 消費者效能計數器所新增的支援,提供查詢網路轉接器效能指標的新功能。

錯誤修正

  • 修正裸機執行個體的效能問題。

2020 年 12 月 21 日

2.2.1

新功能

  • 新增方法以允許主機查詢彈性網路轉接器來取得網路效能指標。

2020 年 10 月 1 日

2.2.0

新功能

  • 新增對下一代硬體類型的支援。

  • 改善從停止休眠恢復之後的執行個體啟動時間,並消除誤判的 ENA 錯誤訊息。

效能最佳化

  • 最佳化傳入流量的處理。

  • 改善低資源環境中的共用記憶體管理。

錯誤修正

  • 避免在極少數情況下,驅動程式無法重設的 ENA 裝置移除時系統當機。

2020 年 8 月 12 日

2.1.5

錯誤修正

  • 修正裸機執行個體上偶發性的網路介面卡初始化失敗。

2020 年 6 月 23 日

2.1.4

錯誤修正

  • 預防因為來自網路堆疊的 LSO 封包中繼資料毀損而造成的連線問題。

  • 預防因為存取已釋放封包記憶體造成罕見競爭條件情況,而導致系統當機。

2019 年 11 月 25 日

2.1.2

新功能

  • 將支援新增至開發商 ID 報告以允許作業系統產生以 MAC 為基礎的 UUIDs。

錯誤修正

  • 在初始化期間改善 DHCP 網路組態效能。

  • 當最大傳輸單元 (MTU) 超過 4K 時,正確計算輸入 IPv6 流量的 L4 檢查總和。

  • 一般性改進增加穩定性和次要錯誤修正。

2019 年 11 月 4 日

2.1.1

錯誤修正
  • 防止從作業系統抵達的高度分散式 TCP LSO 封包卸下。

  • 適當處理 IPv6 網路中 IPSec 內的封裝安全承載 (ESP) 通訊協定。

2019 年 9 月 16 日

2.1.0

ENA Windows 驅動程式 2.1 版推出新的 ENA 裝置功能、提供效能加速、加入新功能,並包含多個穩定性改善。
  • 新功能

    • 對巨型訊框組態使用標準化的 Windows 登錄機碼。

    • 允許透過 ENA 驅動程式屬性 GUI 進行 VLAN ID 設定。

    • 改善復原流程

      • 改善失敗識別機制。

      • 已新增對可調整復原參數的支援。

    • 對具有 8 個以上 vCPU 的新 EC2 執行個體支援最多 32 個 I/O 佇列。

    • 驅動程式記憶體使用量減少最高達 90%。

  • 效能最佳化

    • 減少傳輸路徑延遲。

    • 支援接收檢查總和卸載。

    • 對負載繁重系統的效能最佳化 (鎖定機制的最佳化使用量)。

    • 進一步的增強可減少 CPU 使用量,並改善系統在負載下的回應能力。

  • 錯誤修正

    • 修正由於非接續 Tx 標頭無效的剖析造成的損毀。

    • 修正裸機執行個體上彈性網絡介面分離期間的驅動程式 1.5 版損毀。

    • 修正透過 IPv6 的 LSO 虛擬標頭檢查總和計算錯誤。

    • 修正初始化失敗時可能的記憶體資源流失。

    • 為 IPv4 區段停用 TCP/UDP 檢查總和卸載。

    • VLAN 組態的修正。在只應停用 VLAN 優先順序時,不正確地停用了 VLAN。

    • 啟用事件檢視器對自訂驅動程式訊息的正確剖析。

    • 由於無效的時間戳記處理,修正無法初始化驅動程式。

    • 修正資料處理與 ENA 裝置停用之間的競爭條件。

2019 年 7 月 1 日

1.5.0

  • 已提升穩定性並修正效能。

  • 在 ENA NIC 的 Advanced Properties (進階屬性) 中,您現在可以將 Receive Buffers (接收緩衝區) 的最高值設定為 8192。

  • 預設 Receive Buffers (接收緩衝區) 為 1,000。

2018 年 10 月 4 日

1.2.3

包含從 Windows Server 2008 R2 到 Windows Server 2016 的可靠性修正並統一支援。

2018 年 2 月 13 日

1.0.9

包含部分的可靠性修正。僅適用於 Windows Server 2008 R2。不建議用於其他版本的 Windows Server。

2016 年 12 月

1.0.8

初始版本。包含適用於 Windows Server 2008 R2、Windows Server 2012 RTM、Windows Server 2012 R2 和 Windows Server 2016 的 AMI。

2016 年 7 月

訂閱 通知

Amazon SNS 會在 EC2 Windows 驅動程式發佈新版本時通知您。使用下列程序訂閱這些通知。

訂閱 EC2 通知

  1. https://console.aws.amazon.com/sns/v3/home 開啟 Amazon SNS 主控台。

  2. 如有必要,請在導覽列中將「區域」變更為美國東部 (維吉尼亞北部)。您必須選取此區域,因為您要訂閱的 SNS 通知位於本區域中。

  3. 在導覽窗格中,選擇 Subscriptions (訂閱)。

  4. 選擇 Create subscription (建立訂閱)。

  5. Create subscription (建立訂閱) 對話方塊中,執行下列動作:

    1. 針對 TopicARN,複製下列 Amazon Resource Name (ARN):

      arn:aws:sns:us-east-1:801119661308:ec2-windows-drivers

    2. 針對 rotocol (通訊協定),選擇 Email

    3. 針對 Endpoint (端點),請輸入可用於接收通知的電子郵件地址。

    4. 選擇 Create subscription (建立訂閱)。

  6. 您將會收到確認電子郵件。開啟電子郵件並遵循指示完成訂閱。

只要有新的 EC2 Windows 驅動程式發行,我們就會向訂閱者傳送通知。如果您不想再接收這些通知,請使用下列程序來取消訂閱。

取消訂閱 Amazon EC2 Windows 驅動程式通知

  1. https://console.aws.amazon.com/sns/v3/home 開啟 Amazon SNS 主控台。

  2. 在導覽窗格中,選擇 Subscriptions (訂閱)。

  3. 選取訂閱的核取方塊,然後選擇 Actions (動作)Delete subscriptions (刪除訂閱)。出現確認提示時,請選擇 Delete (刪除)