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

上次更新日期:2021 年 5 月 7 日

我试图通过 AWS Systems Manager 将我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例注册为托管实例。但是,该实例无法注册,并且我收到类似于以下内容的 TCP 超时错误消息:

“RequestError: send request failed caused by: Post https://ssm.RegionId.amazonaws.com/: dial tcp IP:443: i/o timeout”

为什么会注册失败,我该如何解决此错误?

简短描述

TCP 超时错误表明,以下问题之一阻碍了实例的注册:

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

您可以在以下路径的实例上的 SSM 代理日志中查看 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 Route 53 支持 Amazon 提供的 DNS。要使用您自己的 DNS 服务器,请尝试以下操作之一:

实例无法连接到 Systems Manager 终端节点

-或者-

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

-或者-

实例位于代理后方,并且无法连接到实例元数据服务


这篇文章对您有帮助吗?


您是否需要账单或技术支持?