FSx for Windows 创建失败:自建 AD 的 TCP 9389 不通
FSx for Windows 创建失败:自建 AD 的 TCP 9389 不通
使用自建 Active Directory 创建 FSx for Windows File Server 时,如果 Single-AZ 2 或 Multi-AZ 文件系统创建失败,并且报 Get-ADComputer: Unable to contact the server,要重点检查 FSx 子网到域控 TCP 9389 的连通性。
现象
FSx 创建失败,后台或错误信息中出现:
setupFileServerRole failed
Get-ADComputer : Unable to contact the server.
This may be because this server does not exist, it is currently down,
or it does not have the Active Directory Web Services running.这个错误通常发生在 FSx 设置文件服务器角色、加入或查询 AD 对象的阶段。
根因
Get-ADComputer 依赖 Active Directory Web Services,也就是 ADWS。ADWS 默认使用:
TCP 9389对于 FSx for Windows 的 Single-AZ 2 和 Multi-AZ 类型,FSx 需要能访问域控制器的 TCP 9389。如果该端口被安全组、NACL、企业防火墙或跨区域网络策略阻断,文件系统创建会失败。
验证方法
在与 FSx 相同子网、相同安全组的加域 EC2 Windows 实例上运行 AD 验证工具。
Install-WindowsFeature RSAT-AD-PowerShell
Invoke-WebRequest `
"https://docs.aws.amazon.com/fsx/latest/WindowsGuide/samples/AmazonFSxADValidation.zip" `
-OutFile "AmazonFSxADValidation.zip"
Expand-Archive -Path "AmazonFSxADValidation.zip"
Import-Module .\AmazonFSxADValidation
$Credential = Get-Credential
$Args = @{
DomainDNSRoot = "example.com"
DnsIpAddresses = @("DC_IP_1", "DC_IP_2")
SubnetIds = @("subnet-xxxxxxxx")
Credential = $Credential
}
$Result = Test-FSxADConfiguration @Args
$Result.Failures如果输出中有 TCP 9389 失败项,就能确认是 ADWS 端口连通性问题。
Single-AZ 1 为什么可能成功
Single-AZ 1 对 TCP 9389 的要求不同,可能在同一环境下创建成功。这可以帮助判断服务账号权限、DNS 和基础 AD 端口是否正常。
如果 Single-AZ 1 成功,而 Single-AZ 2 / Multi-AZ 失败,排查重点应转向 TCP 9389。
解决方案
放行 FSx 子网到全部域控的 TCP 9389:
- FSx 安全组出站。
- 域控安全组入站。
- 网络 ACL 双向规则。
- 本地或跨区域防火墙策略。
- 企业网络中的中间防火墙。
放行后重新运行验证工具,确认没有失败项,再重新创建 FSx。
总结
FSx for Windows 加入自建 AD 失败时,不要只查 389、445、88 这些常见端口。对于 Single-AZ 2 和 Multi-AZ,TCP 9389 同样关键。
看到 Get-ADComputer 或 ADWS 相关错误时,优先验证 FSx 子网到全部 DC 的 9389 连通性。
