如何解决“RequestError: send request failed caused by: Post https://ssm.RegionID.amazonaws.com/: dial tcp IP:443: i/o timeout”SSM Agent 日志错误?

1 分钟阅读
0

我试图通过 AWS Systems Manager 将我的 Amazon Elastic Compute Cloud(Amazon EC2)实例注册为托管实例。但是,实例注册失败,我收到了一条 TCP 超时错误消息。

简短描述

TCP 超时错误表示以下一个问题阻止了注册实例:

  • 该实例位于私有子网中,使用 Systems Manager 虚拟私有云(VPC)端点和自定义 DNS 服务器。
  • 该实例位于私有子网中,无法访问互联网或 Systems Manager 端点。
  • 该实例位于公有子网中。VPC 安全组网络访问控制列表(网络 ACL)未配置为允许向端口 443 上的 Systems Manager 端点进行出站连接。
  • 该实例位于代理后面,但是 SSM Agent 未配置为通过 HTTP 代理进行通信,也无法连接到实例元数据服务器。

您可以在位于以下路径的实例上的 SSM Agent 日志中查看 TCP 超时错误:

Linux 和 macOS

/var/log/amazon/ssm/amazon-ssm-agent.log

/var/log/amazon/ssm/errors.log

Windows

%PROGRAMDATA%\Amazon\SSM\Logs\amazon-ssm-agent.log

%PROGRAMDATA%\Amazon\SSM\Logs\errors.log

解决方法

在私有子网中使用 Systems Manager 端点和自定义 DNS 的实例

VPC 端点仅支持 Amazon 通过 Amazon Route 53 提供的 DNS。要使用您自己的 DNS 服务器,请尝试以下一种方法:

实例无法连接到 Systems Manager 端点

-或者-

VPC 安全组和网络 ACL 未配置为允许在端口 443 上进行出站连接

-或者-

该实例位于代理后面,无法连接到实例元数据服务

有关故障排除步骤,请参阅为什么我的 EC2 实例未显示为托管节点或在 Systems Manager 中显示“连接丢失”状态?


相关信息

创建 VPC 端点

AWS 官方
AWS 官方已更新 3 年前