我正在尝试将Userdata.txt作为文件访问,而不是在“AWS :: CloudFormation :: Init”:部分中再次编写整个PowerShell脚本。是否可以通过公开加入的链接访问存储在s3中的Userdata文件?
答案 0 :(得分:0)
简短回答 - 是的,您可以下载文件并将其作为实例引导程序的一部分执行。
更长的答案是你仍然需要引导代码 - 从s3下载主文件的代码 - 以某种方式执行,这必须在用户数据中。在Linux机器上:
#!/bin/bash
wget https://mybucket.s3-aws-region.amazonaws.com/myscript.sh
chmod +x myscript.sh
./myscript.sh
Windows上的:
<powershell>
Invoke-WebRequest -Uri "https://mybucket.s3-aws-region.amazonaws.com/myscript.ps1" -OutFile ".\myscript.ps1"
Set-ExecutionPolicy -ExecutionPolicy Bypass # see comments
.\myscript.ps1
</powershell>
请注意设置执行policy to bypass的含义。此外,上面假设您的脚本位于公共存储桶中,但可以对其进行修改以进行经过身份验证的s3下载。