從幾天前開始,我正在測試 RDS Aurora Writer-Reader(就像經典的 mysql Master-Slave)。特別是在寫入器故障轉移的復原能力以及其他任務中,RDS 應該交換寫入器和讀取器角色(這一步都很好)並交換端點 CNAME,以便應用程式可以正常繼續。
就我而言,這最後一步沒有發生,我的應用程式仍然指向同一台機器(該機器處於故障轉移狀態,然後降級為讀者)。
為了測試這一點,我使用 RDS 面板中的「測試故障轉移」按鈕。
官方文件中提到了更改CNAME端點的功能: https://aws.amazon.com/rds/faqs/#45
在下面的段落中:
故障轉移由 Amazon RDS 自動處理,以便您可以盡快恢復資料庫操作,而無需管理幹預。故障轉移時,Amazon RDS 只需翻轉資料庫實例的規範名稱記錄 (CNAME) 以指向備用資料庫實例,然後該備用資料庫實例將升級為新的主資料庫實例。我們鼓勵您遵循最佳實踐,在應用程式層實現資料庫連線重試。
答案1
基於@Michael - sqlbot,我解決了這個問題。當您在 HA 設定中使用 aurora 時,您需要在應用程式設定中使用叢集終端節點,而不是實例終端節點,因為名稱會在叢集內部發生變更。
答案2
我對此還有其他問題。那麼在route53我們必須創建什麼類型的記錄呢? CNAME 可以嗎?如果我有 2 個叢集端點,我必須為每個叢集建立一個 cname 嗎?還是只有一個 CNAME ?我嘗試後發現無法使用 2 個叢集端點建立 1 個 CNAME。謝謝 !