如何在Windows EC2实例中执行UserData内容
我在尝试使用自动缩放正确运行云形成模板时遇到了很多麻烦。我有以下资源:如何在Windows EC2实例中执行UserData内容,windows,amazon-ec2,autoscaling,amazon-cloudformation,Windows,Amazon Ec2,Autoscaling,Amazon Cloudformation,我在尝试使用自动缩放正确运行云形成模板时遇到了很多麻烦。我有以下资源: "LaunchConfig" : { "Type" : "AWS::AutoScaling::LaunchConfiguration", "Properties" : { "KeyName" : { "Fn::FindInMap" : [ "EnvironmentToKeyName", { "Ref" : "Environment" }, "KeyName" ] }, "ImageId" : { "F
"LaunchConfig" : {
"Type" : "AWS::AutoScaling::LaunchConfiguration",
"Properties" : {
"KeyName" : { "Fn::FindInMap" : [ "EnvironmentToKeyName", { "Ref" : "Environment" }, "KeyName" ] },
"ImageId" : { "Fn::FindInMap" : [ "AWSRegionToAMI", { "Ref" : "AWS::Region" }, "AMI" ] },
"SecurityGroups" : [ "neat_spi" ],
"InstanceType" : { "Ref" : "InstanceType" },
"UserData" : { "Fn::Base64" : {
"Fn::Join" : ["", [ "<script>", "call c:\\chef\\boot.bat", { "Ref" : "Environment" }, "</script>"]]
}
}
}
}
“启动配置”:{
“类型”:“AWS::AutoScaling::LaunchConfiguration”,
“财产”:{
“KeyName”:{“Fn::FindInMap”:[“EnvironmentToKeyName”,{“Ref”:“Environment”},“KeyName”]},
“ImageId”:{“Fn::FindInMap”:[“AWSRegionToAMI”,{“Ref”:“AWS::Region”},“AMI”]},
“安全组”:[“整洁的spi”],
“InstanceType”:{“Ref”:“InstanceType”},
“UserData”:{“Fn::Base64”:{
“Fn::Join”:[“”、[“”、“call c:\\chef\\boot.bat”、{“Ref”:“Environment”}、“]]
}
}
}
}
但是当机器启动时,这个脚本看起来根本没有运行。我如何确保它运行?或者我该如何找出它为什么不运行
我在任何地方都找不到任何关于如何查看是否运行此操作的日志记录。VM启动后,您可以使用WinRM在其上运行远程命令。下面是一个示例客户端:
确保在Windows AMI中启用了WinRM,并且安全组中打开了正确的端口。需要查找的几件事
对CloudFormation和Userdata进行故障排除非常耗时,而且成本高昂,因为每次启动和停止实例都会收取一小时的费用。这对亚马逊来说非常有利。(请按分钟计费)我花了很长时间才让脚本在我的AMI上运行当我使用标准Amazon AMI时,它可以工作,但在我的自定义构建AMI时,它不能工作 然后我找到了这个链接 总而言之,我
EC2ConfigService设置
->所有程序或
”这个新的AMI能够正确运行我的UserData脚本。C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2ConfigLog.txt是我找到的最有用的文件。它包含在C:\Program Files\Amazon\Ec2ConfigService\scripts下作为UserScript.bat/ps1安装的脚本日志。这并不能回答有关UserData的问题。