最佳化SQL伺服器備份策略 - AWS 規範指引

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

最佳化SQL伺服器備份策略

概觀

大多數組織都在尋找正確的解決方案來保護其 Amazon EC2 上SQL伺服器上的資料,以符合其目前對復原點目標 (RPO)、自上次備份以來可接受的時間上限,以及復原時間目標 (RTO),以及服務中斷和還原服務之間的可接受延遲上限的要求。如果您是在EC2執行個體上執行SQL伺服器,您有多個選項可建立資料的備份並還原資料。保護 Amazon 上 SQL Server 資料的備份策略EC2包括:

您具有下列資料庫層級原生備份的儲存選項:

本節執行下列動作:

  • 反白顯示可協助您節省儲存空間的功能

  • 比較不同後端儲存選項之間的成本

  • 提供深入文件的連結,以協助實作這些建議

使用VSS啟用 的快照進行伺服器層級備份

VSS啟用 的快照架構會使用 AWS Systems Manager 執行命令在您的SQL伺服器執行個體上安裝VSS代理程式。您也可以使用 Run Command 叫用整個工作流程,將作業系統和應用程式緩衝區排清到磁碟、暫停 I/O 操作、拍攝 point-in-timeEBS磁碟區快照,然後繼續 I/O。

此執行命令會建立連接到目標執行個體之所有EBS磁碟區的自動快照。也可以選擇排除根磁碟區,因為使用者資料庫檔案通常儲存在其他磁碟區上。如果您為SQL伺服器檔案分割多個EBS磁碟區以建立單一檔案系統,Amazon EBS也支援使用單一API命令的損毀一致性多磁碟區快照。如需啟用應用程式一致性VSS的EBS快照的詳細資訊,請參閱 Amazon EC2 文件中的建立VSS應用程式一致性快照

下圖顯示使用VSS已啟用 的快照進行伺服器層級備份的架構。

VSS啟用 的快照架構

考慮使用VSS啟用 的快照的下列優點:

  • 資料庫執行個體的第一個快照會包含完整的資料庫執行個體資料。相同資料庫執行個體的後續快照均採用遞增處理,這表示系統僅會儲存上次執行快照後有所變更的資料。

  • EBS 快照提供 point-in-time復原。

  • 您可以從快照 還原至新的SQL伺服器EC2執行個體

  • 如果執行個體是使用 Amazon 加密,EBS或者如果執行個體中的資料庫是使用 加密TDE,則該執行個體或資料庫會自動以相同的加密還原。

  • 您可以複製跨區域的自動備份

  • 當您從快照還原磁碟區時,應用程式會立即存取該EBS磁碟區。這表示從快照還原其一或多個基礎EBS磁碟區之後,您可以立即讓SQL伺服器上線。

  • 依預設,還原的磁碟區會在應用程式第一次嘗試讀取時,從 Amazon S3 中擷取基礎區塊。這表示從快照還原EBS磁碟區後,效能可能會延遲。音量最終達到標稱性能。不過,您可以使用快速快照還原 (FSR) 快照來避免延遲。

  • 您可以使用EBS快照 的生命週期管理

考慮使用VSS啟用 的快照的下列限制:

  • 您無法使用SQL伺服器執行個體的加密快照執行跨區域 point-in-time復原。

  • 您無法建立未加密執行個體的加密快照。

  • 您無法還原個別資料庫,因為快照是在EBS磁碟區層級進行拍攝。

  • 您無法將執行個體還原至其本身。

  • 資料庫執行個體的快照必須使用與資料庫執行個體相同的 AWS Key Management Service (AWS KMS) 金鑰加密。

  • 在快照備份過程中,儲存 I/O 會暫停幾秒鐘 (約 10 毫秒)。

SQL 使用 的伺服器備份 AWS Backup

您可以使用 AWS Backup集中和自動化跨 的資料保護 AWS 服務。 AWS Backup 提供具成本效益、完全受管、以政策為基礎的解決方案,可簡化大規模資料保護。 AWS Backup 也可協助您支援法規遵循義務,並實現業務連續性目標。搭配 AWS Organizations, AWS Backup 可讓您集中部署資料保護 (備份) 政策,以設定、管理和管理整個組織 AWS 帳戶 和資源的備份活動。

下圖顯示EC2使用 為 上的SQL伺服器備份和還原解決方案的架構 AWS Backup。

AWS Backup 架構

請考慮使用 備份SQL伺服器時具有下列優點 AWS Backup:

  • 可自動化備份排程、保留管理和生命週期管理。

  • 您可以集中整個組織的備份策略,跨越多個帳戶和 AWS 區域。

  • 您可以透過 集中監控備份活動和警示 AWS 服務。

  • 可以為災難復原規劃實作跨區域備份。

  • 該解決方案可支援跨帳戶備份。

  • 可以使用次要備份加密執行安全備份。

  • 所有備份都支援使用加密金鑰進行 AWS KMS 加密。

  • 解決方案適用於 TDE。

  • 可以從 AWS Backup 主控台還原至特定復原點。

  • 您可以備份整個SQL伺服器執行個體,其中包含所有SQL伺服器資料庫。

資料庫層級備份

這些方法使用原生 Microsoft SQL Server 備份功能。您可以在SQL伺服器執行個體上備份個別資料庫,並還原個別資料庫。

原生SQL伺服器備份和還原的每個選項也支援下列各項:

  • 壓縮和多檔案備份

  • 完整、差異和 T 日誌備份

  • TDE-加密的資料庫

SQL 伺服器原生備份和還原至 Amazon S3

SQL Amazon 上的伺服器EC2支援SQL伺服器資料庫的原生備份和還原。您可以備份SQL伺服器資料庫,然後將備份檔案還原至現有資料庫或新的SQL伺服器EC2執行個體、Amazon RDS for SQL Server 或內部部署伺服器。

Storage Gateway 是一種混合雲端儲存服務,可讓內部部署應用程式存取幾乎無限制的雲端儲存。您可以使用 Storage Gateway 將 Microsoft SQL Server 資料庫直接備份至 Amazon S3,減少內部部署儲存體佔用空間,並使用 Amazon S3 進行持久、可擴展且符合成本效益的儲存。

下圖顯示使用 Storage Gateway 和 Amazon S3 的原生備份和還原解決方案的架構。

Storage Gateway 和 Amazon S3 架構

考慮將原生SQL伺服器備份與 Storage Gateway 搭配使用的下列優點:

  • 您可以在EC2執行個體上將儲存閘道對應為伺服器訊息區塊 (SMB) 檔案共用,並將備份傳送至 Amazon S3。

  • 備份會直接傳送至 S3 儲存貯體或透過 Storage Gateway 檔案快取。

  • 支援多檔案備份。

考慮使用 Storage Gateway 進行原生備份的下列限制:

如需如何設定 Storage Gateway 的詳細資訊,請參閱 AWS 使用部落格上的文章在 Amazon S3 中儲存SQL伺服器備份 AWS Storage Gateway

SQL 伺服器原生備份至EBS磁碟區

您可以對SQL伺服器資料庫進行原生備份,並將檔案存放在 Amazon EBS磁碟區中。Amazon EBS 是一種高效能區塊儲存服務。EBS 磁碟區是彈性的,支援加密。它們可以分離並連接到EC2執行個體。您可以在相同EBS磁碟區類型或不同EBS磁碟區類型的EC2執行個體上備份SQL伺服器。備份到不同EBS磁碟區的一個優點是節省成本。

下圖顯示 磁碟EBS區的原生備份架構。

Amazon EBS磁碟區架構

考慮使用SQL伺服器原生備份至EBS磁碟區的下列優點:

  • 您可以備份SQL伺服器EC2執行個體上的個別資料庫,並還原個別資料庫,而不必還原完整的執行個體。

  • 支援多檔案備份。

  • 您可以使用 SQL Server Agent 和 SQL Server 任務引擎來排程備份任務。

  • 可以透過硬體選擇獲得效能優勢。例如,可以使用 st1 儲存磁碟區來達到更高的輸送量。

考慮使用原生備份至EBS磁碟區的下列限制:

  • 您必須手動將備份從EBS磁碟區移至 Amazon S3。

  • 對於大型備份,您必須在 Amazon 上管理磁碟空間EC2。

  • 在EC2執行個體上,Amazon EBS輸送量可能是瓶頸。

  • 在 Amazon 上儲存備份需要額外的儲存體EBS。

SQL Amazon FSx for Windows File Server 的伺服器原生備份

Amazon FSx for Windows File Server 是完全受管的原生 Windows 檔案系統,可提供高達 64 TB 的儲存,旨在提供快速、可預測且一致的效能。針對 FSx Windows File Server 的 上的多可用區域檔案系統部署 AWS ,引進原生支援。 https://aws.amazon.com/blogs/aws/amazon-fsx-for-windows-file-server-update-new-enterprise-ready-features/原生支援可讓您更輕鬆地在 上部署 Windows 檔案儲存 AWS ,並在多個可用區域之間提供高可用性和備援。 AWS 也推出SMB對持續可用 (CA) 檔案共用的支援。您可以使用 FSx for Windows File Server 作為SQL伺服器資料庫的備份儲存體。

下圖顯示 Windows File SQL Server FSx的 原生伺服器備份架構。

FSx 適用於 Windows File Server 備份架構

考慮使用 Windows File Server FSx的 原生SQL伺服器備份的下列優點:

  • 您可以將SQL伺服器資料庫備份至 Amazon FSx 檔案共用。

  • 您可以備份SQL伺服器執行個體上的個別資料庫,並還原個別資料庫,而不必還原完整的執行個體。

  • 支援分段備份。

  • 您可以使用 SQL Server Agent 和任務引擎來排程備份任務。

  • 相較於 Amazon ,執行個體的網路頻寬更高EBS。

考慮使用 Windows File Server FSx的 原生SQL伺服器備份的下列限制:

  • 您必須FSx使用 AWS Backup 或 手動將備份從 Amazon S3 移至 Amazon S3 AWS DataSync。

  • 大型備份可能需要額外的額外額外負荷才能在 Amazon 上管理磁碟空間FSx。

  • EC2 執行個體網路輸送量可能是瓶頸。

  • 在 FSx Windows File Server 的 上儲存備份需要額外的儲存體。

SQL FSx的伺服器備份至 Amazon NetApp ONTAP

使用 FSx的快照ONTAP一律會一致當機,但需要您查詢 (或暫停資料庫的 I/O),才能建立應用程式一致性快照。您可以使用 NetApp SnapCenter (具有特定應用程式的外掛程式的協調工具,包括SQL伺服器) 與 FSxONTAP建立應用程式一致性的快照,並保護、複寫和複製資料庫,無需額外費用。

NetApp SnapCenter

NetApp SnapCenter 是應用程式一致性資料保護的統一平台。 SnapCenter 將快照稱為備份。本指南採用相同的命名慣例。 SnapCenter 提供單一面板,用於管理應用程式一致性備份、還原和複製。您可以為特定資料庫應用程式新增 SnapCenter 外掛程式,以建立應用程式一致性備份。 SnapCenter 適用於 SQL Server 的外掛程式提供下列功能,可簡化資料保護工作流程。

  • 完整備份和日誌備份的精細備份和還原選項

  • 就地還原和還原至替代位置

如需 的詳細資訊 SnapCenter,請參閱使用 NetApp SnapCenter 搭配 Amazon 保護SQL伺服器工作負載FSx,以在 NetApp ONTAP AWS Storage 部落格上發佈。

備份的成本最佳化

下列選項可協助您降低在 上儲存SQL伺服器備份的成本 AWS。

  • 在建立備份檔案期間啟用SQL伺服器壓縮,並將最小的檔案傳送至儲存體。例如,3:1 壓縮率表示您在磁碟空間上儲存了約 66%。若要在這些資料欄上查詢,您可以使用下列 Transact-SQL 陳述式:SELECT backup_size/compressed_backup_size FROM msdb..backupset;

  • 對於前往 S3 儲存貯體的備份,請啟用 Amazon S3 Intelligent-Tiering 儲存類別,將儲存成本降低 30%。 

  • 對於前往FSx適用於 Windows File Server 或FSx適用於 的備份ONTAP,請使用單一可用區域以節省 50% 的成本 (與使用多個可用區域相比)。如需定價資訊,請參閱 Amazon FSx for Windows File Server PricingAmazon FSx for NetApp ONTAP Pricing

  • SQL Server 2022 最有效率的選項是直接備份至 Amazon S3。您可以避免 Storage Gateway ,以節省額外的成本。

備份基準測試結果

本節根據本指南中涵蓋的備份解決方案的效能基準測試結果,比較範例 1 TB 資料庫的成本和效能觀點的下列選項。

  • EC2 執行個體規格 – r5d.8xlarge 搭配 Windows Server 2019 和 SQL Server 2019 開發人員版本

  • 資料庫規格 – 1 TB 大小且TDE已停用

測試是以 r5d.8xlarge 執行個體和 1 TB SQL Server 資料庫作為來源來執行。根據最佳實務設定來源系統,來源資料庫包含四個資料檔案 (每個 250 GB) 和一個日誌檔案 (50 GB),分散到不同的 gp3 磁碟區。SQL 伺服器原生BACKUP命令包括寫入 10 個備份檔案,使用壓縮來最佳化備份效能,並減少透過網路傳送並寫入目標的資料量。在所有測試案例中,儲存效能是瓶頸。

對於這些類型的測試,有各種各樣的可能組態。此測試著重於最佳化效能、成本、可擴展性和實際使用案例。下表顯示為備份目標選項擷取的效能指標。

備份選項 Level 執行持續時間 (Appx) 備份速率 USD 每月成本*
本機 EBS st1 的原生備份HDD,2 TB 資料庫 00:30:46 分鐘 554.7 Mbps 92.16 美元
本機 EBS SSD gp3 的原生備份,2 TB 資料庫 00:22:00 分鐘 512 Mbps 193.84 美元
原生備份至 FSx for Windows File Server HDD,2 TB @512 Mbps 輸送量 資料庫 00:20:58 分鐘 814.0 Mbps 1,146 美元
原生備份至 FSx for Windows File Server SSD,2 TB @512 Mbps 輸送量 資料庫 00:20:00 分鐘 814.0 Mbps 1,326 美元
原生備份至具有 2 TB gp3 的 S3 File Gateway m6i.4xlarge (16 v CPU,64 GB) 資料庫 00:23:20 分鐘 731.5 Mbps $470.42
EBS VSS 快照 EBS 磁碟區

00:00:02 秒

00:00:53 秒

不適用快照 51 美元
AWS Backup (AMI 備份) AMI

00:00:04 秒

00:08:00 分鐘

不適用快照 75 美元
直接原生SQL伺服器備份至 Amazon S3 (SQL Server 2022) 資料庫 00:12:00 分鐘 731.5 Mbps 前 50 TB/月,每 GB $0.023/月 $23.55
FSx 適用於 的原生備份 ONTAP(使用 SnapCenter) 資料庫 440.20 美元

上表假設下列事項:

  • 不包括資料傳輸和 Amazon S3 成本。

  • 儲存體價格包含在執行個體定價中。

  • 成本以 us-east-1區域為基礎。

  • 輸送量和IOPS成長 10%,而多個備份的整體變化率為當月 10%。

測試結果顯示最快的選項是 Windows File SQL Server FSx 的原生伺服器資料庫備份。備份至 Storage Gateway 和本機連接磁碟EBS區是更具成本效益的選項,但效能較慢。對於伺服器層級備份 (AMI),我們建議您使用 AWS Backup 以獲得最佳效能、成本和可管理性。

成本最佳化建議

了解在 Amazon 上備份 SQL Server 的可能解決方案,EC2是保護資料、確保您符合備份需求,以及制定從關鍵事件復原的計劃的關鍵。本節中探索的備份和還原SQL伺服器執行個體和資料庫的不同方法,可協助您設計備份和還原策略,以保護資料並滿足組織的需求。

本節涵蓋下列備份選項:

  • 壓縮

  • Amazon S3 Intelligent-Tiering

  • 單一可用區域

  • 備份至 URL

每個選項提供的指南都是高階。如果您想要在您的組織中實作任何這些建議,建議您聯絡帳戶團隊。然後,團隊可以與 Microsoft 專家 SA 互動以領導對話。您也可以透過電子郵件聯絡 optimize-microsoft@amazon.com。

總而言之,我們建議下列事項:

  • 如果您使用的是 SQL Server 2022,則備份到 Amazon S3 是最符合成本效益的選項。

  • 如果您使用的是 SQL Server 2019 及更早的SQL伺服器版本,請考慮將 Amazon S3 支援的 Storage Gateway 備份為最具成本效益的選項。

壓縮

壓縮的目標是減少每個備份耗用的儲存體,這有利於各種儲存選項。您必須啟用SQL伺服器SQL執行個體 層級的伺服器備份壓縮。下列範例示範如何使用備份資料庫新增壓縮關鍵字:

BACKUP DATABASE <database_name> TO DISK WITH COMPRESSION (ALGORITHM = QAT_DEFLATE)

Amazon S3 Intelligent-Tiering

對於前往 Amazon S3 儲存貯體的備份,您可以將 Amazon S3 Intelligent-Tiering 啟用為 Amazon S3 File Gateway 儲存類別 。這可以減少高達 30% 的儲存成本。然後,您可以使用可與 Active Directory 網域 整合SMB的檔案共用,將 S3 File Gateway 掛載到您的SQL伺服器。這為您提供共用的存取控制、利用現有服務帳戶的能力,以及使用常見 Microsoft 集中檔案通訊協定存取 Amazon S3。對於可能沒有直接連線至網域控制器的帳戶,您可以使用 Active Directory Connector 來促進與內部部署或雲端中的 Active Directory 通訊。若要在閘道上設定 Active Directory 設定,您必須IPs為網域控制器指定 Active Directory Connector,以將請求代理至 Active Directory。

下圖顯示以 S3 Intelligent-Tiering 為基礎的解決方案架構。

S3 Intelligent-Tiering 架構

根據預設,寫入 S3 儲存貯體的備份檔案會使用 Standard 層。若要將備份檔案從標準層轉換為 S3 Intelligent-Tiering,您必須建立生命週期規則 。您也可以使用 AWS Management Console來啟用 S3 Intelligent-Tiering。如需詳細資訊,請參閱 文件中的 AWS 開始使用 Amazon S3 Intelligent-Tiering

單一可用區域

若要建立單一可用區域檔案系統,請在建立 FSx for Windows File Server 檔案系統 時選擇單一可用區域選項。Amazon FSx也會每天使用 Windows Volume Shadow Copy Service 來取得檔案系統的高度耐用備份 (存放在 Amazon S3 中),並可讓您隨時進行其他備份。請記住使用單一可用區域的一些問題。例如,如果佈建SMB檔案系統的受影響可用區域一次中斷數小時,則無法存取檔案共用。如果您需要存取資料,則必須從來源區域中可用可用區域中的備份還原資料。如需詳細資訊,請參閱本指南的使用單一可用區域一節。

備份至 URL

對於 SQL Server 2022,備份至 URL 功能允許直接備份至 Amazon S3。這是在 中執行SQL的 Server 2022 的理想備份方法 AWS ,因為您在儲存層取得完整的 Amazon S3 功能集,並移除先前版本所需的設備成本 AWS Storage Gateway ,以促進此功能。實作此功能時,需要考量兩個主要成本:資料傳輸成本和選取的 S3 儲存體類別。如果您想要 Amazon S3 的原生災難復原功能,則必須考量該跨區域複寫會產生跨區域資料輸出成本。若要進一步了解如何設定此選項,請參閱部落格 Microsoft AWS 工作負載上的將SQL伺服器資料庫備份至 Amazon S3 文章。

其他資源