Amazon EC2 單一節點架構上的 SQL Server - AWS 方案指引

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

Amazon EC2 單一節點架構上的 SQL Server

下圖說明 Amazon Elastic Compute Cloud (Amazon EC2) 上單一節點 SQL Server 的建議架構,然後再新增高可用性 (HA) 和災難復原 (DR) 的支援。

在此架構中,SQL Server 資料庫會部署到 EC2 執行個體,使用適用於 SQL Server 的 Amazon Machine Image (AMI),以及適用於作業系統、DATA、LOG 和備份的個別磁碟區。非揮發性記憶體表達式 (NVMe) 儲存直接連接到 EC2 執行個體,並用於 SQL Server tempdb 資料庫。 AWS Directory Service 用於設定 SQL Server 資料庫的 Windows 身分驗證。您也可以使用 AWS Systems Manager 來偵測和安裝 SQL Server 修補程式和更新。

HA/DR 之前 Amazon EC2 上的單一節點 SQL Server 架構

下表摘要說明設定此架構的建議。以下各節會詳細討論這些建議。

執行個體類型/AMI
SQL Server 版本
  • SQL Server 開發人員版本 (非生產)

  • SQL Server Standard 和 Enterprise Edition (生產)

儲存體類型
磁碟區
  • 作業系統

  • DATA

  • LOG

  • tempdb

  • 存放和下載備份的抓取空間

DR 選項
  • Amazon EC2

  • Amazon EBS 快照

  • SQL Server 原生備份

執行個體類型

AWS 為您的 SQL Server 工作負載提供一系列執行個體類別。您可以選擇運算最佳化、記憶體最佳化、儲存最佳化、一般用途和其他類型,具體取決於資料庫伺服器上的預期工作負載、版本、HA/DR 選項、所需的核心和授權考量。建議您為 SQL Server 選擇 Amazon EBS 最佳化執行個體類型。這些可在專用網路中提供連接 EBS 磁碟區的最佳輸送量,這對可能有大量資料存取需求的 SQL Server 工作負載至關重要。對於標準資料庫工作負載,您可以執行記憶體最佳化執行個體類別,例如 R5, R5b, R5d 和 R5n。您也可以包含執行個體儲存體或 NVMe 儲存體。這些都非常適合 tempdb,並為資料庫工作負載提供平衡的效能。

對於關鍵工作負載,高效能 z1d 執行個體針對具有高授權成本的工作負載進行最佳化,例如 SQL Server。z1d 執行個體採用自訂 Intel Xeon 可擴展處理器,可提供高達 4.0 GHz 的持續全核心渦輪頻率,速度比其他執行個體快得多。對於需要更快速循序處理的工作負載,您可以使用 z1d 執行個體執行較少的核心,並獲得與其他具有更多核心的執行個體相同或更好的效能。

Amazon 也提供 Microsoft Windows Server 上 SQL Server AMIs,協助您在 Amazon EC2 上託管最新的 SQL Server 版本。

儲存

有些執行個體類型提供 NVMe 執行個體存放區磁碟區。NVMe 是暫時性 (周邊) 儲存選項。此儲存直接連接到 EC2 執行個體。雖然 NVMe 儲存體是暫時性的,且資料在重新開機時遺失,但它提供了最佳的效能。因此,它適用於具有高 I/O 和隨機資料存取模式的 SQL Server tempdb 資料庫。針對 tempdb 使用 NVMe 執行個體存放區無需額外費用。如需其他指引,請參閱 指南中的將 tempdb 放置在執行個體存放區中 Amazon EC2 部署 SQL Server 的最佳實務一節。

Amazon EBS 是一種耐用的儲存解決方案,可滿足 SQL Server 對快速可用儲存的需求。Microsoft 建議將資料和日誌磁碟區分開,以獲得最佳效能。此分隔的原因包括下列項目:

  • 不同的資料存取方法。資料磁碟區使用線上交易處理 (OLTP) 隨機資料存取,而日誌磁碟區則使用序列存取。

  • 更好的復原選項。遺失一個磁碟區不會影響另一個磁碟區,並有助於復原資料。

  • 不同的工作負載類型。資料磁碟區適用於 OLTP 工作負載,而日誌磁碟區以線上分析處理 (OLAP) 工作負載為目標。

  • 不同的效能需求。資料和日誌磁碟區具有不同的 IOPS 和延遲要求、最低輸送量率,以及類似的效能基準。

若要選取正確的 Amazon EBS 磁碟區類型,您應該分析資料庫存取方法、IOPS 和輸送量。在標準工作時間和尖峰用量期間收集指標。SQL Server 使用範圍來存放資料。SQL Server 中的儲存原子單位是頁面,大小為 8 KB。八個實體連續頁面組成一個範圍,大小為 64 KB。因此,在 SQL Server 機器上,託管 SQL 資料庫檔案 (包括 tempdb) 的 NTFS 配置單位大小應為 64 KB。如需有關如何檢查磁碟機 NTFS 配置大小的資訊,請參閱指南在 Amazon EC2 上部署 SQL Server 的最佳實務

EBS 磁碟區的選擇取決於工作負載,也就是資料庫是讀取密集型還是寫入密集型,需要高 IOPS、封存儲存體和類似的考量。下表顯示範例組態。

Amazon EBS 資源 Type 描述
作業系統磁碟

gp3

一般用途儲存。

DATA 磁碟

io1/io2

寫入密集型儲存。

日誌磁碟

gp3io2

密集型工作負載的一般用途儲存體。

備份磁碟

st1

較便宜的封存儲存。為了獲得更好的效能,如果備份定期複製到 Amazon Simple Storage Service (Amazon S3),也可以儲存在更快的磁碟上。

Amazon EBS 和 Amazon S3 考量事項

下表顯示 Amazon EBS 和 Amazon S3 儲存體的比較。使用此資訊來了解這兩種服務與 之間的差異,以選擇最適合您的使用案例的方法。

服務 可用性 耐久性 備註
Amazon EBS
  • 所有 EBS 磁碟區類型都提供耐用的快照功能,專為 99.999% 可用性而設計。

  • 您可以使用快照,在不同 AWS 區域中佈建新的執行個體,以防發生災難。

  • EBS 磁碟區資料會複寫到單一可用區域中的多個伺服器,以防止任何單一元件故障而導致資料遺失。

  • EBS 磁碟區設計為年失敗率 (AFR) 介於 0.1 到 0.2% 之間,失敗是指磁碟區完全或部分遺失,取決於磁碟區的大小和效能。

  • Amazon EBS 最佳化執行個體使用最佳化的組態堆疊,並為 Amazon EBS I/O 提供額外的專用頻寬。 此最佳化透過將 Amazon EBS I/O 與執行個體的其他流量之間的爭用降至最低,為您的 EBS 磁碟區提供最佳效能。

  • 最多同時支援 50 個快照的快速快照還原。您必須在每個快照上明確啟用此功能。

  • Amazon EBS 最佳化執行個體會在初始化時提供完整佈建效能,因此不會涉及暖機時間。

Amazon Simple Storage Service (Amazon S3)
  • 高可用性。

  • 專為特定年份 99.99% 的可用性而設計。

  • 提供多種儲存類別,例如 S3 標準和 S3 標準不常存取 ((S3 標準 - IA))。您可以根據保留期間將備份檔案移至儲存類別。

  • Amazon S3、Amazon S3 Glacier 和 S3 Glacier Deep Archive 專為 99.999999999% (11 個九) 的耐用性而設計。Amazon S3 和 S3 Glacier 都提供可靠的資料備份,並跨至少三個分散地理的可用區域進行物件複寫。

  • 您可以使用 Amazon S3 進行長期 SQL Server 檔案層級備份 (包括完整備份和交易日誌)。

  • Amazon S3 支援:

  • Amazon S3 提供最便宜的儲存體。適用跨區域資料傳輸費用。

Amazon FSx for Windows File Server 上的 SQL Server

Amazon FSx for Windows File Server 提供快速的效能,每個檔案系統的基準輸送量高達 2 GB/秒、數十萬個 IOPS,以及一致的次毫秒延遲。若要為 SQL Server 執行個體提供適當的效能,您可以選擇與檔案系統大小無關的輸送量層級。更高層級的輸送量容量也具有更高層級的 IOPS,檔案伺服器可以提供給存取它的 SQL Server 執行個體。儲存容量不僅決定您可以儲存的資料量,也決定您可以對儲存執行的每秒 I/O 操作 (IOPS) 數量,每個 GB 的儲存提供 3 個 IOPS。您可以將每個檔案系統佈建為最大 64 TiB 大小 (相較於 Amazon EBS 的 16 TiB)。您也可以使用 Amazon FSx 系統做為 Windows Server 容錯移轉叢集 (WSFC) 部署的檔案共用見證。