Amazon RDS for SQL Server - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon RDS for SQL Server

Amazon RDS for SQL Server 是一種受管資料庫服務,可簡化 SQL Server 的佈建和管理 AWS。Amazon RDS 可讓您在雲端輕鬆設定、操作和擴展 SQL Server 部署。使用 Amazon RDS,您可以在幾分鐘內部署多個版本的 SQL Server (2014、2016、2017、2019 和 2022) 和版本 (包括 Express、Web、Standard 和 Enterprise),具有經濟實惠且可擴展的運算容量。您可以使用一般用途 SSD 或佈建 IOPS SSD 儲存體佈建 Amazon RDS for SQL Server 資料庫執行個體。(如需詳細資訊,請參閱 AWS 文件中的 Amazon RDS 儲存類型。) 佈建 IOPS SSD 旨在提供快速、可預測且一致的 I/O 效能,並針對 I/O 密集型交易 (OLTP) 資料庫工作負載進行最佳化。

Amazon RDS 可讓您專注於應用程式開發,因為它會管理耗時的資料庫管理任務,包括佈建、備份、軟體修補、監控和硬體擴展。Amazon RDS for SQL Server 也提供異地同步備份部署和僅供讀取複本 (適用於 SQL Server Enterprise Edition),可為生產工作負載提供高可用性、效能、可擴展性和可靠性。

選擇 Amazon RDS 的時機

下列情況下,Amazon RDS for SQL Server 是遷移選項:

  • 您想要專注於您的業務和應用程式,並且 AWS 想要處理未區分的繁重任務,例如佈建資料庫、管理備份和復原任務、管理安全修補程式、次要 SQL Server 版本升級和儲存體管理。

  • 您需要高可用性的資料庫解決方案,並且想要利用 Amazon RDS 提供的按鈕式同步多可用區域複寫,而不必手動設定和維護資料庫鏡像、容錯移轉叢集或 Always On 可用性群組。

  • 您想要按小時支付執行個體成本一部分的 SQL Server 授權,而不是進行大型的前期投資。

  • Amazon RDS for SQL Server 支援您的資料庫大小和 IOPS 需求。如需目前上限限制,請參閱 AWS 文件中的 Amazon RDS 資料庫執行個體儲存

  • 您不想管理資料庫的備份或point-in-time復原。

  • 您想要專注於高階任務,例如效能調校和結構描述最佳化,而不是每日管理資料庫。

  • 您想要根據您的工作負載模式向上或向下擴展執行個體類型,而無需擔心授權複雜性。

評估資料庫和專案需求後,如果您決定遷移至 Amazon RDS for SQL Server,請參閱下列各節中提供的詳細資訊,並檢閱本指南稍後討論的遷移最佳實務

如需目前支援的 SQL Server 功能、版本和選項,請參閱 AWS 網站上的 Amazon RDS for SQL Server 功能、本指南稍後的 Amazon EC2 和 Amazon RDS 之間選擇,以及 AWS 文件中的 Amazon RDS 上的 Microsoft SQL Server。如果您要移至 Amazon RDS Custom,請務必檢閱 Amazon RDS Custom for SQL Server 的要求和限制

高可用性

Amazon RDS 為使用異地同步備份選項部署的資料庫提供高可用性和容錯移轉支援。當您使用異地同步備份選項佈建資料庫時,Amazon RDS 會自動在不同的可用區域中佈建並維護同步待命執行個體。主要資料庫會將資料同步複寫到待命執行個體。如果發生問題,Amazon RDS 會自動修復運作狀態不佳的執行個體,並重新建立同步。如果發生基礎設施故障或可用區域中斷,Amazon RDS 會執行待命執行個體的自動容錯移轉。只有在待命資料庫和主要資料庫完全同步時,才會發生容錯移轉。由於主要和待命執行個體的端點保持不變,因此您可以在容錯移轉完成後立即繼續資料庫操作,而無需執行手動介入。容錯移轉時間取決於完成復原程序所需的時間。大型交易會增加此容錯移轉時間。

下圖說明 Amazon RDS for SQL Server 異地同步備份部署選項。

Amazon RDS for SQL Server in a Multi-AZ configuration

當您在多可用區組態中設定 SQL Server 時,Amazon RDS 會根據您部署的 SQL Server 版本,使用資料庫鏡像或 Always On 可用性群組自動設定待命資料庫執行個體。Amazon RDS 文件會列出特定的 SQL Server 版本和版本。

在異地同步備份部署中,執行個體擴展或作業系統 (OS) 修補等系統升級等操作會先套用至待命執行個體,然後再自動容錯移轉主要執行個體,以提高可用性。

由於 SQL Server 的容錯移轉最佳化,某些工作負載可能會在待命執行個體上產生比主要執行個體更大的 I/O 負載,尤其是在資料庫鏡像部署中。此功能可能會在待命執行個體上產生更高的 IOPS。建議您在佈建 Amazon RDS for SQL Server 資料庫執行個體的儲存類型和 IOPS 時,同時考慮主要執行個體和待命執行個體的最大 IOPS 需求。如果您的用戶端驅動程式支援MultiSubnetFailover=True,您也可以指定 ,以大幅縮短容錯移轉時間。

限制

  • 異地同步備份選項不適用於 SQL Server Express 和 Web 版本。它僅適用於 SQL Server Standard 和 Enterprise Edition。

  • 您無法將待命資料庫執行個體設定為接受資料庫讀取活動。

  • 不支援跨區域多可用區域。

  • 在 Amazon RDS 中,您可以對獨立資料庫執行個體發出停止命令,並將執行個體保持在停止狀態,以避免產生運算費用。您無法停止多可用區域組態中的 Amazon RDS for SQL Server 資料庫執行個體。反之,您可以終止執行個體、在終止前拍攝最終快照,並在需要時從快照重新建立新的 Amazon RDS 執行個體。或者,您可以先移除異地同步備份組態,然後停止執行個體。七天後,您停止的執行個體將會重新啟動,以便套用任何待定的維護。

如需其他限制,請參閱 Amazon RDS 文件中的 Microsoft SQL Server 異地同步備份部署備註和建議

僅供讀取複本

僅供讀取複本提供可擴展性和負載平衡。SQL Server 僅供讀取複本是 Amazon RDS for SQL Server 資料庫執行個體的實體複本,用於唯讀目的。Amazon RDS 透過將唯讀工作負載卸載至僅供讀取複本資料庫執行個體,協助減少主要資料庫執行個體的負載。對主要資料庫執行個體所做的更新會以非同步方式複製到僅供讀取複本執行個體。

當您請求僅供讀取複本時,Amazon RDS 會擷取來源資料庫執行個體的快照,而此快照會成為僅供讀取複本。建立和刪除僅供讀取複本時不會中斷。無論維護時段為何,Amazon RDS for SQL Server 升級僅供讀取複本後,都會立即升級主要資料庫。每個僅供讀取複本都隨附單獨的端點,您可用來連線至僅供讀取複本資料庫。

Amazon RDS for SQL Server 透過設定 Always On 可用性群組,以及維護主要資料庫執行個體與其僅供讀取複本之間的安全網路連線,讓您輕鬆建立僅供讀取複本。

您可以在與主要資料庫相同的 AWS 區域中設定僅供讀取複本,或在另一個區域中設定僅供讀取複本。您可以為一個來源資料庫執行個體建立最多五個僅供讀取複本。

注意

僅供讀取複本僅適用於下列 SQL Server 版本:

  • SQL Server 2017 Enterprise 14.00.3049.1 版或更新版本

  • SQL Server 2016 Enterprise 13.00.5216.0 版或更新版本

支援多可用區域環境的資料庫鏡像的 SQL Server 版本和版本不提供僅供讀取複本。

下圖說明在異地同步備份環境中的 Amazon RDS for SQL Server 資料庫執行個體,其僅供讀取複本位於相同 AWS 區域內的另一個可用區域中。並非所有 AWS 區域都提供兩個以上的可用區域,因此您應該先檢查計劃使用的 區域,再採用此策略。

Amazon RDS for SQL Server with a read replica in another Availability Zone in the same Region

SQL Server 僅供讀取複本不允許寫入操作。不過,您可以提升僅供讀取複本,使其可寫入。提升後,您無法將其還原為僅供讀取複本。它將成為與其原始主要資料庫執行個體沒有關係的單一獨立資料庫執行個體。提升後的僅供讀取複本中的資料將與來源資料庫執行個體中的資料相符,直到提出提升請求為止。來源資料庫執行個體的 SQL Server 資料庫引擎版本及其所有僅供讀取複本將相同。

為了有效複寫,建議您執行下列操作:

  • 使用與來源資料庫執行個體相同的運算和儲存資源來設定每個僅供讀取複本。

  • 您必須將備份保留期設定為 0 (零) 以外的值,在來源資料庫執行個體上啟用自動備份。

  • 來源資料庫執行個體必須部署在具有 Always On 可用性群組的異地同步備份環境中。

如需 SQL Server 版本支援、版本和限制,請參閱 Amazon RDS 文件中的使用 SQL Server 讀取複本限制

如需使用僅供讀取複本的詳細資訊,請參閱 AWS 文件中的使用僅供讀取複本使用 Amazon RDS 的 SQL Server 僅供讀取複本。如需資料傳輸定價的詳細資訊,請參閱 Amazon RDS 定價

災難復原

透過 Amazon RDS for SQL Server,您可以建立可靠的跨區域災難復原 (DR) 策略。建立 DR 解決方案的主要原因是業務持續性和合規:

  • 有效的 DR 策略可協助您在災難性事件期間,以最小或無中斷的方式保持系統正常運作。即使整個區域離線,可靠且有效的跨區域 DR 策略也能讓您的業務保持運作狀態。

  • 跨區域 DR 解決方案可協助您滿足稽核和合規要求。

復原點目標 (RPO)、復原時間目標 (RTO) 和成本是開發 DR 策略時需要考慮的三個關鍵指標。如需提供跨區域複本的其他選項,請參閱 AWS Marketplace。如需這些方法的詳細資訊,請參閱 AWS 資料庫部落格上的 Amazon RDS for SQL Server 的跨區域災難復原