應用型負載平衡ALB(Application Load Balancer)支援轉寄IPv6網路請求,本文指導您如何為雙棧ALB執行個體開啟IPv6掛載,即ALB執行個體同時支援掛載IPv4和IPv6的Elastic Compute Service(Elastic Compute Service),使IPv6網路的用戶端請求通過ALB可以訪問部署在後端的IPv4和IPv6服務。
情境樣本
本文以下圖情境為例。某公司希望ALB可以轉寄來自IPv6用戶端的請求,以實現IPv6用戶端使用公網正常訪問VPC中的IPv4和IPv6服務。該公司需要建立具有IPv4和IPv6地址的ECS,同時需要在VPC中建立雙棧ALB執行個體並建立具有IPv6掛載功能的伺服器組。完成上述配置後,IPv6用戶端的請求即可通過ALB訪問部署在後端ECS上的IPv4和IPv6服務。
使用限制
雙棧支援的地區,請參見ALB雙棧支援的地區。
使用雙棧功能,需要開通VPC可用性區域中交換器的IPv6功能。
雙棧ALB執行個體支援將IPv4和IPv6的用戶端流量轉寄至IPv4、IPv6的後端服務。詳情請參見協議版本。
不支援已有的IPv4執行個體升級為雙棧執行個體,僅支援建立雙棧執行個體。
開啟IPv6掛載的伺服器組,僅支援添加至雙棧ALB執行個體的監聽或轉寄規則中。
前提條件
您已在華東2(上海)地區建立了一個VPC1,並分別在可用性區域E和可用性區域G建立了一個交換器VSW1和VSW2,且VPC1已開通IPv6網段、VSW1和VSW2均已開通IPv6。VPC開通IPv6網段後,系統會為您預設建立一個IPv6網關。
如果計劃將ALB部署在交換器VSW1和VSW2,需注意:ALB升級執行個體會從每個指定的交換器中分配3個IP地址,包含1個VIP(對外提供服務)和2個Local IP(用於與後端伺服器通訊),如果IP不足會出現報錯並且無法建立執行個體,請確保交換器VSW1和VSW2中已預留足夠的可用IP;升級前的ALB執行個體不受該限制。
您已經註冊網域名稱並完成備案。
步驟一:建立並配置ECS執行個體
- 登入專用網路管理主控台。
在左側導覽列,單擊交換器。
選擇交換器的地區,本文選擇華東2(上海)。
在交換器頁面,找到目標交換器,然後在操作列選擇。
在Elastic Compute Service購買頁面的自訂購買頁簽下,建立2台ECS執行個體,並將IPv4 ECS修改執行個體名稱為ECS01,將IPv6 ECS修改執行個體名稱為ECS02,兩台ECS執行個體綁定的安全性群組均需要允許存取80連接埠。具體操作,請參見自訂購買執行個體。
ECS執行個體名稱 | 地區 | VPC名稱 | 交換器 | IP版本 | 鏡像 |
ECS01 | 華東2(上海) | VPC1 | 可用性區域E的VSW1 | IPv4 | Alibaba Cloud Linux 3.2104 LTS 64位 |
ECS02 | 華東2(上海) | VPC1 | 可用性區域G的VSW2 | IPv6 說明 建立具有IPv6地址的執行個體時,需在IPv6處選中免費分配IPv6地址。 | Alibaba Cloud Linux 3.2104 LTS 64位 |
遠程登入ECS01和ECS02執行個體,具體操作,請參見ECS遠端連線操作指南。
在ECS01中執行如下命令,部署Nginx服務。
yum install -y nginx
systemctl start nginx.service
cd /usr/share/nginx/html/
echo "Hello World ! this is ipv4 rs." > index.html
在ECS02中執行如下命令,部署Nginx服務。
yum install -y nginx
systemctl start nginx.service
cd /usr/share/nginx/html/
echo "Hello World ! this is ipv6 rs." > index.html
配置ECS02執行個體的IPv6地址。具體操作請參見IPv6通訊。
說明
如果您的ECS02執行個體鏡像為Alibaba Cloud Linux 3.2104 LTS 64,並且在建立時已在IPv6處選中免費分配IPv6地址,可忽略此步驟。
遠程登入VPC中的ECS02執行個體。
配置IPv6地址。
執行ip addr | grep inet6
或者ifconfig | grep inet6
命令。
如下圖所示,表示已成功配置IPv6地址,您可忽略此步驟。

如果未返回inet6相關內容,表示執行個體未開啟IPv6服務,請先開啟IPv6服務。
如果返回inet6相關內容,表示ECS02執行個體已成功開啟IPv6服務並識別到IPv6地址,請繼續配置IPv6地址。
步驟二:ECS02配置IPv6安全性群組規則
您需要為ECS02執行個體配置IPv6安全性群組規則,使安全性群組入方向能夠允許接受IPv6用戶端發送的請求。
登入ECS管理主控台。
在左側導覽列,選擇。
在頂部功能表列處,選擇目標安全性群組的地區。本文選擇華東2(上海)。
在安全性群組頁面,找到目標安全性群組,在操作列單擊管理規則。
單擊安全性群組詳情頁面,然後在訪問規則地區,單擊入方向頁簽。
單擊手動添加,在規則列表中根據以下資訊配置IPv6安全性群組規則,然後在操作列單擊儲存。
參數 | 描述 |
授權策略 | 設定是否允許安全性群組的授權策略。本文選擇允許。 |
優先順序 | 設定安全性群組的優先順序。優先順序的數值越小,優先順序越高。取值範圍:1~100。 本文保持預設值1。 |
協議類型 | 允許入方向允許存取的安全性群組的協議類型。本文選擇全部ICMP(IPv6)。 |
連接埠範圍 | 允許入方向允許存取的安全性群組的連接埠範圍。 協議類型選擇全部ICMP(IPv6)時,連接埠範圍的目的連接埠只能設定為-1/-1且不能修改。 |
授權對象 | 輸入授權的IPv6位址區段。 本文輸入::/0,表示授權所有IPv6地址。 說明 本文配置的授權對象僅為樣本,您可以根據需要允許存取指定的IPv6網段。 |
描述 | 自訂描述資訊。 |
步驟三:建立ALB執行個體
登入應用型負載平衡ALB控制台。
在執行個體頁面,單擊建立應用型負載平衡。
在購買頁面,完成以下配置,然後單擊立即購買並根據控制台提示完成執行個體開通。
此處僅列出和本文強相關的配置項,其他未列出的配置項使用預設值。關於參數的更多資訊,請參見建立執行個體。
參數 | 描述 |
地區 | 選擇執行個體所屬的地區。本文選擇華東2(上海)。 |
執行個體網路類型 | 選擇執行個體網路類型,系統會根據您的選擇分配私網或公網服務地址。本文選擇公網。 說明 執行個體網路類型選擇公網類型只作用於IPv4,IPv6預設是私網類型。本文使用IPv6的公網類型,需執行步驟4變更IPv6的網路類型為公網類型。 |
VPC | 選擇執行個體所屬的VPC。 |
可用性區域 | 選擇至少2個可用性區域。本文選擇上海 可用性區域E,上海 可用性區域G。 分別在所選可用性區域內選擇交換器。本文選擇可用性區域E下的VSW1和可用性區域G下的VSW2。
|
協議版本 | 選擇執行個體的IP協議版本。本文選擇雙棧。 |
功能版本(執行個體費) | 選擇執行個體的功能版本。本文選擇標準版。 |
執行個體名稱 | 輸入自訂執行個體名稱。 |
服務關聯角色 | 首次建立應用型Server Load Balancer執行個體時,需要單擊建立服務關聯角色,建立一個名稱為AliyunServiceRoleForAlb的服務關聯角色。系統會為該角色添加名稱為AliyunServiceRolePolicyForAlb的權限原則,授予ALB擁有訪問其他雲產品執行個體的許可權。更多操作,請參見應用型負載平衡ALB系統權限原則參考。 |
建立完公網雙棧ALB執行個體後,本文需要使用公網IPv6地址,請執行以下步驟將ALB執行個體的IPv6地址變更為公網地址。更多資訊,請參見協議版本。
返回執行個體頁面,找到目標ALB執行個體,單擊執行個體ID。
在實例詳情頁簽的基本資料地區,找到網路類型,然後在IPv6:私網的右側單擊變更網路類型。
在變更網路類型對話方塊中單擊確定變更。
變更成功後,您可以看到IPv6的網路類型變成了公網。
步驟四:建立伺服器組
在左側導覽列,選擇。
在伺服器組頁面,單擊建立伺服器組。
在建立伺服器組對話方塊中,完成以下配置,然後單擊建立。
此處僅列出和本文強相關的配置項,其他未列出的配置項使用預設值。關於參數的更多資訊,請參見建立伺服器組。
參數 | 描述 |
伺服器群組類型 | 選擇一種伺服器群組類型。本文選擇伺服器類型。 |
伺服器組名稱 | 輸入自訂伺服器組名稱。 |
VPC | 從VPC下拉式清單中選擇已建立的VPC,只有該VPC下的伺服器可以加入到該伺服器組。 說明 確保您選擇的VPC開啟了IPv6功能,且與建立ALB執行個體時選擇的VPC相同。 |
選擇後端協議 | 選擇一種後端協議。本文選擇HTTP。 |
選擇調度演算法 | 選擇一種調度演算法。本文選擇加權輪詢。 |
IPv6掛載 | 選擇是否開啟IPv6掛載功能。本文只支援選擇開啟IPv6掛載功能。 |
會話保持 | 開啟或關閉會話保持。本文保持預設值即不開啟會話保持。 |
開啟健全狀態檢查 | 開啟或關閉健全狀態檢查。本文開啟。 |
健全狀態檢查配置 | 開啟健全狀態檢查後,您可以單擊後面的編輯,展開進行更多配置。 |
在伺服器組頁面,找到目標伺服器組,然後單擊目標伺服器組ID。
單擊後端伺服器頁簽,然後單擊新增後端伺服器。
在新增後端伺服器面板,選擇已建立的ECS01和ECS02執行個體,在IP地址列選擇ECS01執行個體的IPv4地址,選擇ECS02執行個體的IPv6地址,然後單擊下一步。
在配置連接埠和權重設定精靈,設定ECS01和ECS02執行個體的連接埠和權重,然後單擊確定。
本文ECS執行個體連接埠配置為80,權重為預設值100。
步驟五:配置監聽
在執行個體頁面,找到目標執行個體,單擊執行個體ID。
單擊監聽頁簽,然後單擊建立監聽。
在配置監聽設定精靈,完成以下配置,然後單擊下一步。
此處僅列出和本文強相關的配置項,其他未列出的配置項使用預設值。關於配置監聽的更多操作,請參見添加HTTP監聽。
參數 | 描述 |
選擇監聽協議 | 選擇監聽的協議類型。本文選擇HTTP。 |
監聽連接埠 | 用來接收請求並向後端伺服器進行請求轉寄的監聽連接埠。本文輸入80。 |
監聽名稱 | 輸入自訂監聽名稱。 |
高級配置 | 本文保持預設,可單擊修改進行設定。 |
在選擇伺服器組設定精靈,選擇伺服器類型及伺服器類型下的目標伺服器組,查看後端伺服器資訊,然後單擊下一步。
在設定審核設定精靈,確認配置資訊,然後單擊提交。
單擊知道了返回監聽頁簽,查看目標監聽的健全狀態檢查狀態列為正常時,表示後端伺服器ECS01和ECS02執行個體可以正常處理ALB執行個體轉寄的請求。
步驟六:設定網域名稱解析
實際業務情境中,建議您使用自有網域名稱,通過CNAME解析的方式將自有網域名稱指向ALB執行個體網域名稱。
在左側導覽列,選擇
在執行個體頁面,複製已建立的ALB執行個體的DNS名稱。
執行以下步驟添加CNAME解析記錄。
說明
對於非阿里雲註冊網域名稱,需先將網域名稱添加到雲解析控制台,才可以進行網域名稱解析設定。具體操作,請參見網域名稱管理。如果您是阿里雲註冊的網域名稱,請直接執行以下步驟。
登入網域名稱解析控制台。
在權威網域名稱解析頁面,找到目標網域名稱,在操作列單擊解析設定。
在解析設定頁面,單擊添加記錄。
在添加記錄面板,配置以下資訊完成CNAME解析配置,然後單擊確定。
配置 | 說明 |
記錄類型 | 在下拉式清單中選擇CNAME。 |
主機記錄 | 您的網域名稱的首碼。本文輸入@。 |
解析請求來源 | 選擇預設。 |
記錄值 | 輸入欄位名對應的CNAME地址,即您複製的ALB執行個體的DNS名稱。 |
TTL | 全稱Time To Live,表示DNS記錄在DNS伺服器上的緩衝時間,本文使用預設值。 |
步驟七:測試連通性
說明
測試連通性時,請確保您的用戶端已支援IPv6功能,您可以在瀏覽器地址欄輸入網址http://test-ipv6.com/
測試您的用戶端是否支援IPv6功能。
以任意一台可以訪問IPv6用戶端的終端為例,測試IPv6用戶端與ECS01和ECS02伺服器的連通性。
開啟終端的cmd視窗。
多次執行以下命令,測試IPv6用戶端是否可以通過ALB以輪詢的方式訪問IPv4 ECS以及IPv6 ECS。
如果收到如下所示的回複報文,則表示IPv6用戶端可以訪問IPv4 ECS。

如果收到如下所示的回複報文,則表示IPv6用戶端可以訪問IPv6 ECS。
完成上述操作後,表明IPv6用戶端可以通過ALB以輪詢的方式訪問VPC中部署的IPv4服務和IPv6服務。
釋放資源
清理ECS、安全性群組等資源:
參照上述步驟,刪除ECS02執行個體及對應安全性群組資源。