當業務應用分布在多個地區,並需要串連不同地區的PolarDB叢集時,管理和切換多個叢集串連地址會變得複雜且容易出錯。全球資料庫網路(GDN)的全域網域名稱功能,提供一個跨地區的、唯一的叢集串連地址。應用無論部署在哪個地區,都可以使用此網域名稱就近訪問本地叢集,並在主叢集發生故障切換後,自動連接到新的主叢集,實現應用程式層無感知的災備切換,簡化多地區部署架構的複雜性。
工作原理
全域網域名稱功能是基於內網網域名稱解析(Private Hosted Zone)服務,在Virtual Private Cloud內部實現智能解析。
實現機制:開啟全域網域名稱時,系統會自動建立一個格式為
[gdnid].gdn.rds.aliyuncs.com的網域名稱,並將其與GDN中所有叢集所在的VPC進行關聯。主從切換:
普通主從切換:北京地區的主叢集轉變為從叢集,而上海地區的從叢集則變為主叢集。北京地區的應用通過串連全域網域名稱仍然可以就近訪問北京叢集地址,此時北京的叢集為從叢集,讀請求將從本地讀取,而寫請求則會自動路由至上海的主叢集。
強制主從切換:將同步修改相關的全域網域名稱配置,以確保您仍然可以通過全域網域名稱訪問新的主叢集。例如,當原主叢集脫離GDN,而新的主叢集位於上海時,北京地區的應用通過串連全域網域名稱將自動訪問上海叢集的地址(跨VPC訪問)。此時,所有請求(無論是讀請求還是寫請求)均將路由到上海的主叢集。
注意事項
開啟全域網域名稱後,若您的叢集切換了Virtual Private Cloud和交換器,則需重新打通新VPC與GDN中其他叢集所在VPC之間的串連。
全域網域名稱僅提供地區層級的流量分流,若同一地區記憶體在多個叢集,業務請求會隨機發送至任一叢集。
費用說明
開啟和使用全域網域名稱功能會涉及以下費用:
內網DNS解析費用:全域網域名稱基於內網網域名稱解析(Private Hosted Zone)實現,詳細計費規則請參見內網網域名稱解析產品計費。
跨地區流量費用:主叢集強制切換後,若原主叢集與新主叢集所在地區不同,會收取跨域流量資料轉送費用。此費用由VPC對等串連收取,詳細計費規則請參見VPC對等串連計費說明。
準備工作:配置網路與許可權
建立全域網域名稱之前,需完成準備工作,確保GDN中各叢集間的網路連通性和存取權限。
GDN中所有叢集所在的VPC網段最好不要有重疊,如果有重疊,需保證交換器vSwitch網段沒有重疊。
開通內網DNS服務:登入Alibaba Cloud DNS-內網網域名稱解析,單擊立即開通按鈕。
打通VPC之間的網路連接:為GDN中所有叢集所在的VPC兩兩之間建立對等串連。例如,若有北京、上海、深圳三個地區的叢集,則需建立“北京-上海”、“北京-深圳”、“上海-深圳”三對對等串連。詳細操作,請參見VPC對等串連。
配置叢集白名單:在GDN的每一個叢集中,將其餘所有叢集所在VPC的網段添加到叢集白名單中。
開啟全域網域名稱
可在建立GDN時或為已有的GDN開啟全域網域名稱。
建立GDN:
登入PolarDB控制台,單擊左側導覽列中的全球数据库网络(GDN)。
在全球数据库网络(GDN)頁面,單擊创建全球数据库网络。
在建立全球資料庫網路(GDN)對話方塊中,開啟全域網域名稱開關。
已有GDN:
登入PolarDB控制台,單擊左側導覽列中的全球資料庫網路(GDN)。
在全球資料庫網路(GDN)頁面,找到目標GDN,單擊全球資料庫網路ID進入GDN詳情頁。
找到全域網域名稱並單擊右側的開啟按鈕。
開啟全域網域名稱時,系統會自動建立名為AliyunServiceRoleForPolarDB的服務關聯角色,用於授權PolarDB訪問內網網域名稱解析等雲資源。
驗證全域網域名稱
配置完成後,需從不同地區的VPC內驗證網域名稱的解析和連通性。
(可選)驗證VPC對等串連:
假設主叢集位於北京,從叢集位於上海,您可以在北京地區的一台ECS執行個體上,通過MYSQL用戶端工具串連上海叢集的內網地址。如果串連成功,則表明北京VPC與上海VPC之間的串連正常。同樣地,您可以驗證上海VPC到北京VPC的串連是否正常。
mysql -hpc-xxxxxxxx.rwlb.rds.aliyuncs.com -P3306 -uxxxx -pxxxx驗證就近訪問:確認在不同地區的VPC內,全域網域名稱能正確解析到本地叢集地址。
登入部署在主叢集(例如:北京地區)所在VPC內的一台ECS執行個體。
分別執行
ping 全域網域名稱與ping 主叢集內網地址。預期結果:兩者返回的IP地址一致,說明使用全域網域名稱可以就近返回應該串連的叢集IP。
同理,驗證從叢集。
驗證故障切換(類比演練):測試主叢集主從切換後,應用是否能通過全域網域名稱自動連接到新主叢集。
進入目標GDN詳情頁,在叢集列表地區內,找到目標從叢集,單擊操作欄的切換為主叢集。詳細操作請參見切換主叢集。
切換後,嘗試重連全域網域名稱,觀察恢復。
管理全域網域名稱
可根據業務需要,隨時開啟或關閉全域網域名稱。
登入PolarDB控制台,單擊左側導覽列中的全球資料庫網路(GDN)。
在全球資料庫網路(GDN)頁面,找到目標GDN,單擊全球資料庫網路ID進入GDN詳情頁。
找到全域網域名稱並單擊右側的關閉按鈕。
仔細閱讀彈出的注意事項,確認無誤後單擊確定。
GDN全域網域名稱關閉後,您可隨時根據實際業務情況重新開啟。