

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将 FSx 适用于 Windows 文件服务器的操作移交给亚马逊
<a name="cutover-to-fsx"></a>

迁移本地文件存储、文件共享配置和 DNS 配置后，下一步是将操作切换到 FSx 适用于 Windows 文件服务器的文件系统。要切换到 Window FSx s 文件服务器文件系统，请执行以下步骤：
+ 准备割接。
  + 暂时断开 SMB 客户端与原始文件系统的连接。
  + 执行最终的文件和文件共享配置同步。
+ 为您的 Amazon FSx 文件系统配置服务主体名称 (SPNs)。
+ 更新 DNS 别名记录以指向您的亚马逊 FSx 文件系统。

以下各部分介绍了执行每个步骤的过程。

**Topics**
+ [为转换到 Amazon 做准备 FSx](#final-sync-and-disconnect)
+ [为 Kerber SPNs os 身份验证进行配置](#configure-spns)
+ [更新 Amazon FSx 文件系统的 DNS 别名记录](#update-dns-cname)

## 为转换到 Amazon 做准备 FSx
<a name="final-sync-and-disconnect"></a>

要为转换到 Amazon FSx 文件系统做准备，您必须执行以下操作：
+ 将所有写入原始文件系统的客户端断开连接。
+ 使用 AWS DataSync 或 Robocopy 执行最终文件同步。有关更多信息，请参阅 [将现有文件存储迁移到 Window FSx s 文件服务器](migrate-files-fsx.md)。
+ 执行最终的文件共享配置同步。有关更多信息，请参阅 [将您的本地文件共享配置迁移到 Amazon FSx](migrate-file-share-config-to-fsx.md)。

## 为 Kerber SPNs os 身份验证进行配置
<a name="configure-spns"></a>

我们建议您在通过 Amazon 传输时使用基于 Kerberos 的身份验证和加密。 FSxKerberos 能够为访问文件系统的客户端提供最安全的身份验证。要为 FSx 使用 DNS 别名访问亚马逊的客户启用 Kerberos 身份验证，您必须添加与亚马逊 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 计算机对象关联。如果存在 SPNs 为原始文件系统的 Active Directory 计算机对象配置的 DNS 名称，则必须先将其删除，然后才能为您的 Amazon FSx 文件系统创建 SPNs 。

以下过程介绍如何查找任何现有的 SPNs、删除它们以及如何 SPNs 为亚马逊 FSx 文件系统的 Active Directory 计算机对象创建新的对象。

**安装所需的 PowerShell 活动目录模块**

1. 登录已加入您的亚马逊 FSx 文件系统所加入的活动目录的 Windows 实例。

1.  PowerShell 以管理员身份打开。

1. 使用以下命令安装 Act PowerShell ive Directory 模块。

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

**在原始文件系统的 Active Directory 计算机对象 SPNs 上查找和删除现有 DNS 别名**

1.  使用以下命令查找任何现有 SPNs 命令。将 `{{alias_fqdn}}` 替换为在 [将您的本地 DNS 配置迁移到 FSx 适用于 Windows 文件服务器](migrate-dns-config.md) 中与文件系统关联的 DNS 别名。

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

1. 使用以下示例脚本删除上一步中 SPNs 返回的现有主机。
   + 将 `{{alias_fqdn}}` 替换为在 [将您的本地 DNS 配置迁移到 FSx 适用于 Windows 文件服务器](migrate-dns-config.md) 中与文件系统关联的完整 DNS 别名。
   + 将 `{{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 配置迁移到 FSx 适用于 Windows 文件服务器](migrate-dns-config.md) 中与文件系统关联的每个 DNS 别名重复这些步骤。

**SPNs 在您的亚马逊 FSx 文件系统的 Active Directory 计算机对象上设置**

1. 运行以下命令 SPNs ，为您的 Amazon FSx 文件系统设置新内容。
   + `{{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 配置迁移到 FSx 适用于 Windows 文件服务器](migrate-dns-config.md) 中与文件系统关联的完整 DNS 别名。

   ```
   ## 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
   ```
**注意**  
如果原始 FSx 文件系统的计算机对象的 AD 中存在 DNS 别名的 SPN，则为您的 Amazon 文件系统设置 SPN 将失败。有关查找和删除现有内容的信息 SPNs，请参见[在原始文件系统的 Active Directory 计算机对象 SPNs 上查找和删除现有 DNS 别名](#finddelete-existing-spn)。

1. 使用以下示例脚本验证是否已为 DNS 别名配置了新 SPNs 的 DNS 别名。确保响应中包含两个主机 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 配置迁移到 FSx 适用于 Windows 文件服务器](migrate-dns-config.md) 中与文件系统关联的每个 DNS 别名重复上述步骤。

**注意**  
通过在 Active Directory 中设置以下组策略对象 (GPOs)，您可以使用 DNS 别名对连接到文件系统的客户端强制执行 Kerberos 身份验证和加密：  
限制 NTLM：远程服务器的传出 NTLM 流量
限制 NTLM：为 NTLM 身份验证添加远程服务器例外
有关更多信息，请参阅“演练 5：使用 DNS 别名访问文件系统”**中的[使用组策略对象强制执行 Kerberos 身份验证 () GPOs](enforce-kerberos.md)。

## 更新 Amazon FSx 文件系统的 DNS 别名记录
<a name="update-dns-cname"></a>

正确配置 SPNs 文件系统后，您可以切换到亚马逊， FSx 方法是将每条解析到原始文件系统的 DNS 记录替换为解析为亚马逊 FSx 文件系统的默认 DNS 名称的 DNS 记录。

**安装所需的 PowerShell cmdlet**

1. 作为拥有 DNS 管理权限的群组（**AWS 托 AWS 管 Microsoft Active Directory 中的委托域名系统管理员，以及您在自行管理的 Active Directory 中向其委派 DNS 管理权限的域管理员****或其他群组）的用户身份登录已加入您的亚马逊 FSx 文件系统的 Active Directory 的 Windows** 实例 

   有关详细信息，请参阅《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 别名记录更新`{{alias_fqdn}}`到您的 Amazon FSx 文件系统的计算机对象。如果未找到，它会为 DNS 别名创建一个新的 DNS 别名记录`{{alias_fqdn}}`，该记录将解析为 Amazon FSx 文件系统的默认 DNS 名称。

   要运行脚本，请执行以下操作：
   + 将 `{{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 配置迁移到 FSx 适用于 Windows 文件服务器](migrate-dns-config.md) 中与文件系统关联的每个 DNS 别名重复上述步骤。