RDS PostgreSQL實(shí)例間異地容災(zāi)
為了保障業(yè)務(wù)的連續(xù)性和高可用性,RDS PostgreSQL提供容災(zāi)功能,支持搭建RDS PostgreSQL跨地域容災(zāi)實(shí)例,以實(shí)現(xiàn)異地容災(zāi)能力。本文介紹如何使用容災(zāi)功能,實(shí)現(xiàn)RDS PostgreSQL實(shí)例間的異地容災(zāi)。
前提條件
已創(chuàng)建目標(biāo)RDS PostgreSQL實(shí)例(災(zāi)備實(shí)例),且需要滿足如下條件。詳情請參見創(chuàng)建RDS PostgreSQL實(shí)例。
實(shí)例大版本與源實(shí)例(即需進(jìn)行容災(zāi)的RDS PostgreSQL實(shí)例)相同。
實(shí)例為主實(shí)例,只讀實(shí)例不支持搭建為災(zāi)備實(shí)例。
實(shí)例計(jì)費(fèi)方式為按量計(jì)費(fèi)或包年包月,Serverless實(shí)例不支持搭建為災(zāi)備實(shí)例。
實(shí)例為空,無數(shù)據(jù),可用存儲(chǔ)空間大于等于RDS PostgreSQL源實(shí)例中數(shù)據(jù)大小的總和。
已在源RDS PostgreSQL實(shí)例(即需進(jìn)行容災(zāi)的實(shí)例)中,創(chuàng)建了容災(zāi)同步賬號(hào)。詳細(xì)操作請參見創(chuàng)建容災(zāi)同步賬號(hào)。
步驟一:實(shí)現(xiàn)網(wǎng)絡(luò)互通
使用云企業(yè)網(wǎng)CEN(Cloud Enterprise Network)實(shí)現(xiàn)阿里云RDS PostgreSQL源實(shí)例與目標(biāo)災(zāi)備實(shí)例的VPC網(wǎng)絡(luò)互通。
本文以同一阿里云賬號(hào)下不同地域的RDS PostgreSQL為例,如果您的RDS PostgreSQL源實(shí)例與目標(biāo)實(shí)例位于不同的阿里云賬號(hào)下,請參見使用云企業(yè)網(wǎng)實(shí)現(xiàn)跨地域跨賬號(hào)VPC互通(企業(yè)版),實(shí)現(xiàn)網(wǎng)絡(luò)互通。
在云企業(yè)網(wǎng)實(shí)例頁面,單擊創(chuàng)建云企業(yè)網(wǎng)實(shí)例。
在創(chuàng)建云企業(yè)網(wǎng)實(shí)例對話框,選擇單獨(dú)創(chuàng)建,根據(jù)以下信息配置云企業(yè)網(wǎng)實(shí)例,然后單擊確認(rèn)。
說明您也可以選擇場景化創(chuàng)建,根據(jù)界面提示進(jìn)行創(chuàng)建。
參數(shù)
說明
名稱
輸入云企業(yè)網(wǎng)實(shí)例的名稱。
描述
輸入云企業(yè)網(wǎng)實(shí)例的描述。
資源組
選擇云企業(yè)網(wǎng)實(shí)例所屬的資源組。
如果不選擇,云企業(yè)網(wǎng)實(shí)例創(chuàng)建完成后將歸屬于默認(rèn)資源組。
您可以在資源管理控制臺(tái)管理云企業(yè)網(wǎng)資源以及其他云產(chǎn)品資源所屬的資源組。更多信息,請參見什么是資源管理。
標(biāo)簽
為云企業(yè)網(wǎng)實(shí)例添加標(biāo)簽。
標(biāo)簽鍵:不允許為空字符串。最多支持64個(gè)字符,不能以
aliyun
和acs:
開頭,不能包含http://
或者https://
。標(biāo)簽值:可以為空字符串。最多支持128個(gè)字符,不能以
aliyun
和acs:
開頭,不能包含http://
或者https://
。
支持為云企業(yè)網(wǎng)實(shí)例添加多個(gè)標(biāo)簽。關(guān)于標(biāo)簽的更多信息,請參見標(biāo)簽。
在云企業(yè)網(wǎng)實(shí)例頁面,找到創(chuàng)建的目標(biāo)云企業(yè)網(wǎng)實(shí)例,單擊目標(biāo)實(shí)例ID。
在基本信息頁簽,單擊VPC后的,將RDS PostgreSQL源實(shí)例和目標(biāo)實(shí)例的VPC添加到云企業(yè)網(wǎng)實(shí)例中。
在連接網(wǎng)絡(luò)實(shí)例頁面,配置以下主要參數(shù),以設(shè)置RDS PostgreSQL源實(shí)例的信息。
參數(shù)
說明
實(shí)例類型
選擇專有網(wǎng)絡(luò)(VPC)。
地域
選擇RDS PostgreSQL源實(shí)例所在地域。本示例選擇華北2(北京)。
網(wǎng)絡(luò)實(shí)例
選擇RDS PostgreSQL源實(shí)例的VPC ID。
您可以在RDS PostgreSQL實(shí)例的數(shù)據(jù)庫連接頁面,查看其VPC ID。
交換機(jī)
選擇RDS PostgreSQL源實(shí)例的VSwitch ID,并至少選擇一個(gè)其他可用區(qū)的VSwitch ID,以實(shí)現(xiàn)多可用區(qū)容災(zāi)。
您可以在RDS PostgreSQL實(shí)例的數(shù)據(jù)庫連接頁面,查看其VSwitch ID。
單擊確定創(chuàng)建。
單擊繼續(xù)創(chuàng)建連接,重復(fù)上述步驟,設(shè)置RDS PostgreSQL目標(biāo)實(shí)例的信息。
在云企業(yè)網(wǎng)實(shí)例詳情頁面,選擇
,單擊購買帶寬包(預(yù)付費(fèi))。在購買頁面,根據(jù)以下信息配置帶寬包,然后單擊立即購買并完成支付。
配置項(xiàng)
說明
商品類型
選擇帶寬包的商品類型。
非跨境:指互通區(qū)域?yàn)橹袊鴥?nèi)地之間的帶寬包,或互通區(qū)域?yàn)榉侵袊鴥?nèi)地之間的帶寬包。例如:亞太與北美。
跨境:指互通區(qū)域?yàn)橹袊鴥?nèi)地與非中國內(nèi)地的帶寬包。例如:中國內(nèi)地與北美。
本示例選擇非跨境。
云企業(yè)網(wǎng)
選擇需購買帶寬包的云企業(yè)網(wǎng)實(shí)例。
完成支付后,帶寬包自動(dòng)綁定至該云企業(yè)網(wǎng)實(shí)例。
區(qū)域-A
選擇參與互通的網(wǎng)絡(luò)實(shí)例所在的區(qū)域。
本示例選擇中國內(nèi)地。
說明帶寬包創(chuàng)建后,不支持修改互通區(qū)域。
帶寬包支持的區(qū)域及地域信息,請參見使用帶寬包。
區(qū)域-B
選擇參與互通的網(wǎng)絡(luò)實(shí)例所在的區(qū)域。
本示例選擇中國內(nèi)地。
計(jì)費(fèi)方式
顯示帶寬包的計(jì)費(fèi)方式。默認(rèn)為按帶寬計(jì)費(fèi)。
帶寬包計(jì)費(fèi)說明,請參見計(jì)費(fèi)說明。
帶寬值
請根據(jù)實(shí)際業(yè)務(wù)需求選擇帶寬包的帶寬值。單位:Mbps。
帶寬包名稱
輸入帶寬包的名稱。
購買時(shí)長
選擇帶寬包的購買時(shí)長。
選中到期自動(dòng)續(xù)費(fèi)可開啟帶寬包自動(dòng)續(xù)費(fèi)功能。
資源組
選擇帶寬包所屬的資源組。選擇默認(rèn)資源組。
僅購買非跨境的帶寬包時(shí),支持配置該項(xiàng)。
在
頁簽,單擊設(shè)置跨地域帶寬。在連接網(wǎng)絡(luò)實(shí)例頁面,根據(jù)以下主要信息配置跨地域連接,然后單擊確定創(chuàng)建。
配置項(xiàng)
說明
實(shí)例類型
選擇跨地域連接。
地域
選擇要互通的地域。本示例選擇華北2(北京)。
轉(zhuǎn)發(fā)路由器
系統(tǒng)自動(dòng)顯示當(dāng)前地域下轉(zhuǎn)發(fā)路由器的實(shí)例ID。
連接名稱
輸入跨地域連接的名稱。
對端地域
選擇要互通的對端地域。本示例選擇華東1(杭州)。
轉(zhuǎn)發(fā)路由器
系統(tǒng)自動(dòng)顯示當(dāng)前地域下轉(zhuǎn)發(fā)路由器的實(shí)例ID。
帶寬分配方式
跨地域連接支持以下帶寬分配方式,本示例選擇從帶寬包分配。
從帶寬包分配:從已經(jīng)購買的帶寬包中分配帶寬。
按流量付費(fèi):按照跨地域連接實(shí)際使用的流量計(jì)費(fèi)。
帶寬包實(shí)例
選擇云企業(yè)網(wǎng)實(shí)例已綁定的帶寬包實(shí)例。
帶寬
輸入跨地域連接的帶寬值。單位:Mbps。
默認(rèn)鏈路類型
保持默認(rèn)值。
高級配置
保持默認(rèn)配置,即選中全部高級配置選項(xiàng)。
自動(dòng)關(guān)聯(lián)至轉(zhuǎn)發(fā)路由器的默認(rèn)路由表
開啟本功能后,跨地域連接將與兩個(gè)地域的轉(zhuǎn)發(fā)路由器的默認(rèn)路由表建立關(guān)聯(lián)轉(zhuǎn)發(fā)關(guān)系,兩個(gè)地域的轉(zhuǎn)發(fā)路由器將通過查詢默認(rèn)路由表轉(zhuǎn)發(fā)跨地域間的流量。
自動(dòng)傳播系統(tǒng)路由至轉(zhuǎn)發(fā)路由器的默認(rèn)路由表
開啟本功能后,跨地域連接將與兩個(gè)地域的轉(zhuǎn)發(fā)路由器的默認(rèn)路由表建立路由學(xué)習(xí)關(guān)系。
自動(dòng)發(fā)布路由到對端地域
開啟本功能后,將允許跨地域連接自動(dòng)將本端轉(zhuǎn)發(fā)路由器的路由表(指與跨地域連接建立關(guān)聯(lián)轉(zhuǎn)發(fā)關(guān)系的路由表)中的路由傳播至對端轉(zhuǎn)發(fā)路由器的路由表(指與跨地域連接建立路由學(xué)習(xí)關(guān)系的路由表),以實(shí)現(xiàn)網(wǎng)絡(luò)實(shí)例的跨地域互通。
配置完成后,在基本信息頁簽,可以看到帶寬包及已分配帶寬的信息。
訪問RDS PostgreSQL源實(shí)例,將目標(biāo)實(shí)例的VPC網(wǎng)段添加到其白名單中。詳細(xì)操作請參見設(shè)置白名單。
您可以在RDS PostgreSQL實(shí)例的數(shù)據(jù)庫連接頁面查看其VPC網(wǎng)段,例如:192.168.0.0/16。
步驟二:評估容災(zāi)可行性
訪問RDS實(shí)例列表,在上方選擇地域,然后單擊目標(biāo)實(shí)例(即災(zāi)備實(shí)例)ID。
在左側(cè)導(dǎo)航欄單擊一鍵上云/容災(zāi)搭建,選擇可行性評估。
選擇場景為容災(zāi)搭建,源端為阿里云RDS實(shí)例。單擊下一步。
確認(rèn)目標(biāo)實(shí)例配置后,單擊下一步。
在源實(shí)例配置步驟,選中全部配置準(zhǔn)備項(xiàng),單擊下一步。
在發(fā)起遷移評估步驟,配置源實(shí)例信息。
參數(shù)
取值說明
災(zāi)備搭建任務(wù)名
系統(tǒng)自動(dòng)生成,無需修改。
RDS源實(shí)例地域
源實(shí)例所在地域。本示例選擇華北2(北京)。
RDS源實(shí)例名稱
源實(shí)例的實(shí)例ID。
源實(shí)例IP或域名
源實(shí)例內(nèi)網(wǎng)連接地址。您可以在RDS PostgreSQL實(shí)例的數(shù)據(jù)庫連接頁面查看其內(nèi)網(wǎng)連接地址。
用戶名
填寫用于搭建容災(zāi)關(guān)系的同步賬號(hào)。本文以replicatoraccount為例。
密碼
填寫用于搭建容災(zāi)關(guān)系的同步賬號(hào)的密碼。
單擊創(chuàng)建可行性評估任務(wù)。
說明遷移評估任務(wù)期間,目標(biāo)RDS PostgreSQL實(shí)例狀態(tài)將變更為維護(hù)實(shí)例中。
您可以在可行性評估頁面下的容災(zāi)搭建任務(wù)列表中查看所發(fā)起的評估任務(wù)的狀態(tài)。
如果任務(wù)狀態(tài)為成功,您可以進(jìn)行容災(zāi)搭建步驟,見下文的步驟三:搭建容災(zāi)。
如果任務(wù)狀態(tài)為失敗,請單擊操作列的查看報(bào)告,根據(jù)報(bào)錯(cuò)進(jìn)行處理。常見報(bào)錯(cuò)請參見解讀容災(zāi)搭建可行性評估報(bào)告。
步驟三:搭建容災(zāi)
只有可行性評估狀態(tài)為成功時(shí),才能進(jìn)行本步驟。
訪問RDS實(shí)例列表,在上方選擇地域,然后單擊目標(biāo)實(shí)例ID。
在左側(cè)導(dǎo)航欄單擊一鍵上云/容災(zāi)搭建,選擇容災(zāi)搭建。
單擊創(chuàng)建容災(zāi)關(guān)系。
在創(chuàng)建容災(zāi)關(guān)系彈窗中,選擇已成功的容災(zāi)搭建可行性評估任務(wù)。
單擊創(chuàng)建容災(zāi)關(guān)系,發(fā)起容災(zāi)搭建任務(wù)。
容災(zāi)搭建期間,目標(biāo)RDS PostgreSQL實(shí)例狀態(tài)將變更為維護(hù)實(shí)例中。您可以在“容災(zāi)搭建”頁面下的任務(wù)列表中查看所發(fā)起的容災(zāi)搭建任務(wù)的信息。
單擊搭建階段列,查看容災(zāi)搭建所需階段。
當(dāng)搭建階段為增量同步時(shí),說明容災(zāi)搭建已完成。
單擊操作列的查看日志,可以查看搭建任務(wù)的詳細(xì)日志。
(可選)連接源實(shí)例,執(zhí)行
TABLE pg_stat_replication;
,查看主備關(guān)系。
步驟四:(可選)配置內(nèi)網(wǎng)DNS解析
通過配置內(nèi)網(wǎng)DNS解析,您可以在源實(shí)例和目標(biāo)實(shí)例所在的兩個(gè)VPC內(nèi)網(wǎng)中,將指定的內(nèi)網(wǎng)域名解析到源實(shí)例或目標(biāo)實(shí)例的內(nèi)網(wǎng)連接地址(IP地址或域名)。這樣,您可以將該內(nèi)網(wǎng)域名用作業(yè)務(wù)連接數(shù)據(jù)庫的地址。當(dāng)源實(shí)例出現(xiàn)故障時(shí),您可以快速提升目標(biāo)實(shí)例為主庫,并將內(nèi)網(wǎng)域名的指向切換到目標(biāo)實(shí)例,從而實(shí)現(xiàn)業(yè)務(wù)的無縫故障轉(zhuǎn)移。
登錄到云解析DNS控制臺(tái)。
在左側(cè)導(dǎo)航欄單擊內(nèi)網(wǎng)DNS解析(PrivateZone)。
在內(nèi)網(wǎng)DNS解析(PrivateZone)頁面,選擇內(nèi)置權(quán)威 > 用戶域名頁簽。
點(diǎn)擊添加域名(Zone),在彈出的添加內(nèi)置權(quán)威域名 (Zone)頁面,配置內(nèi)置權(quán)威域名參數(shù)。
內(nèi)置權(quán)威域名 (Zone):本示例以pg_test_1106為例。
域名生效范圍 > 阿里云VPC內(nèi)網(wǎng)選擇為源實(shí)例和目標(biāo)實(shí)例的VPC。
說明您可以在RDS PostgreSQL實(shí)例的數(shù)據(jù)庫連接頁面查看VPC。
單擊新建域名操作列的解析記錄,跳轉(zhuǎn)到解析記錄頁面。
單擊添加記錄,在彈出的添加記錄頁,配置各項(xiàng)參數(shù)后,單擊確定。
記錄類型:選擇CNAME。
主機(jī)記錄:一般是指子域名的前綴。本示例不需要前綴,以主域名pg_test_1106作為子域名,輸入
@
。說明您可以通過子域名前綴設(shè)置出不同的子域名,例如設(shè)置子域名
api.<主域名>
為接口業(yè)務(wù)使用,子域名pay.<主域名>
為支付系統(tǒng)使用。有關(guān)更多子域名設(shè)置的內(nèi)容,請參見如何設(shè)置子域名?解析請求來源:是指發(fā)起DNS查詢請求的來源,一般選擇默認(rèn);如果您需要針對不同解析請求來源的用戶返回不同的IP地址,可以新增其他解析請求來源,例如運(yùn)營商、境外等智能解析線路。具體請參考智能解析。
重要一定要設(shè)置一條解析請求來源為默認(rèn)的解析記錄,用于兜底解析,避免某些解析請求沒有匹配到相符的“解析請求來源”的解析記錄導(dǎo)致解析失敗。
記錄值:本示例新增2個(gè)記錄值,分別填寫源實(shí)例和目標(biāo)實(shí)例的內(nèi)網(wǎng)連接地址,并將源實(shí)例的權(quán)重設(shè)置為100,目標(biāo)實(shí)例權(quán)重設(shè)置為0。
在解析變更確認(rèn)對話框中核對本次的配置是否有誤,點(diǎn)擊確定后完成解析記錄的添加。
驗(yàn)證內(nèi)網(wǎng)域名效果。
登錄與源RDS PostgreSQL實(shí)例在同一VPC下的ECS。
使用
ping
命令驗(yàn)證內(nèi)網(wǎng)域名的連通性。內(nèi)網(wǎng)域名指向源實(shí)例的內(nèi)網(wǎng)連接地址。
您也可以通過內(nèi)網(wǎng)域名連接源RDS PostgreSQL實(shí)例,若連接成功,則表明內(nèi)網(wǎng)域名配置成功。詳細(xì)操作請參見連接PostgreSQL實(shí)例。
當(dāng)源實(shí)例出現(xiàn)故障時(shí),您可以修改解析記錄,將目標(biāo)實(shí)例的權(quán)重改為100,源實(shí)例的權(quán)重改為0,將內(nèi)網(wǎng)域名的指向切換到目標(biāo)實(shí)例,從而實(shí)現(xiàn)業(yè)務(wù)的無縫故障轉(zhuǎn)移。詳細(xì)操作請參見修改解析記錄。
修改后效果驗(yàn)證:
登錄與源RDS PostgreSQL實(shí)例在同一VPC下的ECS。
使用
ping
命令驗(yàn)證內(nèi)網(wǎng)域名的連通性。內(nèi)網(wǎng)域名指向目標(biāo)實(shí)例的內(nèi)網(wǎng)連接地址。
您也可以通過內(nèi)網(wǎng)域名連接目標(biāo)RDS PostgreSQL實(shí)例,若連接成功,則表明內(nèi)網(wǎng)域名配置已成功。詳細(xì)操作請參見連接PostgreSQL實(shí)例。