設定網路介面的最佳實務 - Amazon Elastic Compute Cloud

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

設定網路介面的最佳實務

  • 您可在執行個體執行時 (熱連接)、停止時 (暖連接) 或正在啟動時 (冷連接) 將網路介面連接到執行個體。

  • 您可在執行個體執行時或停止時分離輔助網路介面。但是您不能分離主要網路介面。

  • 如果執行個體位於相同的可用區域和 VPC,但位於不同的子網中,則您可將次要網路介面從原來執行個體移至另一個執行個體。

  • 使用 CLI、API 或開發套件啟動執行個體時,您可以指定主要網路介面和其他網路介面。

  • 以多個網路介面啟動 Amazon Linux 或 Windows Server 執行個體,會自動設定執行個體作業系統的介面、私有 IPv4 地址和路由表。

  • 其他網路介面的暖或熱連接可能需要您手動帶出第二個介面、設定私有 IPv4 地址,以及相應修改路由表。執行 Amazon Linux 或 Windows Server 的執行個體會自動辨識暖或熱連接並自行設定。

  • 您不能將另一個網路介面連接到執行個體 (例如,NIC 小組組態),以增加或加倍雙目錄執行個體傳入或傳出的網路頻寬。

  • 如果您將相同子網中兩個或以上的網路介面連接到執行個體,您可能會發生聯網問題,例如非對稱路由。如果可能,請改在主要網路介面上使用輔助私有 IPv4 地址。

使用適用於 Amazon Linux 2 的 ec2-net-utils 設定您的網路介面

注意

對於 AL2023,amazon-ec2-net-utils 套件會在 /run/systemd/network 目錄中產生介面特定組態。如需詳細資訊,請參閱 Amazon Linux 2023 使用者指南中的聯網服務

Amazon Linux 2 AMI 可能包含由安裝的其他腳本 AWS,稱為 ec2 網絡實用程序。這些指令碼會選擇性自動化您網路介面的組態。這些指令碼僅供 Amazon Linux 2 使用。

使用下列命令在 Amazon Linux 2 上安裝套件 (如尚未安裝),如已安裝且有其他更新可用,請更新套件:

$ yum install ec2-net-utils

下列元件屬於 ec2-net-utils:

udev 規則 (/etc/udev/rules.d)

當網路介面連接、分離或重新連接到執行中的執行個體時識別它們,確保 hotplug 指令碼執行 (53-ec2-network-interfaces.rules)。將 MAC 地址映射到裝置名稱 (75-persistent-net-generator.rules,這會產生 70-persistent-net.rules)。

hotplug 指令碼

產生適合搭配 DHCP 使用的介面組態檔 (/etc/sysconfig/network-scripts/ifcfg-ethN)。也產生路由組態檔案 (/etc/sysconfig/network-scripts/route-ethN)。

DHCP 指令碼

每當網路介面收到新的 DHCP 租賃,此指令碼就會查詢彈性 IP 地址的執行個體中繼資料。它會為每一個彈性 IP 地址在路由政策資料庫中新增規則,以確保該地址使用正確的網路介面外送流量。它還會將每個私有 IP 地址新增至網路介面做為輔助地址。

ec2ifup ethN (/usr/sbin/)

擴充標準 ifup 的功能。在此指令碼重新撰寫組態檔 ifcfg-ethNroute-ethN 之後,它會執行 ifup

ec2ifdown ethN (/usr/sbin/)

擴充標準 ifdown 的功能。在此指令碼從路由政策資料庫中移除網路介面的所有規則後,它會執行 ifdown

ec2ifscan (/usr/sbin/)

檢查是否有尚未設定的網路介面並加以設定。

ec2-net-utils 初始版本不提供此指令碼。

使用下列命令列出 ec2-net-utils 產生的所有組態檔:

$ ls -l /etc/sysconfig/network-scripts/*-eth?

若要停用自動化,您可將 EC2SYNC=no 新增至對應的 ifcfg-ethN 檔案。例如,使用以下命令停用 eth1 執行個體的自動化:

$ sed -i -e 's/^EC2SYNC=yes/EC2SYNC=no/' /etc/sysconfig/network-scripts/ifcfg-eth1

若要完全停用自動化,您可使用以下命令移除套件:

$ yum remove ec2-net-utils