当我使用cloudformation创建一个windows ec2实例时,我正在尝试添加userdate来运行一些自定义脚本。 (Windows 2016)
"UserData" : {
"Fn::Base64" : {
"Fn::Join" : [
"",
[
"<powershell> \n",
"C:\\ProgramData\\Amazon\\EC2-Windows\\Launch\\Scripts\\InitializeInstance.ps1 \n",
"C:\\ProgramData\\Amazon\\EC2-Windows\\Launch\\Scripts\\create_folder.ps1 \n",
"New-Item -Path c:\\test3 -ItemType directory",
"</powershell>"
]
]
}
},
以上脚本似乎不起作用。 基本上我需要运行一些自定义脚本(我已在基本映像中添加)和一些powershell命令。
答案 0 :(得分:0)
默认情况下,2016 Windows AMI中不执行UserData部分。
您必须手动执行以下步骤;
InitializeInstance.ps -Schedule
命令。下次启动后,将执行用户数据部分。
我相信现在您遇到另一个无法手动登录到实例的问题。 然后,您可以做的是通过自定义Windows 2016 AMI并添加以下步骤来创建自己的AMI。
参考:https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-windows-user-data.html