Amazon web services ec2专用子网可以';当操作系统为windows server 2019时,无法达到169.254.169.254

Amazon web services ec2专用子网可以';当操作系统为windows server 2019时,无法达到169.254.169.254,amazon-web-services,amazon-ec2,Amazon Web Services,Amazon Ec2,我在一个私有子网中运行了多个ec2实例(只允许vpc内的流量)。 其中一些实例是自定义操作系统, 其中一些实例运行AWS windows server 2012 ami, 还有一些运行AWS windows server 2019 ami 在除windows server 2019之外的所有计算机上-我可以通过调用http://169.254.169.254/latest/meta-data". 在windows server 2019上-它失败。 防火墙已关闭,所有机器的路由表都相同,它们之间

我在一个私有子网中运行了多个ec2实例(只允许vpc内的流量)。 其中一些实例是自定义操作系统, 其中一些实例运行AWS windows server 2012 ami, 还有一些运行AWS windows server 2019 ami

在除windows server 2019之外的所有计算机上-我可以通过调用http://169.254.169.254/latest/meta-data". 在windows server 2019上-它失败。 防火墙已关闭,所有机器的路由表都相同,它们之间的唯一区别在于工作实例运行EC2Config,windows server 2019运行EC2Launch(当然,操作系统也不同)

知道是什么导致了这种行为吗


谢谢

嗯,我不知道为什么它只发生在我的一些实例上,但在我发现的实例上,运行它解决了我的问题

为了能够始终运行此文件(也在元数据链接工作的实例上),我在脚本的开头添加了以下代码-如果元数据链接工作,这将停止脚本:

$httpReq = [System.Net.WebRequest]::Create('http://169.254.169.254/latest/meta-data')
$httpRes = $httpReq.GetResponse()
$httpStts= [int]$httpRes.StatusCode

if ($httpStts -eq 200) {
    Write-Host "No need for script - exiting"

    if($httpRes -ne $null) {
        $httpRes.Close()
    }

    exit
}
# rest of the script goes here
我想把我的解决方案贴在这里,如果我有问题,它会帮助他


谢谢大家的帮助。

我以前听说过,但它总是与Windows防火墙有关。确切的行为是什么?“它失败”意味着连接超时?您可能需要检查IMDSv2是否已启用(如果未传递令牌,这将导致它返回401 Unauthorized)。它不是401-它“无法连接到远程服务器”,我尝试了IMDSv2-与上面的结果相同