Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
如何排查卡在“待处理”状态的 AppStream 2.0 映像生成器问题?
当我尝试启动 Amazon AppStream 2.0 映像生成器时,状态停留在“待处理”状态,且不能更改为“正在运行”。
解决方法
映像生成器和实例集实例最多需要 25 分钟才能可用并变成“正在运行”状态。如果您的映像生成器在 25 分钟后仍处于“待处理”状态,请参阅以下常见原因和问题排查步骤。
注意:如果您在运行 AWS 命令行界面(AWS CLI)命令时收到错误,请确保您使用的是最新版本的 AWS CLI。
弹性网络接口被删除或分离
缺少网络接口可能会使映像生成器无法完成启动工作流,从而使状态卡在待处理状态。
要验证您的网络接口的状态,请打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台,然后选择 Network Interfaces (网络接口)。或者,要使用 AWS CLI,请输入以下命令:
aws ec2 describe-network-interfaces --filters 'Name=description,Values="AppStream 2.0 - image-builder:*"'
如果网络接口缺少或分离,请从上一个工作映像启动一个新的映像生成器。或者,使用 AWS 提供的基础映像。
注意:您可以检查 AWS CloudTrail 日志中是否有与网络接口删除或分离相关的事件详细信息,包括 eventTime 和 userIdentity。
PowerShell 策略限制
映像生成器卡在“待处理”状态的另一个原因是 PowerShell 执行策略过于严格。在创建映像之前将此策略设置为 Restricted(受限)会导致映像生成器卡在“待处理”状态。此外,其他 AS2 资源在下次启动时将无法启动。这是由于 Restricted(受限)策略阻止任何脚本(例如 SSM、Sysprep 或 reg 密钥设置)运行。您可以改用 AllSigned 或 RemoteSigned 策略避免这个问题。
使用 AppX 软件包的应用程序
使用 AppX 软件包的应用程序(例如 Adobe Creative Cloud)可能会导致 Sysprep 失败,映像生成器卡在“待处理”状态。
在完成映像创建过程的最后一步之前,以管理员身份在 PowerShell 中运行以下命令。
要获取设备上 AppX 软件包的列表,请输入以下命令:
Get-AppxPackage | select Name, PackageFullName
要删除特定的 AppX 软件包,请输入以下命令。将 AppXpackageName 替换为您要删除的软件包,如上一个命令的输出中所列:
Get-AppxPackage -AllUsers -Name AppXpackageName | Remove-AppxPackage -AllUsers
注意:映像生成器必须运行 Server 2019。-AllUsers 参数是在版本 1709 中添加的。映像生成器中的 Server 2016 在版本 1607 上运行,并返回带有 -AllUsers 参数的错误。
有关更多信息,请参阅 Microsoft 网站上的 Get-AppxPackage。
设备驱动程序冲突或不正确
映像生成器预安装了所有必要的驱动程序。如果用户安装冲突或不正确的驱动程序,映像生成器可能会停留在“待处理”状态。
由于映像生成器无法到达,无法卸载冲突或不正确的驱动程序。要修复这一问题,请从最近的自定义映像中或者使用 Amazon 提供的其中一个基础映像启动新的映像生成器。
网络接口限制
您的 AWS 账户可能已达到该区域的网络接口限制。有关限制和如何请求增加数量的更多信息,请参阅 Amazon VPC 限额。
Sysprep 答案文件自定义问题
最佳实践是不自定义 Sysprep Unattend 答案文件。不正确的自定义可能会阻止映像生成器正确启动并卡在欢迎屏幕上,从而干扰 Windows 启动过程。
要修复这一问题,请从最近的自定义映像中或者使用 Amazon 提供的其中一个基础映像启动新的映像生成器。
IPv6 已关闭
如果您在关闭 IPv6 的情况下创建映像,映像生成器将停留在“待处理”状态。要修复这一问题,请从最近的自定义映像中或者使用 Amazon 提供的其中一个基础映像启动新的映像生成器。
端口可用性
确认没有使用以下端口安装任何应用程序:
- 端口 8300 上的入站 TCP,用于建立流式处理连接。
- 端口 8000 和 8443 上的入站 TCP,用于通过 AppStream 2.0 管理流式处理实例。
有关更多信息,请参阅管理网络接口 IP 地址范围和端口。
要允许访问 Amazon EC2 元数据服务,所有流式处理实例都要求端口 80(HTTP)对 IP 地址 169.254.169.254 开放。如果配置了代理,该代理必须排除 169.254.169.254。有关详细信息,请参阅客户网络接口端口。
杀毒软件异常
杀毒软件可以阻止映像生成器需要的文件和端口。考虑在以下文件夹路径中添加异常情况:
- %PROGRAMFILES%\Amazon\*
- %PROGRAMFILES%\NICE\*
- %PROGRAMFILES%\nodejs\*
- %PROGRAMFILES%\Internet Explorer\*
- C:\Windows\*
这些文件夹路径与以下服务相对应:
- AWSLiteAgent
- AmazonSSMAgent
- Ec2Config
- PhotonAgent
- PhotonAgentWebServer(侦听端口 8443)
- DcvServer(侦听端口 8300)
- QWAVE
AWS CLI 凭证作为系统环境变量
将 AWS CLI 凭证设置为系统环境变量可以防止 AppStream 2.0 创建映像。有关更改您的队列实例间的系统环境变量的说明,请参阅更改系统环境变量。
默认语言被更改为不受支持的语言
您可以为您的 AppStream 2.0 流式处理会话配置默认的区域设置,包括显示语言。如果您将默认语言更改为不支持的语言,映像生成器将卡在“待处理”状态。要查看 AppStream 2.0 目前支持的语言,请参阅指定默认显示语言。
已删除或重命名本地管理员账户
AppStream 2.0 不支持重命名或删除本地管理员账户。如果重命名或删除此账户,映像创建将会失败。
对于加入域的映像生成器,如果组策略已停用、删除或重命名本地管理员账户,则可以更新组策略对象 (GPO)。
如果 GPO 未更新本地管理员账户,则从最近的自定义映像启动新的映像生成器。或者,使用 Amazon 提供的基础映像。
通知代码(加入域的映像生成器)
要查看通知,请打开 AppStream 2.0 控制台,然后从导航窗格中选择 Images (映像)。从 Image Builder (映像生成器) 选项卡中,选择您的映像生成器,然后选择 Notifications (通知) 选项卡。有关更多信息,请参阅通知代码问题排查。
- DOMAIN_JOIN_ERROR_NO_SUCH_DOMAIN 映像生成器实例无法连接 Active Directory 域。这将阻止映像生成器完成启动工作流。为确保网络连接,确认您的 VPC、子网和安全组设置。在 VPC 的 DHCP 选项集部分下确认 VPC DNS 服务器配置正确。域名服务器通常设置为负责您的域的域控制器或 DNS 服务器的 IP 地址。有关更多信息,请参阅 DHCP 选项集。
- DOMAIN_JOIN_ERROR_FILE_NOT_FOUND 组织单位(OU)识别名无效。AppStream 2.0 计算机对象必须放置在一个组织单位中,且识别名必须以 OU= 开头。有关更多信息,请参阅查找组织单位识别名。
防火墙和网络配置(加入域的映像生成器)
使用 AppStream 2.0 控制台在您的映像生成器中添加目录配置对象之前,确认防火墙和网络配置正确。然后执行以下步骤。
1. 从您的映像生成器中打开 PowerShell 窗口,然后运行以下命令:
Test-NetConnection -ComputerName yourdomain.exampleco.com -Port 389 -InformationLevel "Detailed" Test-NetConnection -ComputerName yourdomain.exampleco.com -Port 88 -InformationLevel "Detailed" Test-NetConnection -ComputerName yourdomain.exampleco.com -Port 53 -InformationLevel "Detailed"
2. 对于每个命令的输出,请验证 TcpTestSucceeded 为 True。这表示您可以达到所需的端口来加入域。有关详细信息,请参阅 Microsoft 网站上的 Test-NetConnection。
3. 从相同的 PowerShell 窗口中,运行 Resolve-DnsName 命令以确认您可以查找域名:
Resolve-DnsName -Name yourdomain.exampleco.com
或者,下载并运行 Microsoft PortQryUI 工具以验证所有需要的端口。
新的计算机对象未创建(加入域的映像生成器)
在 Active Directory 中,验证是否已在正确的组织单位(OU)中创建了新的计算机对象。
如果有新对象,则映像生成器实例很快将可用。
如果计算机对象未创建,则映像生成器将停留在“待处理”状态。要排查此问题,请先确认已授予所有必需的服务账户权限。然后,验证 AppStream 2.0 Directory Config 对象中的以下目录配置详细信息正确:
- 目录名称(目录的完全限定域名)
- 服务账户用户名和密码
- 组织单位(OU)识别名
