使用 EC2 執行個體上的彈性網路介面卡 (ENA) 啟用增強型聯網 - Amazon Elastic Compute Cloud

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

使用 EC2 執行個體上的彈性網路介面卡 (ENA) 啟用增強型聯網

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

要求

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

  • 啟動在AWS 硝基系統上構建的實例

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

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

  • Linux 執行個體 — 使用支援的 Linux 核心版本和支援的發行版本啟動執行個體,以便自動為您的執行個體啟用 ENA 增強型聯網。如需詳細資訊,請參閱 ENA Linux 核心驅動程式版本備註

  • 視窗執行個體 — 如果執行個體執行的是 Windows 伺服器 2008 R2 SP1,請確定具有 SHA-2 程式碼簽章支援更新。

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

增強型聯網:效能

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

具有所需模組的 Linux AMI

下列 AMI 包含必要的 ENA 模組,並啟用 ENA 支援:

  • AL2023

  • Amazon Linux 2

  • Amazon Linux AMI 2018.03 及更新版本

  • Ubuntu 14.04 或更新版本 (帶 linux-aws 核心)

    注意

    AWS 以重力為基礎的執行個體類型需要 Ubuntu 18.04 或更新版本搭配核心 linux-aws

  • Red Hat Enterprise Linux 7.4 或更新版本

  • SUSE Linux Enterprise Server 12 SP2 或更新版本

  • CentOS 7.4.1708 或更新版本

  • FreeBSD 11.1 或更新版本

  • Debian GNU/Linux 9 或更新版本

若要測試增強型聯網是否已啟用,請確認您的執行個體上是否已安裝ena模組,並且已設定enaSupport屬性。如果是這樣,則命令ethtool -i ethn應該顯示該模塊在網絡接口上正在使用中。

核心模組 (ena)

若要確認 ena 模組已安裝,請使用 modinfo 命令如下列範例中顯示。

[ec2-user ~]$ modinfo ena filename: /lib/modules/4.14.33-59.37.amzn2.x86_64/kernel/drivers/amazon/net/ena/ena.ko version: 1.5.0g license: GPL description: Elastic Network Adapter (ENA) author: Amazon.com, Inc. or its affiliates srcversion: 692C7C68B8A9001CB3F31D0 alias: pci:v00001D0Fd0000EC21sv*sd*bc*sc*i* alias: pci:v00001D0Fd0000EC20sv*sd*bc*sc*i* alias: pci:v00001D0Fd00001EC2sv*sd*bc*sc*i* alias: pci:v00001D0Fd00000EC2sv*sd*bc*sc*i* depends: retpoline: Y intree: Y name: ena ...

在 Amazon Linux 執行個體中,已安裝該ena模組。

ubuntu:~$ modinfo ena ERROR: modinfo: could not find module ena

在 Ubuntu 實例中,該模塊未安裝,因此您必須先安裝它。如需詳細資訊,請參閱 Ubuntu

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

您可以測試執行個體或 AMI 是否已啟用增強型聯網。

實例屬性

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

  • describe-instances (AWS CLI/AWS CloudShell)

    aws ec2 describe-instances --instance-ids instance_id --query "Reservations[].Instances[].EnaSupport"
  • Get-EC2Instance(視窗工具 PowerShell)

    (Get-EC2Instance -InstanceId instance-id).Instances.EnaSupport
圖片屬性

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

  • describe-images (AWS CLI/AWS CloudShell)

    aws ec2 describe-images --image-id ami_id --query "Images[].EnaSupport"
  • Get-EC2Image(視窗工具 PowerShell)

    (Get-EC2Image -ImageId ami_id).EnaSupport
Linux 網路介面驅動程式

請用下列命令確認 ena 模組使用於特定介面,並將介面名稱換成您想要檢查的介面。如果您使用單一介面 (預設),介面為 eth0。如果作業系統支援可預測的網路名稱,則名稱可能像是 ens5

在下列範例中,不會載入 ena 模組,因為列出的驅動程式為 vif

[ec2-user ~]$ ethtool -i eth0 driver: vif version: firmware-version: bus-info: vif-0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no

在此範例中,ena 模組已載入且為最低建議版本。此執行個體已正確設定增強型聯網。

[ec2-user ~]$ ethtool -i eth0 driver: ena version: 1.5.0g firmware-version: expansion-rom-version: bus-info: 0000:00:05.0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no

在執行個體上啟用增強型網路

您使用的程序視執行個體的作業系統而定。

Amazon Linux 2 和最新版的 Amazon Linux AMI 包含已安裝 ENA 之增強型聯網所需的模組,並且已啟用 ENA 支援。因此,如果您在支援的執行個體類型上使用 Amazon Linux HVM 版本啟動執行個體,則您的執行個體已啟用增強型聯網。如需詳細資訊,請參閱 測試是否已啟用增強型網路

如果您使用較舊的 Amazon Linux AMI 啟動執行個體,且其尚未啟用增強型聯網,請用下列程序啟用增強型聯網。

在 Amazon Linux AMI 上啟用增強型聯網
  1. 連線到您的 執行個體。

  2. 在執行個體上,執行下列命令,將您的執行個體更新為最新的核心與核心模組,包括 ena

    [ec2-user ~]$ sudo yum update
  3. 從本機電腦中,使用 Amazon EC2 主控台或下列其中一個命令來重新啟動執行個體: reboot-instances (AWS CLI)、Restart-EC2Instance (AWS Tools for Windows PowerShell)。

  4. 再次連接至執行個體,並使用 ena 中的 modinfo ena 命令確認 測試是否已啟用增強型網路 模組已安裝且為最低建議版本。

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

    [執行個體存放區後端執行個體] 您無法停止執行個體來修改屬性。請改為執行此程序:在 Amazon Linux AMI 上啟用增強型聯網 (執行個體存放區後端執行個體)

  6. 在本機電腦上使用下列其中一個命令啟用增強型聯網屬性。

  7. (選擇性) 從執行個體建立 AMI,如 創建一個 Amazon EBS-backed AMI 所述。AMI 將從執行個體繼承增強型聯網的 enaSupport 屬性。因此,您預設可用此 AMI 啟動其他啟用增強型聯網的執行個體。

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

  9. 連接至執行個體,並使用 ena 中的 ethtool -i ethn 命令確認 測試是否已啟用增強型網路 模組已在網路介面上安裝及載入。

    如果啟用增強型聯網後無法連接至您的執行個體,請參閱 疑難排解 Linux 上的彈性網路介面卡

在 Amazon Linux AMI 上啟用增強型聯網 (執行個體存放區後端執行個體)

遵循先前的程序,一直進行到您停止執行個體的那個步驟。如 建立執行個體存放區後端 Linux AMI 中所述建立新的 AMI,且務必在註冊 AMI 時啟用增強型聯網屬性。

  • register-image (AWS CLI)

    aws ec2 register-image --ena-support ...
  • Register-EC2Image (AWS Tools for Windows PowerShell)

    Register-EC2Image -EnaSupport $true ...

最新的 Ubuntu HVM AMI 包含已安裝 ENA 之增強型聯網所需的模組,並且已啟用 ENA 支援。因此,如果您在支援的執行個體類型上使用最新的 Ubuntu HVM AMI 來啟動執行個體,則您的執行個體已啟用增強型聯網。如需詳細資訊,請參閱 測試是否已啟用增強型網路

如果您使用較舊的 AMI 啟動執行個體,且其尚未啟用增強型聯網,您可以安裝 linux-aws 核心套件以取得最新的增強型聯網驅動程式,並更新必要的屬性。

安裝 linux-aws 核心套件 (Ubuntu 16.04 或更新版本)

Ubuntu 16.04 和 18.04 隨附 Ubuntu 自訂核心 (linux-aws 核心套件)。若要使用不同的核心,請聯絡 AWS Support

安裝 linux-aws 核心套件 (Ubuntu Trusty 14.04)
  1. 連線到您的 執行個體。

  2. 更新套件快取和套件。

    ubuntu:~$ sudo apt-get update && sudo apt-get upgrade -y linux-aws
    重要

    如果更新程序期間提示您安裝 grub,請用 /dev/xvda 安裝 grub,然後選擇保留目前版本的 /boot/grub/menu.lst

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

    [執行個體存放區後端執行個體] 您無法停止執行個體來修改屬性。請改為執行此程序:在 Ubuntu 上啟用增強型聯網 (執行個體後端執行個體)

  4. 在本機電腦上使用下列其中一個命令啟用增強型聯網屬性。

  5. (選擇性) 從執行個體建立 AMI,如 創建一個 Amazon EBS-backed AMI 所述。AMI 將從執行個體繼承增強型聯網的 enaSupport 屬性。因此,您預設可用此 AMI 啟動其他啟用增強型聯網的執行個體。

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

在 Ubuntu 上啟用增強型聯網 (執行個體後端執行個體)

遵循先前的程序,一直進行到您停止執行個體的那個步驟。如 建立執行個體存放區後端 Linux AMI 中所述建立新的 AMI,且務必在註冊 AMI 時啟用增強型聯網屬性。

  • register-image (AWS CLI)

    aws ec2 register-image --ena-support ...
  • Register-EC2Image (AWS Tools for Windows PowerShell)

    Register-EC2Image -EnaSupport $true ...

適用於 Red Hat Enterprise Linux 、SUSE Linux Enterprise Server 以及 CentOS 最新 AMI 包含使用 ENA 之增強型聯網所需的模組,並且已啟用 ENA 支援。因此,如果您在支援的執行個體類型上使用最新的 AMI 來啟動執行個體,則您的執行個體已啟用增強型聯網。如需詳細資訊,請參閱 測試是否已啟用增強型網路

以下程序提供在 Amazon Linux AMI 或 Ubuntu 以外的其他 Linux 發行版本上啟用增強型聯網的一般步驟。如需像是詳細命令語法、檔案位置或套件和工具支援等詳細資訊,請參閱 Linux 發行版本的文件。

在 Linux 上啟用增強型聯網
  1. 連線到您的執行個體。

  2. 從 GitHub at 複製執行個體上ena模組的原始程式碼https://github.com/amzn/amzn-drivers。(SUSE Linux Enterprise Server 12 SP2 和更新版本預設包含 ENA 2.02,因此您不需要下載和編譯 ENA 驅動程式。若為 SUSE Linux Enterprise Server 12 SP2 和更新版本,您應該提出請求,將您想要的驅動程式版本新增至庫存核心)。

    git clone https://github.com/amzn/amzn-drivers
  3. 在您的執行個體上編譯及安裝 ena 模組。這些步驟視 Linux 發行版本而定。如需有關在 RHEL 上編譯模組的詳細資訊,請參閱如何在執行 RHEL 的 Amazon EC2 執行個體上安裝最新的 ENS 驅動程式以獲得增強的網路支援?

  4. 執行 sudo depmod 命令更新模組相依性。

  5. 在執行個體上更新 initramfs,確定開機時載入新模組。例如,如果您的發行版本支援 dracut,您可以使用下列命令。

    dracut -f -v
  6. 判斷系統是否依預設使用可預測的網路介面名稱。使用 systemdudev 197 或以上版本的系統可重新命名乙太網路裝置,但不保證單一網路介面會命名為 eth0。該行為會造成連線至執行個體時發生問題。如需詳細資訊及查看其他的組態選項,請參閱 freedesktop.org 網站上的可預測的網路介面名稱

    1. 您可用下列命令在 RPM 系統上檢查 systemdudev 的版本。

      rpm -qa | grep -e '^systemd-[0-9]\+\|^udev-[0-9]\+' systemd-208-11.el7_0.2.x86_64

      在上述的 Red Hat Enterprise Linux 7 範例中,systemd 版本為 208,因此可預測的網路介面名稱已停用。

    2. 若要停用可預測網路介面名稱,請將 net.ifnames=0 選項新增至 GRUB_CMDLINE_LINUX/etc/default/grub 行中。

      sudo sed -i '/^GRUB\_CMDLINE\_LINUX/s/\"$/\ net\.ifnames\=0\"/' /etc/default/grub
    3. 重建 grub 組態檔案。

      sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  7. [EBS 支援的執行個體] 從本機電腦中,使用 Amazon EC2 主控台或下列其中一個命令來停止執行個體:stop-instances (AWS CLI)、Stop-EC2Instance (AWS Tools for Windows PowerShell)。如果執行個體由管理 AWS OpsWorks,您應該在 AWS OpsWorks 主控台中停止執行個體,讓執行個體狀態保持同步。

    [執行個體存放區後端執行個體] 您無法停止執行個體來修改屬性。請改為執行此程序:在 Linux 上啟用增強型聯網 (執行個體存放區後端執行個體)

  8. 在本機電腦上使用下列其中一個命令啟用增強型聯網的 enaSupport 屬性:

  9. (選擇性) 從執行個體建立 AMI,如 創建一個 Amazon EBS-backed AMI 所述。AMI 將從執行個體繼承增強型聯網的 enaSupport 屬性。因此,您預設可用此 AMI 啟動其他啟用增強型聯網的執行個體。

    如果您執行個體的作業系統包含 /etc/udev/rules.d/70-persistent-net.rules 檔案,您必須先刪除檔案,然後再建立 AMI。此檔案包含原始執行個體乙太網路卡的 MAC 地址。如果其他執行個體使用此檔案開機,作業系統將無法找到設備,且 eth0 可能會失敗,因而造成開機問題。此檔案會在下次開機週期時重新產生,且從 AMI 啟動的任何執行個體將會建立自己的檔案版本。

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

  11. (選擇性) 連線到執行個體,並確認模組已安裝。

    如果啟用增強型聯網後無法連接至您的執行個體,請參閱 疑難排解 Linux 上的彈性網路介面卡

在 Linux 上啟用增強型聯網 (執行個體存放區後端執行個體)

遵循先前的程序,一直進行到您停止執行個體的那個步驟。如 建立執行個體存放區後端 Linux AMI 中所述建立新的 AMI,且務必在註冊 AMI 時啟用增強型聯網屬性。

此方法僅用於測試和意見回饋用途。不適用於生產部署。如需生產部署,請參閱Ubuntu

重要

使用 DKMS 會使訂閱的支持協議無效。它不應該用於生產部署。

在 Ubuntu 上使用 ENA 啟用增強型聯網 (EBS 後端執行個體)
  1. 請遵循Ubuntu中的步驟 1 和 2。

  2. 安裝 build-essential 套件,以編譯核心模組和 dkms 套件,使 ena 模組在每次核心更新時重建。

    ubuntu:~$ sudo apt-get install -y build-essential dkms
  3. 從 GitHub 位置複製執行個體上ena模組的原始碼https://github.com/amzn/amzn-drivers

    ubuntu:~$ git clone https://github.com/amzn/amzn-drivers
  4. amzn-drivers 套件移至 /usr/src/ 目錄,讓 DKMS 可以找到套件並在每次核心更新時建置。附加原始碼版本編號 (目前的版本編號可在版本備註中找到) 到目錄名稱。例如,下列範例顯示 1.0.0 版本。

    ubuntu:~$ sudo mv amzn-drivers /usr/src/amzn-drivers-1.0.0
  5. 建立包含下列值的 DKMS 組態檔案,並換成您的 ena 版本。

    建立檔案。

    ubuntu:~$ sudo touch /usr/src/amzn-drivers-1.0.0/dkms.conf

    編輯檔案並新增下列值。

    ubuntu:~$ sudo vim /usr/src/amzn-drivers-1.0.0/dkms.conf PACKAGE_NAME="ena" PACKAGE_VERSION="1.0.0" CLEAN="make -C kernel/linux/ena clean" MAKE="make -C kernel/linux/ena/ BUILD_KERNEL=${kernelver}" BUILT_MODULE_NAME[0]="ena" BUILT_MODULE_LOCATION="kernel/linux/ena" DEST_MODULE_LOCATION[0]="/updates" DEST_MODULE_NAME[0]="ena" AUTOINSTALL="yes"
  6. 使用 DKMS 在您的執行個體上新增、建置及安裝 ena 模組。

    將模組新增至 DKMS。

    ubuntu:~$ sudo dkms add -m amzn-drivers -v 1.0.0

    使用 dkms 命令建置模組。

    ubuntu:~$ sudo dkms build -m amzn-drivers -v 1.0.0

    使用 dkms 安裝模組。

    ubuntu:~$ sudo dkms install -m amzn-drivers -v 1.0.0
  7. 重建 initramfs,以在開機時載入正確的模組。

    ubuntu:~$ sudo update-initramfs -u -k all
  8. 使用 ena 中的 modinfo ena 命令確認 測試是否已啟用增強型網路 模組已安裝。

    ubuntu:~$ modinfo ena filename: /lib/modules/3.13.0-74-generic/updates/dkms/ena.ko version: 1.0.0 license: GPL description: Elastic Network Adapter (ENA) author: Amazon.com, Inc. or its affiliates srcversion: 9693C876C54CA64AE48F0CA alias: pci:v00001D0Fd0000EC21sv*sd*bc*sc*i* alias: pci:v00001D0Fd0000EC20sv*sd*bc*sc*i* alias: pci:v00001D0Fd00001EC2sv*sd*bc*sc*i* alias: pci:v00001D0Fd00000EC2sv*sd*bc*sc*i* depends: vermagic: 3.13.0-74-generic SMP mod_unload modversions parm: debug:Debug level (0=none,...,16=all) (int) parm: push_mode:Descriptor / header push mode (0=automatic,1=disable,3=enable) 0 - Automatically choose according to device capability (default) 1 - Don't push anything to device memory 3 - Push descriptors and header buffer to device memory (int) parm: enable_wd:Enable keepalive watchdog (0=disable,1=enable,default=1) (int) parm: enable_missing_tx_detection:Enable missing Tx completions. (default=1) (int) parm: numa_node_override_array:Numa node override map (array of int) parm: numa_node_override:Enable/Disable numa node override (0=disable) (int)
  9. 繼續執行Ubuntu中的步驟 3。

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

啟用增強型聯網
  1. 連線到您的執行個體,並以本機管理員登入。

  2. [僅限 Windows 伺服器 2016 年和 2019 年] 安裝驅動程式後,執行下列 EC2Launch PowerShell 指令碼以設定執行個體。

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

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

    2. 將 zip 封存檔解壓縮。

    3. 透過執行install.ps1PowerShell 指令碼安裝驅動程式。

      注意

      如果您收到執行政策錯誤,請將政策設定為 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(視窗工具 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 的執行個體。

驅動程式版本備註

如需 Linux ENA 驅動程式版本的相關資訊,請參閱 ENA Linux 核心驅動程式版本備註

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 2.6.0 和更舊版本
Windows Server 2012 2.6.0 和更舊版本
Windows Server 2008 R2 2.2.3 和舊版

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

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

2.7.0

新功能

  • 刪除了對視窗服務器 2012(視窗 8)和視窗服務器 2012 R2(視窗 8.1)的支持。這些作業系統版本已經到來的支援結束 AWS。在 Windows 伺服器 2012 及更早版本上,驅動程式安裝將失敗。

  • 增加了對將 IPv6 Tx 校驗和計算卸載到設備的支持。

  • 增加了廣泛的低延遲隊列(LLQ)支持。這是根據裝置建議動態啟用的。您可以使用新的「WidellQ」登錄機碼覆寫此設定。

  • 已新增 Rx 溢位造成封包丟棄的報告,表示 Rx 環中傳入封包的空間不足。

  • 增加了對來自設備的次優配置通知的支持。請參閱 Windows 事件檢視器59000中的事件識別碼。

錯誤修正

  • 避免標頭超過最大低延遲佇列 (LLQ) 標頭大小的 Tx 封包造成不必要的裝置重設。

2024年5月1日

2.6.0

新功能

  • 為支援 ENA Express 的執行個體類型新增下列網路效能指標。

    • ena_srd_mode

    • ena_srd_tx_pkts

    • ena_srd_eligible_tx_pkts

    • ena_srd_rx_pkts

    • ena_srd_resource_utilization

  • 為 Nitro 型執行個體類型新增 conntrack_allowance_available 網路效能指標。

  • 新增由於偵測到 RX 資料損毀而重設新介面卡的原因。

  • 更新驅動程式記錄的基礎設施。

錯誤修正

  • 防止介面卡在 CPU 耗盡導致網路效能指標更新為失敗的情況下進行重設。

  • 防止對裝置心跳的中斷狀況進行錯誤偵測。

  • 修復驅動程式安裝指令碼以支援進行降級操作。

  • 修復接收錯誤計數統計的問題。

2023 年 6 月 20 日

2.5.0

公告

由於無法在 Windows 域控制器上初始化,ENA Windows 驅動程式 2.5.0 版已復原。Windows Client 和 Windows Server 不受影響。

2023 年 2 月 17 日

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.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 (刪除)