

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

# 將操作切換至 Amazon FSx for Windows File Server
<a name="cutover-to-fsx"></a>

在您遷移現場部署檔案儲存、檔案共用組態和 DNS 組態之後，下一步是將操作縮減至 FSx for Windows File Server 檔案系統。若要切換到 FSx for Windows File Server 檔案系統，請執行下列步驟：
+ 準備切換。
  + 暫時中斷 SMB 用戶端與原始檔案系統的連線。
  + 執行最終檔案和檔案共享組態同步。
+ 為您的 Amazon FSx 檔案系統設定服務主體名稱 (SPNs)。
+ 更新 DNS CNAME 記錄以指向您的 Amazon FSx 檔案系統。

下列各節提供執行每個步驟的程序。

**Topics**
+ [準備切換到 Amazon FSx](#final-sync-and-disconnect)
+ [設定 SPNs以進行 Kerberos 身分驗證](#configure-spns)
+ [更新 Amazon FSx 檔案系統的 DNS CNAME 記錄](#update-dns-cname)

## 準備切換到 Amazon FSx
<a name="final-sync-and-disconnect"></a>

若要準備切換到您的 Amazon FSx 檔案系統，您必須執行下列動作：
+ 中斷所有寫入原始檔案系統的用戶端。
+ 使用 AWS DataSync 或 Robocopy 執行最終檔案同步。如需詳細資訊，請參閱[將現有的檔案儲存遷移至 FSx for Windows File Server](migrate-files-fsx.md)。
+ 執行最終檔案共享組態同步。如需詳細資訊，請參閱[將內部部署檔案共用組態遷移至 Amazon FSx](migrate-file-share-config-to-fsx.md)。

## 設定 SPNs以進行 Kerberos 身分驗證
<a name="configure-spns"></a>

我們建議您透過 Amazon FSx 使用傳輸中的 Kerberos 型身分驗證和加密。Kerberos 為存取檔案系統的用戶端提供最安全的身分驗證。若要為使用 DNS 別名存取 Amazon FSx 的用戶端啟用 Kerberos 身分驗證，您必須新增對應至 Amazon FSx 檔案系統 Active Directory 電腦物件上 DNS 別名的服務主體名稱 (SPNs)。

Kerberos 身分驗證需要兩個 SPNs。

```
HOST/{{alias}}
HOST/{{alias.domain}}
```

例如，如果別名為 `finance.domain.com`，則兩個必要的 SPNs 如下所示。

```
HOST/finance
HOST/finance.domain.com
```

SPN 一次只能與單一 Active Directory 電腦物件建立關聯。如果為原始檔案系統 Active Directory 電腦物件設定的 DNS 名稱有現有的 SPNs，您必須在為 Amazon FSx 檔案系統建立 SPNs 之前將其刪除。

下列程序說明如何尋找任何現有的 SPNs、刪除它們，以及為 Amazon FSx 檔案系統 Active Directory 電腦物件建立新的 SPNs。

**安裝所需的 PowerShell Active Directory 模組**

1. 登入已加入 Amazon FSx 檔案系統之 Active Directory 的 Windows 執行個體。

1. 以管理員身分開啟 PowerShell。

1. 使用以下命令安裝 PowerShell Active Directory 模組。

   ```
   Install-WindowsFeature RSAT-AD-PowerShell
   ```<a name="finddelete-existing-spn"></a>

**在原始檔案系統的 Active Directory 電腦物件上尋找和刪除現有的 DNS 別名 SPNs**

1.  使用下列命令尋找任何現有的 SPNs。`{{alias_fqdn}}` 將 取代為您在 中與檔案系統相關聯的 DNS 別名[將內部部署 DNS 組態遷移至 FSx for Windows File Server](migrate-dns-config.md)。

   ```
   ## Find SPNs for original file system's AD computer object
   $ALIAS = "{{alias_fqdn}}"
   SetSPN /Q ("HOST/" + $ALIAS)
   SetSPN /Q ("HOST/" + $ALIAS.Split(".")[0])
   ```

1. 使用下列範例指令碼刪除上一個步驟中傳回的現有 HOST SPNs。
   + `{{alias_fqdn}}` 將 取代為您在 中與檔案系統相關聯的完整 DNS 別名[將內部部署 DNS 組態遷移至 FSx for Windows File Server](migrate-dns-config.md)。
   + `{{file_system_DNS_name}}` 將 取代為原始檔案系統的 DNS 名稱 。

   ```
   ## Delete SPNs for original file system's AD computer object
   $Alias = "{{alias_fqdn}}"
   $FileSystemDnsName = "{{file_system_dns_name}}"
   $FileSystemHost = (Resolve-DnsName ${FileSystemDnsName} | Where Type -eq 'A')[0].Name.Split(".")[0]
   $FSxAdComputer = (Get-AdComputer -Identity ${FileSystemHost})
   
   SetSPN /D ("HOST/" + ${Alias}) ${FSxAdComputer}.Name
   SetSPN /D ("HOST/" + ${Alias}.Split(".")[0]) ${FSxAdComputer}.Name
   ```

1. 針對您在 中與檔案系統相關聯的每個 DNS 別名重複這些步驟[將內部部署 DNS 組態遷移至 FSx for Windows File Server](migrate-dns-config.md)。

**在 Amazon FSx 檔案系統的 Active Directory 電腦物件上設定 SPNs**

1. 執行下列命令，為您的 Amazon FSx 檔案系統設定新的 SPNs。
   + `{{file_system_DNS_name}}` 將 取代為 Amazon FSx 指派給檔案系統的 DNS 名稱。

     若要在 Amazon FSx 主控台上尋找檔案系統的 DNS 名稱，請選擇**檔案系統**，然後選擇您的檔案系統。選擇檔案系統詳細資訊頁面**的網路與安全**窗格。您也可以在 [DescribeFileSystems](https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileSystems.html) API 操作的回應中取得 DNS 名稱。
   + `{{alias_fqdn}}` 將 取代為您在 中與檔案系統相關聯的完整 DNS 別名[將內部部署 DNS 組態遷移至 FSx for Windows File Server](migrate-dns-config.md)。

   ```
   ## Set SPNs for FSx file system AD computer object
   $FSxDnsName = "{{file_system_DNS_name}}"
   $Alias = "{{alias_fqdn}}"
   $FileSystemHost = (Resolve-DnsName $FSxDnsName | Where Type -eq 'A')[0].Name.Split(".")[0]
   $FSxAdComputer = (Get-AdComputer -Identity $FileSystemHost)
   
   Set-AdComputer -Identity $FSxAdComputer -Add @{"msDS-AdditionalDnsHostname"="$Alias"}
   SetSpn /S ("HOST/" + $Alias.Split('.')[0]) $FSxAdComputer.Name
   SetSpn /S ("HOST/" + $Alias) $FSxAdComputer.Name
   ```
**注意**  
如果原始檔案系統的電腦物件的 AD 中存在 DNS 別名的 SPN，則設定 Amazon FSx 檔案系統的 SPN 將會失敗。如需尋找和刪除現有 SPNs的詳細資訊，請參閱 [在原始檔案系統的 Active Directory 電腦物件上尋找和刪除現有的 DNS 別名 SPNs](#finddelete-existing-spn)。

1. 使用下列範例指令碼，確認已為 DNS 別名設定新的 SPNs。確保回應包含兩個 HOST SPNs`HOST/{{alias}}`和 `HOST/{{alias_fqdn}}`。

   `{{file_system_DNS_name}}` 將 取代為 Amazon FSx 指派給檔案系統的 DNS 名稱。若要在 Amazon FSx 主控台上尋找檔案系統的 DNS 名稱，請選擇**檔案系統**，然後選擇檔案系統詳細資訊頁面上**的網路與安全**窗格。

   您也可以在 [DescribeFileSystems](https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileSystems.html) API 操作的回應中取得 DNS 名稱。

   ```
   ## Verify SPNs on FSx file system AD computer object
   $FileSystemDnsName = "{{file_system_dns_name}}"
   $FileSystemHost = (Resolve-DnsName ${FileSystemDnsName} | Where Type -eq 'A')[0].Name.Split(".")[0]
   $FSxAdComputer = (Get-AdComputer -Identity ${FileSystemHost})
   SetSpn /L ${FSxAdComputer}.Name
   ```

1. 為您在 中與檔案系統相關聯的每個 DNS 別名重複上述步驟[將內部部署 DNS 組態遷移至 FSx for Windows File Server](migrate-dns-config.md)。

**注意**  
您可以在 Active Directory 中設定下列群組政策物件 (GPOs)，透過使用 DNS 別名連線至檔案系統的用戶端強制執行傳輸中的 Kerberos 身分驗證和加密：  
限制 NTLM：將 NTLM 流量傳出至遠端伺服器
限制 NTLM：為 NTLM 身分驗證新增遠端伺服器例外狀況
如需詳細資訊，請參閱[使用群組政策物件 (GPOs) 強制執行 Kerberos 身分驗證](enforce-kerberos.md)*演練 5：使用 DNS 別名存取您的檔案系統*。

## 更新 Amazon FSx 檔案系統的 DNS CNAME 記錄
<a name="update-dns-cname"></a>

為您的檔案系統正確設定 SPNs 之後，您可以將解析至原始檔案系統的每個 DNS 記錄取代為解析為 Amazon FSx 檔案系統預設 DNS 名稱的 DNS 記錄，以切換到 Amazon FSx。

**安裝所需的 PowerShell cmdlet**

1. 登入已加入 Active Directory 的 Windows 執行個體，您的 Amazon FSx 檔案系統以使用者身分加入，該使用者是具有 DNS 管理許可的群組成員 ( AWS 受管 Microsoft Active Directory **AWS 中的委派網域名稱系統管理員**，以及**網域管理員**，或您已在自我管理 Active Directory 中委派 DNS 管理許可的其他群組） 

   如需詳細資訊，請參閱《Amazon EC2 使用者指南》中的[連線至 Windows 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connecting_to_windows_instance.html)。

1. 以管理員身分開啟 PowerShell。

1. PowerShell DNS 伺服器模組需要執行此程序中的指示。使用以下命令進行安裝。

   ```
   Install-WindowsFeature RSAT-DNS-Server
   ```

**更新現有的 DNS CNAME 記錄**

1. 下列指令碼會將 的任何現有 DNS CNAME 記錄更新`{{alias_fqdn}}`為 Amazon FSx 檔案系統的電腦物件。如果找不到，它會為解析`{{alias_fqdn}}`為 Amazon FSx 檔案系統預設 DNS 名稱的 DNS 別名建立新的 DNS CNAME 記錄。

   執行指令碼：
   + `{{alias_fqdn}}` 將 取代為您與檔案系統相關聯的 DNS 別名。
   + `{{file_system_DNS_name}}` 將 取代為 Amazon FSx 已指派給檔案系統的預設 DNS 名稱。

   ```
   $Alias="{{alias_fqdn}}"
   $FSxDnsName="{{file_system_dns_name}}"
   $AliasHost=$Alias.Split('.')[0]
   $ZoneName=((Get-WmiObject Win32_ComputerSystem).Domain)
   $DnsServerComputerName = (Resolve-DnsName $ZoneName -Type NS | Where Type -eq 'A' | Select -ExpandProperty Name)[0]
   
   Add-DnsServerResourceRecordCName -Name $AliasHost -ComputerName $DnsServerComputerName -HostNameAlias $FSxDnsName -ZoneName $ZoneName
   ```

1. 針對您在 中與檔案系統相關聯的每個 DNS 別名，重複上述步驟[將內部部署 DNS 組態遷移至 FSx for Windows File Server](migrate-dns-config.md)。