RDS MySQL支援遷移資料庫代理執行個體的可用性區域,您可以將資料庫代理服務遷移至同一地區內的其他可用性區域。建議資料庫代理可用性區域和RDS MySQL主執行個體的主可用性區域保持一致。
前提條件
RDS執行個體需滿足以下條件:
引擎:RDS MySQL
執行個體系列:高可用系列、叢集系列
儲存類型:雲端硬碟版
服務:已開通資料庫代理服務
執行個體運行狀態:運行中
說明主執行個體、唯讀執行個體以及代理執行個體狀態均為運行中。
RDS執行個體需存在專用網路類型的串連地址,且不支援存在傳統網路類型的代理執行個體做可用性區域遷移。如何查看和管理執行個體串連地址,請參見查看和管理執行個體串連地址和連接埠。
費用
資料庫代理遷移可用性區域功能免費。
影響
遷移代理可用性區域時,資料庫代理串連會出現約30秒的閃斷。
針對高可用系列執行個體,通過主執行個體串連地址、唯讀執行個體串連地址的業務不受影響;
針對叢集系列執行個體,通過叢集讀寫地址、叢集唯讀地址、節點直連地址的業務不受影響。
說明建議將業務切換到上述不受影響的串連地址中,並在業務低峰期進行可用性區域遷移。
請確保應用有自動重連機制。
說明若應用無自動重連機制,請手動進行應用與資料庫的重連。
遷移代理可用性區域會造成虛擬IP(VIP)的變更,請盡量在您的應用程式中使用串連地址進行串連,不要使用IP地址。
請及時清理用戶端DNS緩衝。用戶端採用JVM的應用,建議將JVM配置中的TTL設定為不超過60秒,可確保在串連地址的VIP地址發生變更時,應用程式可以通過重新查詢DNS來接收和使用資源的新VIP地址。
說明JVM中設定TTL的方法請參見JDK官方文檔:Class InetAddress。
如果遷移的目標可用性區域資源不足,則可能遷移可用性區域失敗。
遷移可用性區域可能會導致就近訪問失效:
遷移可用性區域後,預設可就近訪問新可用性區域,原可用性區域的就近訪問失效。若修改了代理串連地址的目標可用性區域,使其與預設可用性區域不一致,則對應可用性區域的就近訪問失效。樣本情境如下:
情境
原代理資訊
目標代理資訊
代理執行個體當前可用性區域
Proxy 位址
就近訪問
代理執行個體目標可用性區域
Proxy 位址預設可用性區域
Proxy 位址目標可用性區域
就近訪問
情境1:
可用性區域A + 可用性區域B
遷移至可用性區域A + 可用性區域C
可用性區域A
Proxy 位址a
可用性區域A
可用性區域A
可用性區域A
可用性區域A
可用性區域A
可用性區域C
失效
可用性區域B
Proxy 位址b
可用性區域B
可用性區域C
可用性區域C
可用性區域C
可用性區域C
可用性區域D
失效
情境2:
可用性區域A + 可用性區域B
遷移至可用性區域C + 可用性區域D
可用性區域A
Proxy 位址a
可用性區域A
可用性區域C
可用性區域C
可用性區域C
可用性區域C
可用性區域E
失效
可用性區域B
Proxy 位址b
可用性區域B
可用性區域D
可用性區域D
可用性區域D
可用性區域D
可用性區域E
失效
如果代理與主執行個體不在同一可用性區域,通過資料庫代理串連時,寫入效能可能會下降,建議代理執行個體與主執行個體的VPC、vSwitch保持一致。
操作步驟
相關API
API | 描述 |
通過指定VSwitchIds參數遷移代理執行個體至目標可用性區域 |
常見問題
Q:遷移代理可用性區域會對主執行個體串連有影響嗎?
A:遷移代理可用性區域只會影響使用資料庫代理串連地址的Business Connectivity,通過主執行個體串連地址、唯讀執行個體串連地址或者叢集讀寫地址、叢集唯讀地址、節點直連地址的業務不受影響。建議將業務切換到不受影響的串連地址中,並在業務低峰期進行可用性區域遷移。
Q:遷移代理可用性區域的影響是什嗎?
A:遷移代理可用性區域時,資料庫代理串連會出現約30秒的閃斷。影響時間長度跟業務實際使用有關,建議將業務切換到不受影響的串連地址中,並在業務低峰期進行可用性區域遷移。具體影響,可參見本文影響章節。