

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

# 使用 FSx for Windows File Server 在 Amazon EC2 上設定 Microsoft SQL Server 容錯移轉叢集
<a name="microsoft-sql-failover-cluster-on-amazon-ec2"></a>

*Sweta Krishna 和 Ramesh Babu Donti，Amazon Web Services*

## 摘要
<a name="microsoft-sql-failover-cluster-on-amazon-ec2-summary"></a>

具有容錯移轉叢集執行個體 (FCI) 的 Microsoft SQL Server Standard Edition 可以為 SQL Server Enterprise 提供更具成本效益的替代方案。設定 SQL FCI 需要在節點之間共用檔案儲存，而 [Amazon FSx for Windows File Server](https://aws.amazon.com/fsx/windows/) 提供全受管儲存，可自動跨可用區域同步複寫。Amazon FSx 使用內建的重複資料刪除功能來降低一般用途檔案共用的儲存成本，無需維護第三方解決方案。Amazon FSx 也支援下列項目：
+ 只需為您使用的項目付費，無需預付費用或承諾。
+ 使用 Amazon FSx 手動設定 FCI 做為共用儲存。
+ 使用 Amazon FSx 做為 SQL 叢集的檔案共享見證。
+ Amazon FSx for Windows File Server 支援伺服器訊息區塊 (SMB) 3.0 持續可用的檔案共用，因此適合 SQL Server FCI 部署。

## 先決條件和限制
<a name="microsoft-sql-failover-cluster-on-amazon-ec2-prereqs"></a>

**先決條件**
+ 作用中 [AWS 帳戶](https://aws.amazon.com/account/)。
+ 建立和管理 Amazon Virtual Private Cloud (Amazon VPC) 資源、Amazon Elastic Compute Cloud (Amazon EC2) 執行個體、安全群組和 AWS Identity and Access Management (IAM) 角色的許可。
+ AWS Managed Microsoft AD 或您自己的內部部署 Active Directory。
+ 具備設定容錯移轉叢集[必要許可](https://learn.microsoft.com/en-us/windows-server/failover-clustering/configure-failover-cluster-accounts)的 Active Directory 網域使用者。
+ SQL Server FCI 和 [Microsoft Active Directory 連接埠](https://docs.aws.amazon.com/whitepapers/latest/access-workspaces-with-access-cards/ip-address-and-port-requirements.html)的安全群組規則，用於安全混合連線。
+ Active Directory for SQL Server 中的[服務帳戶](https://learn.microsoft.com/en-us/sql/database-engine/configure-windows/configure-windows-service-accounts-and-permissions?view=sql-server-ver16#sql-server-failover-cluster-instance)，已跨 SQL 節點設定適當的許可。
+ 容錯移轉叢集中的 Amazon FSx for Windows File Server。
+ SQL Server 安裝二進位檔。

**限制**
+ 有些 AWS 服務 無法全部使用 AWS 區域。如需區域可用性，請參閱[AWS 服務 依區域](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)。如需特定端點，請參閱[服務端點和配額頁面](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html)，然後選擇服務的連結。

**產品版本**
+ Amazon EC2 for Windows Server 2012 R2 或更新版本
+ 具有所有目前 Windows Server 版本的 Amazon FSx for Windows File Server
+ Amazon FSx for NetApp ONTAP 作為共用儲存的替代方案
+ SQL Server 2012/2016/2019/2022

## Architecture
<a name="microsoft-sql-failover-cluster-on-amazon-ec2-architecture"></a>

**技術堆疊**
+ Amazon EC2
+ Amazon FSx for Windows File Server
+ Amazon VPC
+ AWS Directory Service
+ AWS Systems Manager
+ IAM

**目標架構**

下圖顯示使用 Amazon FSx for Windows File Server 在 Amazon EC2 上 Microsoft SQL Server FCI 的高階架構。 FSx 

![使用 Amazon FSx for Windows File Server 的 Amazon EC2 上的 Microsoft Server FCI 架構圖。 FSx](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/images/pattern-img/208bf64a-8fef-4019-944a-723372450885/images/ba0c9169-9536-41c3-ae8e-7264dcc3e1ad.png)


**網路基礎設施**
+ Amazon VPC 提供跨越三個可用區域的網路容器。
+ 私有子網路在每個可用區域中提供隔離的子網路，以部署資源。

**運算層**
+ Amazon EC2 包含 SQL Server 叢集節點 1，部署在可用區域 1 中做為 Windows Server 容錯移轉叢集 (WSFC) 的一部分。
+ Amazon EC2 包含 SQL Server 叢集節點 2，部署在可用區域 2 中做為 WSFC 的一部分。
+ WSFC 叢集會連接兩個 SQL Server 節點以進行容錯移轉功能。

**Amazon FSx for Windows File Server 的儲存層**

**異地同步備份 FSx 部署 （跨越可用區域 1 和 2)**
+ 可用區域 1 中的主要 FSx 檔案系統託管作用中的 SQL Server 資料和日誌檔案。
+ 可用區域 2 中的次要 FSx 檔案系統提供自動容錯移轉功能。
+ 共用 SMB 檔案共用 (\\\\fsx.domain\\sqlshare)，可供 SQL Server 資料庫的兩個叢集節點存取。

**單一可用區 FSx 部署 （在 AZ3 中）**
+ 可用區域 3 中的 Amazon FSx 檔案伺服器見證充當叢集仲裁見證。
+ 檔案共享見證 (`\\fsx.domain\witness`) 會維護叢集仲裁，並防止大腦分割情況。

**目錄服務**
+ AWS Managed Microsoft AD 提供叢集功能所需的 Windows 身分驗證和網域服務。

**高可用性功能**
+ 多可用區域元件提供跨可用區域的容錯能力。
+ 如果主要伺服器故障，FSx 待命檔案伺服器會提供自動容錯移轉。
+ 檔案共享見證會在可用區域 3 中提供叢集仲裁管理，以協助確保在故障期間執行適當的叢集操作。
+ 網域已與 整合 AWS Managed Microsoft AD ，以進行無縫 Windows 身分驗證。

## 工具
<a name="microsoft-sql-failover-cluster-on-amazon-ec2-tools"></a>

**AWS 服務**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) 在 AWS 雲端中提供可擴展的運算容量。您可以視需要啟動任意數量的虛擬伺服器，，並快速進行擴展或縮減。
+ [Amazon FSx](https://docs.aws.amazon.com/fsx/?id=docs_gateway) 提供檔案系統，可支援業界標準的連線通訊協定，並提供高可用性和跨的複寫功能 AWS 區域。
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) 可協助您在已定義的虛擬網路中啟動 AWS 資源。此虛擬網路與您在自己的資料中心中操作的傳統網路相似，且具備使用 AWS可擴展基礎設施的優勢。
+ [AWS Directory Service for Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) 可讓您的目錄感知工作負載 AWS 和資源在 中使用 Microsoft Active Directory AWS 雲端。
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 透過控制已驗證並獲授權使用的人員，協助您安全地管理對 AWS 資源的存取。
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) 可協助您管理在 中執行的應用程式和基礎設施 AWS 雲端。它可簡化應用程式和資源管理、縮短偵測和解決操作問題的時間，並協助您大規模安全地管理 AWS 資源。

## 最佳實務
<a name="microsoft-sql-failover-cluster-on-amazon-ec2-best-practices"></a>
+ 將資料庫執行個體放在私有子網路中，以防止它們從網際網路公開存取，同時仍允許它們連線到 AWS 服務 並執行更新。
+ 若要使用 PowerShell 管理 Amazon FSx for Windows File Server，請參閱[管理 FSx for Windows 檔案系統](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/administering-file-systems.html)。

## 史詩
<a name="microsoft-sql-failover-cluster-on-amazon-ec2-epics"></a>

### 建立和設定 SQL Server 的 Amazon EC2 節點
<a name="create-and-configure-ec2-nodes-for-sql-server"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 新增名稱和標籤。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/microsoft-sql-failover-cluster-on-amazon-ec2.html) | DBA | 
| 選擇 Windows AMI。 | 選擇符合 SQL Server 需求的 Amazon Machine Image (AMI) for Windows。 | DBA | 
| 選取執行個體類型。 | 選取符合您需求的 Amazon EC2 執行個體類型。 | DBA | 
| 使用金鑰對。 | 您可以使用金鑰對安全地連線至執行個體。在啟動執行個體之前，請確定您能夠存取選取的金鑰對。 | DBA | 
| 設定網路設定。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/microsoft-sql-failover-cluster-on-amazon-ec2.html) | DBA | 
| 設定進階網路設定。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/microsoft-sql-failover-cluster-on-amazon-ec2.html) | DBA | 
| 設定儲存體。 | 設定所需的總儲存體，然後選擇所需的儲存體類型。 | DBA | 
| 設定進階詳細資訊並啟動執行個體。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/microsoft-sql-failover-cluster-on-amazon-ec2.html) | DBA | 
| 建立節點 2。 | 重複這些步驟來建立和設定節點 2。 | DBA | 

### 在節點 1 和 2 上安裝和設定 Windows Server 容錯移轉叢集
<a name="install-and-configure-windows-server-failover-cluster-on-nodes-1-and-2"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 登入節點 1。 | 以管理員身分登入 Windows Amazon EC2 執行個體。 | DBA | 
| 在節點 1 上安裝 FCI 功能。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/microsoft-sql-failover-cluster-on-amazon-ec2.html)<pre>Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools</pre>[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/microsoft-sql-failover-cluster-on-amazon-ec2.html) | DBA | 
| 登入節點 2。 | 以管理員身分登入 Windows Amazon EC2 執行個體。 | DBA | 
| 在節點 2 上安裝 FCI 功能。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/microsoft-sql-failover-cluster-on-amazon-ec2.html)<pre>Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools</pre>[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/microsoft-sql-failover-cluster-on-amazon-ec2.html) | DBA | 
| 將節點新增至叢集。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/microsoft-sql-failover-cluster-on-amazon-ec2.html) | DBA | 
| 讓叢集上線。 | 若要讓叢集上線，請更新兩個節點的靜態 IP 地址：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/microsoft-sql-failover-cluster-on-amazon-ec2.html) | DBA | 
| 驗證叢集。 | 導覽至**容錯移轉叢集管理員**，並確認叢集核心資源在線上。 | DBA | 

### 在節點 1 和 2 上安裝 SQL Server
<a name="install-sql-server-on-nodes-1-and-2"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 登入 伺服器。 | 以管理員身分登入 Amazon EC2 執行個體。 | DBA | 
| 掛載 SQL 二進位檔。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/microsoft-sql-failover-cluster-on-amazon-ec2.html) |  | 
| 將節點 2 新增至容錯移轉叢集。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/microsoft-sql-failover-cluster-on-amazon-ec2.html) | DBA | 

### 設定 Amazon FSx 檔案共享見證
<a name="configure-the-fsx-file-share-witness"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 設定規定人數設定。 | [See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/microsoft-sql-failover-cluster-on-amazon-ec2.html) | DBA | 
| 擷取 DNS 詳細資訊。 | 在 Amazon FSx 主控台中，選擇 **Managed AD**，然後選擇**連接**。DNS 應該具有下列格式： `\\example.example.net\share` | DBA | 
| 設定檔案共享見證。 | 選擇 **Amazon FSx 檔案共用路徑**，然後選擇**完成**。 | DBA | 

## 相關資源
<a name="microsoft-sql-failover-cluster-on-amazon-ec2-resources"></a>

**AWS resources**
+ [Amazon FSx for Windows File Server](https://www.youtube.com/watch?v=IMDWTIShlyI) （影片）
+ [深入了解 Amazon FSx for Windows File Server](https://www.youtube.com/watch?v=_x_Geur93oc) （影片）
+ [如何在 Windows Server 上使用 Amazon EBS Multi-Attach 部署 SQL Server 容錯移轉叢集](https://aws.amazon.com/blogs/modernizing-with-aws/how-to-deploy-a-sql-server-failover-cluster-with-amazon-ebs-multi-attach-on-windows-server/) (AWS 部落格文章）
+ [使用 Amazon FSx for Windows File Server 簡化 Microsoft SQL Server 高可用性部署](https://aws.amazon.com/blogs/storage/simplify-your-microsoft-sql-server-high-availability-deployments-using-amazon-fsx-for-windows-file-server/) (AWS 部落格文章）
+ [使用 Amazon FSx for NetApp ONTAP 的 SQL Server 高可用性部署](https://aws.amazon.com/blogs/modernizing-with-aws/sql-server-high-availability-amazon-fsx-for-netapp-ontap/) (AWS 部落格文章）
+ [搭配 Microsoft SQL Server 使用 FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/sql-server.html)
+ [什麼是 FSx for Windows File Server？](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html)

**其他資源**
+ [建立容錯移轉叢集](https://learn.microsoft.com/en-us/windows-server/failover-clustering/create-failover-cluster?pivots=windows-admin-center)

## 其他資訊
<a name="microsoft-sql-failover-cluster-on-amazon-ec2-additional"></a>

**設定檔案共享見證**

透過在允許傳入連線的 Amazon FSx 安全群組中新增規則，確保您從兩個節點連線到檔案系統。應允許 SMB 連接埠。例如，如果 DNS 名稱為 `\\example.example.com\share`，請使用 `\\example.example.com\share`。對 Always On 可用性叢集中的檔案共享見證使用相同的值。完成下列步驟以設定檔案共享見證：

1. 使用 RDP 連線到您的 Amazon EC2 執行個體。

1. 導覽至**容錯移轉叢集管理員**。

1. 開啟內容 （按一下滑鼠右鍵） 選單，然後選擇**更多動作**。

1. 選擇**設定叢集規定人數設定**。

1. 選擇**下一步**。

1. 選取**配額組態**並設定檔案共享見證。

1. 提供 DNS 名稱。

1. 檢閱摘要，然後選擇**完成**。檔案共享見證應該在線上的**叢集核心**資源區段中。