本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
演练 5:使用 DNS 别名访问您的文件系统
FSx for Windows File Server 为每个文件系统提供默认域名系统 (DNS) 名称,您可以使用它来访问文件系统上的数据。您也可以使用自己选择的 DNS 别名访问您的文件系统。使用 DNS 别名,在将文件系统存储从本地迁移到 Amazon FSx 时,您可以继续使用现有 DNS 名称访问存储在 Amazon FSx 上的数据,无需更新任何工具或应用程序。您可以同时将最多 50 个 DNS 别名与文件系统关联。
要使用 DNS 别名访问您的 Amazon FSx 文件系统,您必须执行以下三个步骤:
将 DNS 别名与您的亚马逊 FSx 文件系统关联。
为文件系统的计算机对象配置服务主体名称 (SPN)。(这是使用 DNS 别名访问文件系统时获得 Kerberos 身份验证所必需的。)
为文件系统和 DNS 别名更新或创建 DNS 别名记录。
主题
第 1 步:将 DNS 别名与您的亚马逊 FSx 文件系统关联
在创建新文件系统时,以及使用 Amazon FsX 控制台、CLI 和 API 从备份创建新文件系统时,您可以将 DNS 别名与适用于 Windows 文件服务器文件系统的现有 FSx 关联。如果您使用不同的域名创建别名,请输入全名(包括父域)以关联别名。
此过程描述了在使用 Amazon FSx 控制台创建新文件系统时如何关联 DNS 别名。有关将 DNS 别名与现有文件系统关联的信息以及有关使用 CLI 和 API 的详细信息,请参阅管理 DNS 别名。
-
通过 https://console.aws.amazon.com/fsx/
打开亚马逊 FSx 控制台。 按照 “入门” 部分中所述步骤 1的步骤创建新文件系统。
在创建文件系统向导的 “访问-可选” 部分中,输入要与文件系统关联的 DNS 别名。
指定 DNS 别名时,请使用以下准则:
例如,必须格式化为完全限定的域名 (FQDN)
hostname.domain
accounting.example.com
。可以包含字母数字字符和连字符 (-)。
不得以连字符开头或结尾。
可以使用数字开头。
对于 DNS 别名,Amazon FSx 会将字母字符存储为小写字母 (a-z),无论您指定将其存储为大写字母、小写字母还是转义码中的对应字母。
对于 “维护” 首选项,根据需要进行任何更改。
-
在 “标签-可选” 部分中,添加所需的任何标签,然后选择 “下一步”。
-
检查创建文件系统页面上显示的文件系统配置。选择创建文件系统创建文件系统。
当您的新文件系统可用时,继续执行步骤 2。
步骤 2:为 Kerberos 配置服务主体名称 (SPN)
我们建议您在通过 Amazon FSx 传输时使用基于 Kerberos 的身份验证和加密。Kerberos 为访问您的文件系统的客户端提供最安全的身份验证。
要为使用 DNS 别名访问 Amazon FSx 的客户端启用 Kerberos 身份验证,您必须在 Amazon FSx 文件系统的 Active Directory 计算机对象上添加与 DNS 别名对应的服务主体名称 (SPN)。SPN 同时只能与一个 Aced Direced Direced 计算机对象关联。如果您为原始文件系统的 Active Directory 计算机对象配置了 DNS 名称的现有 SPN,则必须先将其删除。
Kerberos 身份验证需要两个 SPN:
HOST/
alias
HOST/alias.domain
如果别名是finance.domain.com
,则以下是必需的两个 SPN:
HOST/finance HOST/finance.domain.com
注意
在为亚马逊 FSx 文件系统的 Active Directory (AD) 计算机对象创建新的 HOST SPN 之前,您需要删除与 Active Directory 计算机对象上的 DNS 别名对应的任何现有 HOST SPN。如果 AD 中存在 DNS 别名的 SPN,则尝试为您的 Amazon FSx 文件系统设置 SPN 将失败。
以下过程介绍如何执行以下操作:
在原始文件系统的 Active Directory 计算机对象上查找任何现有 DNS 别名 SPN。
删除找到的现有 SPN(如果有)。
为您的亚马逊 FSx 文件系统的 Active Directory 计算机对象创建新的 DNS 别名 SPN。
安装所需的 PowerShell 活动目录模块
-
登录加入您的亚马逊 FSx 文件系统所加入的 Active Directory 的 Windows 实例。
PowerShell 以管理员身份打开。
使用以下命令安装 A PowerShell dvic Direced Direced
Install-WindowsFeature RSAT-AD-PowerShell
在原始文件系统的 Active Directory 计算机对象上查找和删除现有 DNS 别名 SPN
使用以下命令查找任何现有 SPN。替换为您在步骤 1 中
与文件系统关联的 DNS 别名。alias_fqdn
## Find SPNs for original file system's AD computer object $ALIAS = "
alias_fqdn
" SetSPN /Q ("HOST/" + $ALIAS) SetSPN /Q ("HOST/" + $ALIAS.Split(".")[0])使用以下示例脚本删除上一步中返回的现有 HOST SPN。
替换为您在步骤 1 中
与文件系统关联的完整 DNS 别名。alias_fqdn
替换为原始文件系统的 DNS 名称。file_system_DNS_name
## 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
在亚马逊 FSx 文件系统的 Active Directory 计算机对象上设置 SPN
通过运行以下命令为您的 Amazon FSx 文件系统设置新的 SPN。
替换为亚马逊 FSx 分配给文件系统的 DNS 名称。file_system_DNS_name
要在 Amazon FSx 控制台上查找您的文件系统的 DNS 名称,请选择文件系统,选择您的文件系统,然后在文件系统详细信息页面上选择网络和安全窗格。
您也可以在 DescribeFileSystemsAPI 操作的响应中获取 DNS 名称。
替换为您在步骤 1 中
与文件系统关联的完整 DNS 别名。alias_fqdn
## 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) ##Use one of the following commands, not both: Set-AdComputer -Identity $FSxAdComputer -Add @{"msDS-AdditionalDnsHostname"="$Alias"} ##Or SetSpn /S ("HOST/" + $Alias.Split('.')[0]) $FSxAdComputer.Name SetSpn /S ("HOST/" + $Alias) $FSxAdComputer.Name注意
如果原始文件系统计算机对象的 AD 中存在 DNS 别名的 SPN,则为 Amazon FSx 文件系统设置 SPN 将失败。有关查找和删除现有 SPN 的信息,请参见在原始文件系统的 Active Directory 计算机对象上查找和删除现有 DNS 别名 SPN。
-
使用以下示例脚本验证是否为 DNS 别名配置了新 SPN。确保响应包括两个 HOST SPN
HOST/
和alias
HOST/
,如本过程前面所述。alias_fqdn
替换为 Amazon FSx 分配给您的文件系统的 DNS 名称。要在 Amazon FSx 控制台上查找您的文件系统的 DNS 名称,请选择文件系统,选择您的文件系统,然后在文件系统详细信息页面上选择网络和安全窗格。file_system_DNS_name
您也可以在 DescribeFileSystemsAPI 操作的响应中获取 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
有关如何强制客户在连接您的 Amazon FSx 文件系统时使用 Kerberos 身份验证和加密的信息,请参阅使用 GPO 强制执行 Kerberos 身份验证。
步骤 3:为文件系统更新或创建 DNS 别名记录
为文件系统正确配置 SPN 后,您可以切换到 Amazon FSx,方法是将每条解析到原始文件系统的 DNS 记录替换为解析为 Amazon FSx 文件系统的默认 DNS 名称的 DNS 记录。
需要dnsserver
和activedirectory
Windows 模块才能运行本节中介绍的命令。
安装所需的 PowerShell cmdlet
-
以拥有 DNS 管理权限的群组(AmazonAmazon托管 Active Directory 中的委托域名系统管理员,以及域管理员或您在自行管理的 Active Directory 中委托 DNSAmazon 管理权限的群组)的用户身份登录加入到 Amazon FSx 文件系统的 Active Directory 的 Windows 实例。
有关更多信息,请参阅适用于 Windows 实例的 Amazon EC2 用户指南中的连接您的 Windows 实例。
PowerShell 以管理员身份打开。
需要 PowerShell 使用 DNS 服务器模块来执行此过程中的指令。使用以下命令安装。
Install-WindowsFeature RSAT-DNS-Server
更新或创建您的 Amazon FSx 文件系统的自定义 DNS 名称
-
以拥有 DNS 管理权限的群组(Amazon托管 Active Directory 中的委托域名系统管理员,以及域管理员或您在自行Amazon管理的 Active Directory 中委托 DNS 管理权限的群组)的成员身份Connect 您的 Amazon EC2 实例。
有关更多信息,请参阅适用于 Windows 实例的 Amazon EC2 用户指南中的连接您的 Windows 实例。
-
在命令提示符处,运行以下脚本。此脚本会将任何现有 DNS CNAME 记录迁移到您的 Amazon FSx 文件系统。如果未找到,它会为 DNS 别名创建新的 DNS 别名记录
,该记录将解析为您的 Amazon FSx 文件系统的默认 DNS 名称。alias_fqdn
要运行脚本,请执行以下操作:
替换为
与文件系统关联的 DNS 别名。alias_fqdn
替换为亚马逊 FSx 分配给文件系统的 DNS 名称。file_system_DNS_name
$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) | Select -First 1 foreach ($computer in $DnsServerComputerName) { Add-DnsServerResourceRecordCName -Name $AliasHost -ComputerName $computer -HostNameAlias $FSxDnsName -ZoneName $ZoneName } -
对您在步骤 1 中与文件系统关联的每个 DNS 别名重复上述步骤。
现在,您已经为带有 DNS 别名的亚马逊 FSx 文件系统添加了 DNS CNAME 值。现在,您可以使用 DNS 别名访问您的数据。
注意
更新 DNS CNAME 记录以指向先前指向另一个文件系统的 Amazon FSx 文件系统时,客户端可能无法在短时间内连接到文件系统。当客户端 DNS 缓存刷新时,他们应该能够使用 DNS 别名进行连接。有关更多信息,请参阅无法使用 DNS 别名访问文件系统:
使用 GPO 强制执行 Kerberos 身份验证
通过在 Active Directory 中设置以下组策略对象 (GPO),可以在访问文件系统时强制执行 Kerberos 身份验证:
限制 NTLM:向远程服务器传出 NTLM 流量-使用此策略设置拒绝或审核从计算机到运行 Windows 操作系统的任何远程服务器的传出 NTLM 流量。
限制 NTLM:为 NTLM 身份验证添加远程服务器例外情况-如果配置了 “网络安全:限制 NTLM:向远程服务器传出 NTLM 流量” 策略设置,则使用此策略设置创建允许客户端设备使用 NTLM 身份验证的远程服务器例外列表。
登录加入到 Active Directory 的 Windows 实例,您的亚马逊 FSx 文件系统是以管理员身份加入的。如果您正在配置自我管理的 Active Directory,请将这些步骤直接应用到您的活动目录。
选择 “开始”,选择 “管理工具”,然后选择 “组策略管理”。
选择组策略对象。
如果您的组策略对象尚不存在,请创建它。
找到现有的 “网络安全:限制 NTLM:向远程服务器传出 NTLM 流量” 策略。(如果没有现有策略,请创建新策略。) 在本地安全设置选项卡中,打开上下文(右键单击)菜单,然后选择 Properties (属性)。
选择 “全部拒绝”。
选择 “应用” 保存安全设置。
要为客户端与特定远程服务器的 NTLM 连接设置例外,请找到网络安全:限制 NTLM:添加远程服务器例外。
打开上下文(右键单击)菜单,然后选择本地安全设置选项卡中的属性。
输入要添加到例外列表的所有服务器的名称。
选择 “应用” 保存安全设置。