應用型負載平衡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的後端服務。
雙棧ALB執行個體將IPv6的用戶端流量轉寄至IPv4的後端服務時,後端服務支援伺服器類型(ECS、ENI、ECI)、IP類型,不支援Function Compute類型。
雙棧ALB執行個體將IPv6的用戶端流量轉寄至IPv6的後端服務時,後端服務支援伺服器類型(ECS、ENI、ECI),不支援IP類型、Function Compute類型。
不支援已有的IPv4執行個體升級為雙棧執行個體,僅支援建立雙棧執行個體。
IPv4類型的ALB執行個體在建立監聽時,無法添加開啟了IPv6掛載功能的伺服器組。
前提條件
您已在華東2(上海)地區建立了一個VPC,並將該VPC名稱修改為VPC1,且該VPC已開通了IPv6網段。開通IPv6網段後,系統會為您預設建立一個IPv6網關。
步驟一:建立並配置ECS執行個體
- 登入專用網路管理主控台。
在左側導覽列,單擊交換器。
選擇交換器的地區,本文選擇華東2(上海)。
在交換器頁面,找到目標交換器,然後在操作列選擇 。
在Elastic Compute Service購買頁面的自訂購買頁簽下,建立2台ECS執行個體,並將IPv4 ECS修改執行個體名稱為ECS01,將IPv6 ECS修改執行個體名稱為ECS02,兩台ECS執行個體綁定的安全性群組均需要允許存取80連接埠。具體操作,請參見自訂購買執行個體。
遠程登入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地址,可忽略此步驟。
步驟二: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。
說明請確保該VPC開啟了IPv6功能。
可用性區域
選擇至少2個可用性區域。本文選擇上海 可用性區域E,上海 可用性區域G。
分別在所選可用性區域內選擇交換器。本文選擇可用性區域E下的交換器1和可用性區域G下的交換器2。
IP模式
選擇執行個體的IP地址模式。本文選擇固定IP。
協議版本
選擇執行個體的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伺服器上的緩衝時間,本文使用預設值。
在左側導覽列,選擇
在執行個體頁面,複製已建立的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。
curl -6 http://<網域名稱> -v
如果收到如下所示的回複報文,則表示IPv6用戶端可以訪問IPv4 ECS。
如果收到如下所示的回複報文,則表示IPv6用戶端可以訪問IPv6 ECS。
完成上述操作後,表明IPv6用戶端可以通過ALB以輪詢的方式訪問VPC中部署的IPv4服務和IPv6服務。
釋放資源
清理ECS、安全性群組等資源:
刪除ECS01執行個體及其安全性群組:
登入Elastic Compute Service執行個體控制台,頂部選擇執行個體所屬地區,單擊ECS01執行個體右側的,彈出的視窗中選擇釋放,立即釋放執行個體並確認。
登入Elastic Compute Service安全性群組控制台,頂部選擇執行個體所屬地區,勾選ECS01自訂安全性群組並單擊刪除,刪除安全性群組。
參照上述步驟,刪除ECS02執行個體及對應安全性群組資源。
刪除網域名稱解析記錄:
刪除網域名稱解析記錄,具體操作,請參見刪除網域名稱解析記錄。
清理ALB資源:
登入應用型負載平衡ALB控制台。頂部選擇執行個體所屬地區,單擊目標執行個體右側的,彈出的視窗中選擇釋放並確認。
移除後端伺服器,具體操作,請參見移除後端伺服器。
刪除伺服器組,具體操作,請參見刪除伺服器組。
清理VPC資源:
登入Virtual Private Cloud控制台,頂部選擇執行個體所屬地區。
單擊執行個體右側刪除,刪除時勾選強制移除,完成VPC與交換器資源的刪除。