我在启动时尝试了以下的powershell脚本(将其作为用户数据传递):
<powershell>
$instancePublicIp = (wget http://169.254.169.254/latest/meta-data/public-ipv4).Content
while ($instancePublicIp.length -eq 0)
{
Start-Sleep -s 40
$instancePublicIp = (wget http://169.254.169.254/latest/meta-data/public-ipv4).Content
Add-Content c:\debug.txt "public ip : $($instancePublicIp) - "
}
</powershell>
我验证了脚本正在运行,因为debug.txt存在于C:驱动器上。但公共IP回来了。 我也尝试睡眠40秒以允许实例启动并且网络适配器连接没有运气。
上面运行相同的脚本并在手动运行时返回正确的IP地址。
有什么想法吗?