NLB快速實(shí)現(xiàn)IPv6服務(wù)的負(fù)載均衡
網(wǎng)絡(luò)型負(fù)載均衡NLB(Network Load Balancer)支持轉(zhuǎn)發(fā)IPv6網(wǎng)絡(luò)請求,本文指導(dǎo)您如何為雙棧NLB實(shí)例開啟IPv6掛載,即NLB實(shí)例同時支持掛載IPv4和IPv6的云服務(wù)器ECS(Elastic Compute Service),使IPv6網(wǎng)絡(luò)的客戶端請求通過NLB可以訪問部署在后端的IPv4和IPv6服務(wù)。
場景示例
本文以下圖場景為例。某公司希望NLB可以轉(zhuǎn)發(fā)來自IPv6客戶端的請求,以實(shí)現(xiàn)IPv6客戶端使用公網(wǎng)正常訪問VPC中的IPv4和IPv6服務(wù)。該公司需要創(chuàng)建具有IPv4和IPv6地址的ECS,同時需要在VPC中創(chuàng)建雙棧NLB實(shí)例并創(chuàng)建具有IPv6掛載功能的服務(wù)器組。完成上述配置后,IPv6客戶端的請求即可通過NLB訪問部署在后端ECS上的IPv4和IPv6服務(wù)。
使用限制
NLB雙棧支持的地域,請參見NLB雙棧支持的地域。
使用雙棧功能,需要開通VPC可用區(qū)中交換機(jī)的IPv6功能。
雙棧NLB實(shí)例支持將IPv6的客戶端流量轉(zhuǎn)發(fā)至IPv4、IPv6的后端服務(wù)。
不支持已有的IPv4實(shí)例升級為雙棧實(shí)例,僅支持新建雙棧實(shí)例。
IPv4類型的NLB實(shí)例在創(chuàng)建監(jiān)聽時,無法添加開啟了IPv6掛載功能的服務(wù)器組。
前提條件
您已在華東2(上海)地域創(chuàng)建了一個VPC,并將該VPC名稱修改為VPC1,且該VPC已開通了IPv6網(wǎng)段。開通IPv6網(wǎng)段后,系統(tǒng)會為您默認(rèn)創(chuàng)建一個IPv6網(wǎng)關(guān)。
您已在華東2(上海)地域的可用區(qū)E和可用區(qū)G分別創(chuàng)建了一個交換機(jī),并將可用區(qū)E的交換機(jī)名稱修改為交換機(jī)1,將可用區(qū)G的交換機(jī)名稱修改為交換機(jī)2,且交換機(jī)1和交換機(jī)2均已開通IPv6。
步驟一:創(chuàng)建并配置ECS實(shí)例
- 登錄專有網(wǎng)絡(luò)管理控制臺。
在左側(cè)導(dǎo)航欄,單擊交換機(jī)。
選擇交換機(jī)的地域,本文選擇華東2(上海)。
在交換機(jī)頁面,找到目標(biāo)交換機(jī),然后在操作列選擇 。
在云服務(wù)器ECS購買頁面的自定義購買頁簽下,創(chuàng)建2臺ECS實(shí)例,并將IPv4 ECS修改實(shí)例名稱為ECS01,將IPv6 ECS修改實(shí)例名稱為ECS02,同時ECS綁定的安全組均需要放行80端口。具體操作,請參見自定義購買實(shí)例。
ECS實(shí)例名稱
地域
VPC名稱
交換機(jī)
IP版本
鏡像
ECS01
華東2(上海)
VPC1
可用區(qū)E的交換機(jī)1
IPv4
Alibaba Cloud Linux 3.2104 LTS 64位
ECS02
華東2(上海)
VPC1
可用區(qū)G的交換機(jī)2
IPv6
說明創(chuàng)建具有IPv6地址的實(shí)例時,需在IPv6處選中免費(fèi)分配IPv6地址。
Alibaba Cloud Linux 3.2104 LTS 64位
遠(yuǎn)程登錄ECS01和ECS02實(shí)例,具體操作,請參見ECS遠(yuǎn)程連接操作指南。
在ECS01中執(zhí)行如下命令,部署Nginx服務(wù)。
yum install -y nginx systemctl start nginx.service cd /usr/share/nginx/html/ echo "Hello World ! this is ipv4 rs." > index.html
在ECS02中執(zhí)行如下命令,部署Nginx服務(wù)。
yum install -y nginx systemctl start nginx.service cd /usr/share/nginx/html/ echo "Hello World ! this is ipv6 rs." > index.html
配置ECS02實(shí)例的IPv6地址。具體操作請參見IPv6通信。
說明如果您的ECS02實(shí)例鏡像為Alibaba Cloud Linux 3.2104 LTS 64,并且在創(chuàng)建時已在IPv6處選中免費(fèi)分配IPv6地址,可忽略此步驟。
遠(yuǎn)程登錄VPC中的ECS02實(shí)例。
配置IPv6地址。
執(zhí)行
ip addr | grep inet6
或者ifconfig | grep inet6
命令。如下圖所示,表示已成功配置IPv6地址,您可忽略此步驟。
如果未返回inet6相關(guān)內(nèi)容,表示實(shí)例未開啟IPv6服務(wù),請先開啟IPv6服務(wù)。
如果返回inet6相關(guān)內(nèi)容,表示ECS02實(shí)例已成功開啟IPv6服務(wù)并識別到IPv6地址,請繼續(xù)配置IPv6地址。
步驟二:ECS02配置IPv6安全組規(guī)則
您需要為ECS02實(shí)例配置IPv6安全組規(guī)則,使安全組入方向能夠允許接受IPv6客戶端發(fā)送的請求。
登錄ECS管理控制臺。
在頂部菜單欄處,選擇目標(biāo)安全組的地域。本文選擇華東2(上海)。
在左側(cè)導(dǎo)航欄,選擇 。
在安全組頁面,找到目標(biāo)安全組,在操作列單擊管理規(guī)則。
單擊安全組詳情頁面,然后在訪問規(guī)則區(qū)域,單擊入方向頁簽。
單擊手動添加,在規(guī)則列表中根據(jù)以下信息配置IPv6安全組規(guī)則,然后在操作列單擊保存。
參數(shù)
描述
授權(quán)策略
設(shè)置是否允許安全組的授權(quán)策略。本文選擇允許。
優(yōu)先級
設(shè)置安全組的優(yōu)先級。優(yōu)先級的數(shù)值越小,優(yōu)先級越高。取值范圍:1~100。
本文保持默認(rèn)值1。
協(xié)議類型
允許入方向放行的安全組的協(xié)議類型。本文選擇全部ICMP(IPv6)。
端口范圍
允許入方向放行的安全組的端口范圍。
協(xié)議類型選擇全部ICMP(IPv6)時,端口范圍的目的端口只能設(shè)置為-1/-1且不能修改。
授權(quán)對象
輸入授權(quán)的IPv6地址段。
本文輸入::/0,表示授權(quán)所有IPv6地址。
說明本文配置的授權(quán)對象僅為示例,您可以根據(jù)需要放行指定的IPv6網(wǎng)段。
步驟三:創(chuàng)建NLB實(shí)例
- 登錄網(wǎng)絡(luò)型負(fù)載均衡NLB控制臺。
在實(shí)例頁面,單擊創(chuàng)建網(wǎng)絡(luò)型負(fù)載均衡。
在購買頁面,完成以下配置,然后單擊立即購買并根據(jù)控制臺提示完成實(shí)例開通。
此處僅列出和本文強(qiáng)相關(guān)的配置項(xiàng),其他未列出的配置項(xiàng)使用默認(rèn)值。關(guān)于參數(shù)的更多信息,請參見創(chuàng)建和管理NLB實(shí)例。
配置
說明
地域
選擇實(shí)例所屬的地域。
實(shí)例網(wǎng)絡(luò)類型
選擇實(shí)例網(wǎng)絡(luò)類型,系統(tǒng)會根據(jù)您的選擇分配私網(wǎng)或公網(wǎng)服務(wù)地址。本文選擇公網(wǎng)。
說明實(shí)例網(wǎng)絡(luò)類型選擇公網(wǎng)類型只作用于IPv4,IPv6默認(rèn)是私網(wǎng)類型。本文使用IPv6的公網(wǎng)類型,需執(zhí)行步驟4變更IPv6的網(wǎng)絡(luò)類型為公網(wǎng)類型。
VPC
選擇實(shí)例所屬的VPC。
說明請確保該VPC開啟了IPv6功能。
可用區(qū)
至少選擇2個可用區(qū)。本文選擇上海 可用區(qū)E及該可用區(qū)下的交換機(jī)1,上海 可用區(qū)G及該可用區(qū)下的交換機(jī)2。
協(xié)議版本
選擇實(shí)例的協(xié)議版本。本文選擇雙棧。
實(shí)例名稱
自定義實(shí)例名稱。
資源組
選擇所屬的資源組。
服務(wù)關(guān)聯(lián)角色
首次創(chuàng)建NLB實(shí)例時,需要單擊創(chuàng)建服務(wù)關(guān)聯(lián)角色,創(chuàng)建一個名稱為AliyunServiceRoleForNlb的服務(wù)關(guān)聯(lián)角色。系統(tǒng)會為該角色添加名稱為AliyunServiceRolePolicyForNlb的權(quán)限策略,授予NLB擁有訪問其他云產(chǎn)品實(shí)例的權(quán)限。更多操作,請參見網(wǎng)絡(luò)型負(fù)載均衡NLB系統(tǒng)權(quán)限策略參考。
創(chuàng)建完公網(wǎng)雙棧NLB實(shí)例,系統(tǒng)默認(rèn)提供私網(wǎng)IPv6地址,執(zhí)行以下步驟,將私網(wǎng)IPv6地址變更為公網(wǎng)IPv6地址。
返回實(shí)例頁面,找到目標(biāo)NLB實(shí)例,單擊實(shí)例ID。
在實(shí)例詳情頁簽的基本信息區(qū)域,找到網(wǎng)絡(luò)類型,然后在IPv6:私網(wǎng)的右側(cè)單擊變更網(wǎng)絡(luò)類型。
在變更網(wǎng)絡(luò)類型對話框中單擊確定變更。
變更成功后,您可以看到IPv6的網(wǎng)絡(luò)類型由私網(wǎng)變成了公網(wǎng)。
步驟四:創(chuàng)建服務(wù)器組
在頂部菜單欄,選擇NLB實(shí)例所屬的地域。
在服務(wù)器組頁面,單擊創(chuàng)建服務(wù)器組。
在創(chuàng)建服務(wù)器組對話框中,完成以下配置,然后單擊創(chuàng)建。
關(guān)鍵配置信息可參考下表,其他未列出的配置項(xiàng)使用默認(rèn)值。關(guān)于參數(shù)的更多信息,請參見創(chuàng)建服務(wù)器組。
參數(shù)
說明
服務(wù)器組類型
服務(wù)器組掛載的后端服務(wù)器類型。本文選擇服務(wù)器類型。
服務(wù)器組名稱
自定義填寫服務(wù)器組名稱。
VPC
服務(wù)器組所屬VPC。
說明確保您選擇的VPC開啟了IPv6功能,且與創(chuàng)建NLB實(shí)例時選擇的VPC相同。
選擇后端協(xié)議
選擇一種后端協(xié)議。本文選擇TCP。
選擇調(diào)度算法
選擇一種調(diào)度算法。本文選擇加權(quán)輪詢。
IPv6掛載
選擇是否開啟IPv6掛載功能。本文只支持選擇開啟IPv6掛載功能。
健康檢查
開啟或關(guān)閉健康檢查。本文保持默認(rèn)配置。
單擊服務(wù)器組實(shí)例右側(cè)操作列的編輯后端服務(wù)器,然后單擊添加后端服務(wù)器。
在添加后端服務(wù)器面板,選擇服務(wù)器類型為云服務(wù)器ECS/彈性網(wǎng)卡ENI,選擇已創(chuàng)建的ECS01和ECS02實(shí)例,在IP地址列選擇ECS01實(shí)例的IPv4地址,選擇ECS02實(shí)例的IPv6地址,然后單擊下一步。
在配置端口和權(quán)重配置向?qū)ВO(shè)置ECS01和ECS02實(shí)例的權(quán)重和端口,然后單擊確定
本文ECS實(shí)例端口配置為80,權(quán)重為默認(rèn)值100。
步驟五:配置監(jiān)聽
在左側(cè)導(dǎo)航欄,選擇 。
在實(shí)例頁面,找到目標(biāo)實(shí)例,在操作列單擊創(chuàng)建監(jiān)聽。
在配置監(jiān)聽配置向?qū)В瓿梢韵屡渲茫缓髥螕?b data-tag="uicontrol" id="uicontrol-7u4-i3u-cg7" class="uicontrol">下一步。
此處僅列出和本文強(qiáng)相關(guān)的配置項(xiàng),其他未列出的配置項(xiàng)使用默認(rèn)值。關(guān)于配置監(jiān)聽的更多操作,請參見添加TCP監(jiān)聽。
參數(shù)
描述
選擇監(jiān)聽協(xié)議
選擇監(jiān)聽的協(xié)議類型。本文選擇TCP。
監(jiān)聽端口
用來接收請求并向后端服務(wù)器進(jìn)行請求轉(zhuǎn)發(fā)的監(jiān)聽端口。本文輸入80。
監(jiān)聽名稱
輸入自定義監(jiān)聽名稱。
高級配置
本文保持默認(rèn),可單擊修改進(jìn)行設(shè)置。
在選擇服務(wù)器組配置向?qū)Вx擇服務(wù)器類型及服務(wù)器類型下的目標(biāo)服務(wù)器組,查看后端服務(wù)器信息,然后單擊下一步。
在配置審核配置向?qū)В_認(rèn)配置信息,然后單擊提交。
單擊知道了返回監(jiān)聽頁簽,查看目標(biāo)監(jiān)聽的健康檢查狀態(tài)列為正常時,表示后端服務(wù)器ECS01和ECS02實(shí)例可以正常處理NLB實(shí)例轉(zhuǎn)發(fā)的請求。
步驟六:設(shè)置域名解析
實(shí)際業(yè)務(wù)場景中,建議您使用自有域名,通過CNAME解析的方式將自有域名指向NLB實(shí)例域名。
在左側(cè)導(dǎo)航欄,選擇 。
在實(shí)例頁面,復(fù)制已創(chuàng)建的NLB實(shí)例的DNS名稱。
執(zhí)行以下步驟添加CNAME解析記錄。
說明對于非阿里云注冊域名,需先將域名添加到云解析控制臺,才可以進(jìn)行域名解析設(shè)置。具體操作,請參見域名管理。如果您是阿里云注冊的域名,請直接執(zhí)行以下步驟。
登錄域名解析控制臺。
在權(quán)威域名解析頁面,找到目標(biāo)域名,在操作列單擊解析設(shè)置。
在解析設(shè)置頁面,單擊添加記錄。
在添加記錄面板,配置以下信息完成CNAME解析配置,然后單擊確定。
配置
說明
記錄類型
在下拉列表中選擇CNAME。
主機(jī)記錄
您的域名的前綴。本文輸入@。
說明創(chuàng)建域名為根域名時,主機(jī)記錄為@。
解析請求來源
選擇默認(rèn)。
記錄值
輸入域名對應(yīng)的CNAME地址,此處為NLB實(shí)例的DNS名稱。
TTL
全稱Time To Live,表示DNS記錄在DNS服務(wù)器上的緩存時間,本文使用默認(rèn)值。
步驟七:驗(yàn)證結(jié)果
測試NLB可用性:
說明測試可用性時,請確保您的客戶端已支持IPv6功能。
以任意一臺可以訪問IPv6服務(wù)的Linux客戶端為例。如果未安裝telnet,以CentOS系統(tǒng)為例可以參考執(zhí)行
yum install -y telnet
安裝telnet。執(zhí)行
telnet 域名 端口
命令,收到下圖回復(fù)報(bào)文Connected to nlb-...,則表示NLB可以將請求轉(zhuǎn)發(fā)至后端服務(wù)器。Trying *.*.*.*... Connected to www.example.com. Escape character is '^]'
通過瀏覽器訪問域名,例如
http://域名
,可以看到如下圖所示,表示NLB可以將請求轉(zhuǎn)發(fā)至后端服務(wù)器。
(可選)模擬故障:
在ECS01中執(zhí)行
systemctl stop nginx.service
停用應(yīng)用。等待幾分鐘后,客戶端再次執(zhí)行
telnet 域名 端口
命令,仍然收到下圖回復(fù)報(bào)文Connected to nlb-...Trying *.*.*.*... Connected to www.example.com. Escape character is '^]'
通過瀏覽器訪問域名,例如
http://域名
,可以看到如下圖所示,表示NLB可以將請求轉(zhuǎn)發(fā)至后端服務(wù)器。在ECS01中執(zhí)行
systemctl start nginx.service
重新啟動應(yīng)用,在ECS02中執(zhí)行systemctl stop nginx.service
停用應(yīng)用。等待幾分鐘后,在客戶端中再次執(zhí)行
telnet 域名 端口
命令,仍然收到下圖回復(fù)報(bào)文Connected to nlb-...Trying *.*.*.*... Connected to www.example.com. Escape character is '^]'
通過瀏覽器訪問域名,例如
http://域名
,可以看到如下圖所示,表示NLB可以將請求轉(zhuǎn)發(fā)至后端服務(wù)器。如上表明后端單臺服務(wù)器故障不影響NLB可用性。
釋放資源
清理ECS、安全組等資源:
刪除ECS01實(shí)例及其安全組:
登錄云服務(wù)器ECS實(shí)例控制臺,頂部選擇實(shí)例所屬地域,單擊ECS01實(shí)例右側(cè)的,彈出的窗口中選擇釋放,立即釋放實(shí)例并確認(rèn)。
登錄云服務(wù)器ECS安全組控制臺,頂部選擇實(shí)例所屬地域,勾選ECS01自定義安全組并單擊刪除,刪除安全組。
參照上述步驟,刪除ECS02實(shí)例及對應(yīng)安全組資源。
刪除域名解析記錄;
刪除域名解析記錄,請參見刪除域名解析記錄。
清理NLB資源:
登錄網(wǎng)絡(luò)型負(fù)載均衡NLB控制臺,頂部選擇實(shí)例所屬地域,單擊實(shí)例右側(cè)的,彈出的窗口中選擇釋放并確認(rèn)。
登錄網(wǎng)絡(luò)型負(fù)載均衡NLB控制臺,頂部選擇實(shí)例所屬地域,在服務(wù)器組菜單單擊服務(wù)器組右側(cè)的,彈出的窗口中選擇刪除并確認(rèn)。
清理VPC資源:
登錄專有網(wǎng)絡(luò)VPC控制臺,頂部選擇實(shí)例所屬地域。
單擊實(shí)例右側(cè)刪除,刪除時并且勾選強(qiáng)制刪除,完成VPC與交換機(jī)資源的刪除。
相關(guān)文檔
了解NLB的應(yīng)用場景、組成等信息,請參見什么是網(wǎng)絡(luò)型負(fù)載均衡NLB。
了解NLB的功能特性,請參見功能特性。
了解NLB的配額及提升配額方式,請參見使用限制。
了解NLB支持的地域信息,請參見NLB支持地域和可用區(qū)。
了解NLB計(jì)費(fèi)文檔,請參見NLB計(jì)費(fèi)規(guī)則。