我想知道將單一可用區域 Amazon Relational Database Service (Amazon RDS) 資料庫執行個體變更為多可用區域執行個體的影響。
- 或 -
我想知道將多可用區域 Amazon RDS 資料庫執行個體變更為單一可用區域執行個體的影響。
簡短描述
在單一可用區域設定中,一個 Amazon RDS 資料庫執行個體以及一個或多個 Amazon Elastic Block Store (Amazon EBS) 儲存磁碟區會部署在一個可用區域中。在多可用區域組態中,資料庫執行個體和 EBS 儲存磁碟區會跨兩個可用區域部署。
在執行個體上啟用多可用區域時,Amazon RDS 會使用同步儲存複寫來維護資料的冗餘且一致的備用複本。Amazon RDS 會偵測異地同步備份部署的最常見基礎設施故障情況,然後自動從中復原。進行此偵測和復原程序是為了讓您可以盡快繼續資料庫操作。如需詳細資訊,請參閱 Amazon RDS 的高可用性 (多可用區域)。
若要將資料庫執行個體從單一可用區域部署變更為異地同步備份部署,反之亦然,請參閱修改 Amazon RDS 執行個體。
解決方案
將單一可用區域執行個體變更為多可用區域執行個體的影響
在將單一可用區域執行個體變更為多可用區域時,執行個體不會遇到任何停機時間。在修改期間,Amazon RDS 會建立執行個體磁碟區的快照。然後,此快照將用於在另一個可用區域中建立新磁碟區。雖然這些新磁碟區可立即使用,但效能可能會受到影響。發生此影響的原因是新磁碟區的資料仍從 Amazon Simple Storage Service (Amazon S3) 載入。同時,資料庫執行個體會繼續在背景載入資料。此程序稱為延遲載入,這可能會導致寫入延遲增加,並在修改程序期間和之後對效能造成影響。
效能影響量取決於磁碟區類型、工作負載、執行個體和磁碟區的大小。在操作尖峰時段,對大型寫入密集型資料庫執行個體的影響可能較為顯著。因此,在生產環境中執行此修改之前,測試對測試執行個體的影響是最佳實務。在維護或低輸送量時段中完成此修改也是最佳實務。
減少載入的持續時間
若要主動減少載入的持續時間和影響,請執行以下操作:
- 將資料庫執行個體的儲存類型變更為佈建 IOPS。請務必佈建遠高於工作負載所需的 IOPS 數量。
**注意:**如果執行個體使用自訂參數群組,此步驟可能會造成短暫的停機時間。
- 將執行個體變更為多可用區域。
- 在執行個體上啟動容錯移轉,以確保新的可用區域是主要可用區域。
- 在執行個體上執行完整的資料傾印程序。或者,在最活躍的表格上執行完整表格掃描查詢,以加快將資料載入磁碟區的速度。
- 透過檢閱 Amazon CloudWatch 中的 WriteLatency 指標,確認寫入延遲返回已恢復到正常等級。
- 將執行個體儲存體的類型或 IOPS 變更回先前的組態。
注意:此步驟不需要停機時間。
如果您的執行個體已經是多可用區域,請減少延遲
如果您已將執行個體修改為多可用區域,若要減少延遲,請執行以下操作:
- 在執行個體上啟動容錯移轉,以確保新的可用區域是主要可用區域。
- 將資料庫執行個體的儲存類型變更為佈建 IOPS。請務必佈建遠高於工作負載所需的 IOPS 數量。
**注意:**此步驟不需要停機時間。
- 在執行個體上執行完整的資料傾印程序。或者,在最活躍的表格上執行完整表格掃描查詢,以加快將資料載入磁碟區的速度。
- 透過檢閱 Amazon CloudWatch 中的 WriteLatency 指標,確認寫入延遲返回已恢復到正常等級。
- 將執行個體儲存體的類型或 IOPS 變更回先前的組態。
注意:此步驟不需要停機時間。
在將資料庫執行個體從單一可用區域變更為多可用區域時,則會在另一個可用區域中使用相同的組態建立備用執行個體。這會導致額外的成本。此外,由於多可用區域使用同步複寫,因此寫入速度會比單一可用區域中的寫入速度稍慢。
將多可用區域執行個體變更為單一可用區域執行個體的影響
將執行個體從多可用區域變更為單一可用區域時,執行個體不會遇到停機時間。修改期間,Amazon RDS 只會刪除次要執行個體和磁碟區,主執行個體不受影響。
在將執行個體從多可用區域變更為單一可用區域部署之前,需要考量以下幾點:
- 透過異地同步備份部署,Amazon RDS 會在資料庫執行個體的計劃內或計劃外中斷期間,自動切換至另一個可用區域中的備用複本。但是,在單一可用區域執行個體中,您可能必須啟動時間點還原操作。此操作可能需要幾個小時才能完成。在最近的復原時間點之後發生的任何資料更新均無法使用。因此,如果發生故障,單一可用區域執行個體可能會遇到額外的停機時間。
- 在多可用區域執行個體中,自動備份期間會從次要執行個體建立自動備份。針對 Amazon RDS for MariaDB、Amazon RDS for MySQL、Amazon RDS for Oracle 和 Amazon RDS for PostgreSQL,在異地同步備份部署的備份期間,主要執行個體上的輸入/輸出活動不會暫停,因為是從次要執行個體進行備份。針對 Amazon RDS for SQL Server,在異地同步備份部署的備份期間,輸入/輸出活動會暫停。單一可用區資料庫執行個體上的備份程序會導致短暫的輸入/輸出暫停,可能會持續幾秒至幾分鐘。時間長短視資料庫執行個體的大小和類別而定。
- 在異地同步備份部署中,作業系統維護會先套用至次要執行個體。次要執行個體會升級為主要執行個體,然後在舊的主要執行個體上執行維護,這會是新的備用執行個體。因此,某些作業系統在多可用區域執行個體修補期間的停機時間最小。
- 如果您擴展多可用區域執行個體,則停機時間會降至最低。這是因為次要執行個體會先進行修改。次要執行個體會升級為主要執行個體。然後,舊的主要執行個體 (現在是次要執行個體) 會進行修改。在擴展操作期間,單一可用區域執行個體變為無法使用。
相關資訊
Amazon RDS 異地同步備份部署