我们目前正在帮助客户解决他们遇到的问题,解决方案是使用AWS将文件从s3桶复制到windows目录位置。
当我们转到“安装库存”并手动选择所有实例时,只会出现在可用性区域- EU-WEST-2A中的实例,而2b和2c中的实例是不可用的,并且当我们尝试进行API调用以查看SSM是否使用实例-id安装时,不会返回任何信息。暗示SSM代理没有安装在2b和2c AZ的windows实例上。
以前有没有人遇到过这样的事?我们做错什么了吗?
本可以张贴在AWS论坛,但我们没有溢价的支持。
发布于 2019-07-17 00:14:47
是否所有实例都具有相同的IAM角色?
要使SSM工作,有几个先决条件:
ssm.eu-west-2.amazonaws.com的权限--如果它们具有公共IP,则可以通过IGW访问,如果它们位于私有子网中,则必须通过NAT访问。您能从所有实例中提取ping ssm.eu-west-2.amazonaws.com吗?AmazonEC2RoleforSSM策略。检查连接性,检查IAM角色策略和代理。这将是其中之一。
希望有帮助:)
发布于 2019-07-17 12:51:07
我已经找到了问题和解决办法。
看来基本AMI引起了一些问题。所发生的情况是,windows实例是在可用性区域A中创建的,当其创建时,AWS中间件将一些路由配置到该可用性区域的windows网络配置中,后者指向该子网(AZ)的网关:
当前配置:
Persistent Routes:
Network Address Netmask Gateway Address Metric
169.254.169.254 255.255.255.255 172.31.0.1 25
169.254.169.250 255.255.255.255 172.31.0.1 25
169.254.169.251 255.255.255.255 172.31.0.1 25但是,当您克隆这个AMI并将其部署到另一个子网(AZ)中时,路由不会改变。这就是它应该看起来的样子;
Persistent Routes:
Network Address Netmask Gateway Address Metric
169.254.169.254 255.255.255.255 172.31.32.1 25
169.254.169.250 255.255.255.255 172.31.32.1 25
169.254.169.251 255.255.255.255 172.31.32.1 25要使其处于所需的状态,在AMI中包含了一个位于:C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\initializeinstance.ps1的脚本
运行此脚本解决了问题,实例现在出现在SSM中。
https://serverfault.com/questions/975453
复制相似问题