AWS資料庫異地備援服務
與商城、租用平台相比,自行營運品牌電商網站雖然擁有行銷自主權、網站功能調整彈性、數據分析的掌握等多種優勢,但相對的,品牌勢必會需要花更多人力去維護,包含網站或伺服器上的問題。若自有品牌電商遇到技術上的問題,將會需要有專業的技術人員或是第三方協力廠商協助處理,視問題嚴重情況得花上長短不等的工作時間,而期間若有網站停擺的情況,將會造成收入上的虧損。
AWS雲端運算提供了相當多的解決方案,歐斯瑞今天要來介紹其中一項與資料庫有關的備援服務「異地備援」。在講異地備援服務前,首先要提提什麼是Amazon RDS:
Amazon RDS全名為Amazon Relational Database Service,是AWS針對MySQL、MariaDB、Oracle等六種常見的資料庫引擎,它提供經濟實惠且可調整大小的容量,且可自動處理硬體佈建、資料庫設定、修補程式和備份等耗時的管理任務。這讓您有更多時間專注在應用程式,以提供其所需的快速效能、高可用性、安全性和相容性。
而異地備援就是Amazon RDS裡面的其中一下服務,其使用此服務將會啟用Multi-AZ(Availability Zone)複合可用區域,架構圖大致如下:
由此圖可以看到此架構開了兩個可用區AZ(Availability zone),一個主要資料庫和一個預備資料庫,這兩個資料庫會做到即時備份(Real-Time Backup),也就是說備用資料庫和主資料庫的資料都會同步保持在最新的資料狀態,而若發生可用區(AZ)運行中斷、主要資料庫失靈或其他故障的情況下,異地備援將會自動Failover(容錯轉移,一種備用作業,會自動將故障系統的要求重新導向到備用系統),Failover完成後即可立即繼續執行資料庫操作以維持網站運行,無須手動管理介入。
相對來說若沒有使用異地備援服務,將代表你在Amazon RDS中只能使用單一可用區部署,一旦發生資料庫故障,將會需要使用者啟動的 point-in-time 恢復操作。這項操作時需要花數小時才能完成,也就是說停機時間是不可避免的,這段時間網站將無法運行,且由於沒有同步備份的資料庫在,因此只能將系統還原到最接近的備份,在那段備份點之後的任何資料更新將無法還原到。但額外一點需注意的是,為確保主資料庫故障時,另一個備用資料庫可即時使用,在主資料庫容錯轉移前,是無法訪問備用資料庫的。
若沒有使用Amazon RDS中的異地同步備份部署服務,一般都只會提供讀取複本功能,大致差異比較如下:
異地同步備份部署 | 僅供讀取複本 |
同步複寫 | 非同步複寫 |
只有主要資料庫引擎可存取 | 所有僅供讀取副本皆可供存取,且可用於讀取擴展 |
備用資料庫進行自動備份 | 預設不會設定任何備份 |
在單一區域內一律跨越兩個可用區域 | 可以在一個可用區域內、跨可用區域或跨區域 |
資料庫引擎版本升級發生於主要執行個體 | 資料庫引擎版本升級獨立於來源執行個體 |
偵測到問題時自動容錯移轉至備用執行個體 | 可手動升級為獨立資料庫執行個體 |
您可以結合異地同步備份部署和僅供讀取複本,以獲得兩者的優點。例如,您可以將來源資料庫設為異地同步備份以獲得高可用性,並建立僅供讀取複本 (在單一可用區域) 以獲得讀取擴展性。
AWS資料庫異地備援服務優缺點
優點:
- 可以自動同步資料庫到不同AZ(Availability Zone,可用區域),企業不需擔心流失大量重要資料。
- 資料庫故障時會自動Failover(容錯轉移),啟用備用資料庫時不會有停機時間,減少額外營業損失風險。
- 不需耗費額外時間成本與人力成本去維護,一切交給AWS。
缺點:
- 完善的解決方案,因此相對服務價格較高
若有其他伺服器架構規劃上的相關需求,歡迎隨時洽詢歐斯瑞有限公司,也別忘了訂閱我們的電子報,以及追蹤我們的Facebook粉絲專頁唷!
參考資料:
原AWS官方說明頁面
延伸閱讀:
Navicat – 統一的資料庫管理工具
我要留言