本頁為 Cloud SQL 執行個體的高可用性 (HA) 設定總覽。如要為 HA 設定新的執行個體,或在現有執行個體上啟用 HA,請參閱「在執行個體上啟用及停用高可用性」。
HA 設定總覽
HA 設定的目的是在可用區或執行個體無法使用時,縮短停機時間。這可能發生在區域停機期間,或是硬體發生問題時。有了 HA,用戶端應用程式仍可繼續存取您的資料。
HA 設定可提供資料備援功能。為 HA 設定的 Cloud SQL 執行個體也稱為「區域執行個體」,並在所設定的地區*內設有主要和次要區域。在區域執行個體中,設定是由主要執行個體和待命執行個體組成。透過同步複製至各個可用區的永久磁碟,對主要執行個體執行的所有寫入作業也會在回報交易已修訂前,複寫至兩種可用區的磁碟。當執行個體或可用區發生故障時,待命執行個體會成為新的主要執行個體。然後將使用者重新導向至新的主例項。這項程序稱為容錯移轉。
容錯移轉後,即使原始執行個體已恢復上線,收到容錯移轉的執行個體仍會繼續是主要執行個體。當中斷服務的區域或執行個體再次可用時,系統會刪除並重新建立原始主要執行個體。並成為新的待命執行個體。如果日後發生容錯移轉,新的主要執行個體會移轉至原始區域中的原始執行個體。
如果您需要在發生中斷的區域中保留主要執行個體,可以進行容錯移轉。復原作業會執行與備援作業相同的步驟,但方向相反,藉此將流量重新導向至原始執行個體。如要執行復原作業,請使用「啟動容錯移轉」一文中的程序。
針對至少有一顆專屬 CPU 的 Cloud SQL HA 設定,地區性永久磁碟支援完整的服務水準協議 (SLA) 涵蓋範圍。設定為 HA 的執行個體費用是獨立執行個體的兩倍。這個價格包含 CPU、RAM 和儲存空間。詳情請參閱定價頁面。
* 如要進一步瞭解特定地區的注意事項,請參閱「地理位置與地區」一文。
唯讀備用資源
如果您考量到唯讀備用資源的可用性,可以為備用資源啟用 HA。當您將這類備用資源推送為主要執行個體時,系統會將其設為高可用性執行個體。
在可用區停機期間,流量會停止傳送至該可用區的唯讀備用資源。區域再次可供使用後,區域中的任何唯讀備用資源都會從主要執行個體恢復複製作業。如果唯讀備用資源不在發生服務中斷的區域中,則會在待命執行個體成為主要執行個體時連線。
最佳做法是將部分唯讀備用資源放在與主要和待命執行個體不同的區域。舉例來說,如果您在區域 A 中有主要執行個體,而在區域 B 中有待命執行個體,請將唯讀備用資源放在區域 C 中,以提高可靠性。這項做法可確保即使主要執行個體的區域發生故障,唯讀備用資源仍可繼續運作。您也應在用戶端應用程式中新增商業邏輯,以便在唯讀備用資源無法使用時,將讀取作業傳送至主要執行個體。
容錯移轉總覽
如果完成 HA 設定的執行個體無法回應,Cloud SQL 會自動切換成從備援執行個體提供資料,如要確認是否發生容錯移轉,請查看作業記錄的容錯移轉記錄。
進一步瞭解如何在記錄檔探索工具中建構查詢。如果您需要作業的詳細資訊 (例如執行作業的使用者),請務必 啟用稽核記錄。
點選各個分頁,即可查看容錯移轉對執行個體產生的影響。
一般
容錯移轉
容錯移轉後
容錯回復
程序
發生的流程如下:
主要執行個體或區域故障。
心跳系統每秒都會偵測主要執行個體是否正常運作。如未偵測到多個活動訊號,系統會啟動容錯移轉。
備援執行個體在重新連線時開始提供資料。
透過與主要執行個體共用靜態 IP 位址,備援執行個體現在開始從次要區域提供資料。
需求條件
為了讓 Cloud SQL 允許容錯移轉,設定必須符合以下條件要求:
- 主要執行個體必須處於正常作業狀態 (非停止、非維護中或非執行長時間的 Cloud SQL 執行個體作業,例如備份作業)。
- 次要區域和待命執行個體都必須處於運作良好的狀態。當備援執行個體無法回應時,容錯移轉作業會遭到封鎖。在 Cloud SQL 修復待命執行個體並可使用次要區域後,Cloud SQL 就會允許容錯移轉。
備份與還原
強烈建議您啟用自動備份功能,以確保高可用性。
應用程式與執行個體
使用非 HA 與 HA 執行個體的方法沒有差別,因此無需對應用程式進行任何特殊設定。容錯移轉發生時,所有連至主要執行個體和讀取副本的現有連線都會關閉,而重新連線至主要執行個體大約需要 60 秒的時間。您的應用程式會使用同樣的連線字串或 IP 位址來重新連線,因此您不需要在容錯移轉後更新應用程式。
如要瞭解容錯移轉會對應用程式造成什麼確切影響,請手動啟動容錯移轉。
維護作業停機時間
維護事件會影響以 HA 設定的主要執行個體,這與其他執行個體的情況相同。主要執行個體可能會暫時無法使用。如要進一步瞭解維護作業對 HA 執行個體的影響,請參閱「維護作業的運作方式」。為盡量降低對服務的影響,請變更維護設定,控管服務停機時間。
後續步驟
- 在執行個體上啟用及停用高可用性。
- 啟動容錯移轉。
- 進一步瞭解如何管理資料庫連線。
- 進一步瞭解 Cloud SQL 中的地區與區域。