跳至内容

如果对运行用户数据脚本以配置 EC2 Windows 实例时出现的问题进行故障排除?

1 分钟阅读
0

我无法在 Amazon Elastic Compute Cloud (Amazon EC2) Windows 实例上修改用户数据或运行用户数据脚本。或者,我想查看用户数据日志,但不知道在哪里找到这些日志。

解决方法

在即时启动时,您的用户数据不运行,或者您无法配置用户数据

处理用户数据时,请遵循以下最佳实践:

  • 将您的用户数据编码为 base64 格式。
  • 检索用户数据时,必须使用 base64 对数据进行解码。如果您使用实例元数据或 Amazon EC2 控制台检索数据,则会自动为您解码。
  • 如果您停止一个实例并修改您的用户数据,则当您启动该实例时,已更新的用户数据不会运行。要解决此问题,请参阅以下“EC2 实例重启或启动时您的用户数据不运行”部分。
  • 用户数据脚本需要特定语法。有关脚本语法的详细信息和示例,请参阅用户数据脚本
  • 要验证您的脚本语法,请在本地测试环境中运行脚本。
  • 要连接到元数据服务,EC2 实例必须连接到 169.254.169.254
  • 在使用一个未采用 Sysprep 的自定义 Windows 镜像时,永久路由可能会指向父类实例的默认网关。要解决此问题,请参阅为什么我的 Amazon EC2 Windows 实例收到“Waiting for the metadata service”(正在等待元数据服务)错误?

EC2 实例重启或启动时您的用户数据不运行

EC2 实例初次启动时,在默认情况下,用户数据仅运行一次。可以将实例配置为在每次重启或启动实例时运行用户数据。有关详细信息,请参阅如何在重启或启动实例时在现有 EC2 Windows 实例上运行命令?

您找不到用户数据日志

EC2Launch、EC2Launch v2 和 EC2Config 的日志文件包含标准输出和标准错误流的输出。可以在下列位置访问日志文件:

  • EC2Launch: C:\ProgramData\Amazon\EC2-Windows\Launch\Log\UserdataExecution.log
  • EC2Launch v2: C:\ProgramData\Amazon\EC2Launch\log\agent.log
  • EC2Config: C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2Config.log

**注意:**在默认情况下,C:\ProgramData 是一个隐藏文件夹。

相关信息

如何在新 EC2 Windows 实例启动时运行命令?

Microsoft 网站上的 Sysprep(系统准备)概述

AWS 官方已更新 7 个月前