確保商務持續性和災害復原(BCDR)對於將 MySQL 資料庫從內部部署環境移轉至 適用於 MySQL 的 Azure 資料庫 至關重要。 本文探討在移轉期間和移轉后維護不間斷作業及保護數據的策略和最佳做法。 藉由使用 Azure 的強固 BCDR 功能,您可以將停機時間降到最低、防止數據遺失,並確保災害期間快速復原。 本指南提供開發完整 BCDR 計劃、解決潛在風險,以及使用 Azure 進階功能來增強復原力和可靠性所需的深入解析。 無論您的目標是改善災害復原功能或確保持續可用性,本文都為您提供了實現順暢且安全的移轉知識。
必要條件
將 MySQL 內部部署移轉至 適用於 MySQL 的 Azure 資料庫:優化
備份及還原
如同任何任務關鍵系統,擁有備份與還原及災害復原 (BCDR) 策略是整體系統設計的重要部分。 若發生未預期的事件,您應該能夠在合理的時間 (復原時間目標) 將資料還原到某個時間點 (復原點目標)。
Backup
適用於 MySQL 的 Azure 資料庫 預設支援自動備份七天。 將此修改為目前最多 35 天可能適用。 請務必注意,若該值變更為 35 天,則配置超過 1 倍儲存體的任何額外備份儲存體都會產生費用。
資料庫備份功能目前有數項限制,如適用於 MySQL 的 Azure 資料庫文件中備份與還原一文所述。 決定應該實作的其他策略時,請務必先了解這些策略。
要注意的一些項目包括:
沒有備份的直接存取權
最多允許 4 TB 的階層每週有一次完整備份、每天有兩次差異,以及每五分鐘記錄一次
最多允許 16 TB 的階層具有快照式備份
注意
某些區域尚未支援最多 16 TB 的儲存體。
還原
必須在伺服器建立期間設定備援 (本機或異地)。 然而,可以執行異地復原,並允許在還原程序期間修改這些選項。 執行還原作業可能會暫時停止連線,而且任何應用程式在還原程序期間都會關閉。
在資料庫還原期間,必須還原資料庫以外的任何支援項目。
檢閱移轉程序。 如需詳細資訊,請參閱執行還原後工作。
讀取複本
讀取複本可用於增加 MySQL 讀取輸送量、改善區域使用者的效能,以及實作災害復原。 建立一或多個讀取複本時,請注意,會針對與主要伺服器相同的計算及儲存體套用額外的費用。
刪除的伺服器
若系統管理員或惡意執行者刪除 Azure 入口網站中的伺服器,或透過自動化方法刪除所有備份與讀取複本, 請務必在 適用於 MySQL 的 Azure 資料庫 資源群組上建立資源鎖定,以將額外的刪除防護層新增至實例。
區域失敗
雖然很少見,但若發生區域失敗,可使用異地備援備份或讀取複本再次執行資料工作負載。 最好讓異地復寫和讀取複本都可供最佳保護,以防止非預期的區域失敗。
注意
變更資料庫伺服器區域也表示端點確實會變更,而且必須據此更新應用程式設定。
負載平衡器
如果應用程式是由世界各地許多不同的實例所組成,則更新所有用戶端可能不可行。 利用 Azure Load Balancer 或應用程式閘道來實作順暢的容錯移轉功能。 雖然這些工具實用且省時,但區域容錯移轉功能並不需要它們。
WWI 案例
WWI 想要測試讀取複本的容錯移轉功能,以便執行下述步驟。
建立讀取複本
開啟 Azure 入口網站。
瀏覽至適用於 MySQL 的 Azure 資料庫執行個體。
在 [設定] 下,選取 [複寫]。
選取 [新增複本]。
鍵入伺服器名稱。
選取區域。
選取 [確定],等候執行個體部署。 視主要執行個體的大小而定,可能需要一些時間才能複寫。
注意
每個複本都會產生等於主要執行個體的額外費用。
容錯移轉至讀取複本
建立讀取複本並完成複寫程序之後,即可將該讀取複本用於容錯移轉。 複寫會在容錯移轉期間停止,並使讀取複本成為自己的主要執行個體。
容錯移轉步驟:
開啟 Azure 入口網站。
瀏覽至適用於 MySQL 的 Azure 資料庫執行個體。
在 [設定] 下,選取 [複寫]。
選取其中一個讀取複本。
選取 [停止複寫]。 這會中斷該讀取複本。
修改所有應用程式連接字串,以指向新的主要執行個體。
BCDR 檢查清單
修改備份頻率以符合需求。
為讀取密集型工作負載與區域容錯移轉設定讀取複本。
在資源群組上建立資源鎖定。
為應用程式實作負載平衡策略,以進行快速容錯移轉。