amazon-ec2 - AWS SSM describe_instance_information 使用旧数据?
问题描述
我有一个正在运行的 lambda 函数:
ssm = boto3.client('ssm')
print(ssm.describe_instance_information())
它返回 6 个实例。5 是已终止的旧实例,不再出现在我的控制台中。一个例子是正确的。我创建了该实例的 AMI 映像,并尝试在同一安全组和子网下启动多个实例。这些实例都不是从 describe_instance_information 返回的。是否报告旧数据?9
我的最终目标是让 lambda 函数使用 AMI 启动实例并向其发送命令。如果我使用现有实例,一切正常。我试图让它与从 AMI 创建的一个一起工作。
编辑:过了一会儿,实例确实出现了,我想这需要一段时间。我不明白为什么终止的实例仍然出现。我可以轮询 describe_instance_information,直到我想要的 instance_id 出现,但是否有更简洁的内置函数,例如 wait_for_xxxxx()?
解决方案
您可以将过滤器参数与 PingStatus 一起使用,以确定 SSM 代理的连接状态。
response = client.describe_instance_information(
Filters=[
{
'Key': 'PingStatus',
'Values': [
'Online'
]
},
]
)
推荐阅读
- r - 列表被添加到数据框
- android - ImageView 不以编程方式显示图像集
- intellij-idea - 在 PC 上使用 intellij 作为笔记本电脑的工作环境
- c# - ASP.Net:注册到 MySQL 服务器不起作用
- javascript - 粘性导航栏在滚动时跳转(JS、HTML、CSS)
- java - sonarlint 强制将 final 类的常量声明为 protected
- python - 在 Lambda Python 函数中循环访问 AWS 账户
- android - 无法开始调试:无法连接到 127.0.0.1:29308
- javascript - window.location.reload() 与刷新按钮不完全相同
- raspberry-pi - 将 DS2408 与 Raspberry Pi GPIO 4 1wire linux 驱动程序一起使用