有时,任务会因为网络连接问题而停止。这可能是间歇性问题,但很可能是因任务无法连接到端点所致。
测试任务连接
您可以使用 AWSSupport-TroubleshootECSTaskFailedToStart
运行手册来测试任务连接。使用运行手册时,您需要提供以下资源信息:
-
任务 ID
使用最近失败的任务的 ID。
-
任务所在的集群
有关如何使用运行手册的信息,请参阅《AWS Systems Manager Automation runbook reference》中的 AWSSupport-TroubleshootECSTaskFailedToStart
。
运行手册会对任务进行分析。您可以在输出部分查看以下可能导致任务无法启动的问题的结果:
与已配置的容器注册表的网络连接
VPC 端点连接
安全组规则配置
修正 VPC 端点问题
当 AWSSupport-TroubleshootECSTaskFailedToStart
运行手册结果表明存在 VPC 端点问题时,请检查以下配置:
-
您创建该端点的 VPC 需要使用私有 DNS。
-
确认任务无法连接到的服务所用 AWS PrivateLink 端点与任务位于同一 VPC 中。有关更多信息,请参阅以下章节之一:
服务 服务的 VPC 端点信息 Amazon ECR Amazon ECS 接口 VPC 端点(AWS PrivateLink) Systems Manager 使用适用于 Systems Manager 的 VPC 端点提高 EC2 实例的安全性 Secrets Manager 使用 AWS Secrets Manager VPC 端点 CloudWatch CloudWatch VPC 端点 Amazon S3 适用于 Amazon S3 的 AWS PrivateLink -
为任务子网配置一条允许通过端口 443 的 HTTPS DNS(TCP)流量出站规则。有关更多信息,请参阅《Amazon Elastic Compute Cloud 用户指南》中的配置安全组规则。
-
如果您使用自定义域名服务器,请确认 DNS 查询的设置。查询必须具有端口 53 的出站访问权限,并且使用 UDP 和 TCP 协议。此外,查询必须具有端口 443 上的 HTTPS 访问权限。有关更多信息,请参阅《Amazon Elastic Compute Cloud 用户指南》中的配置安全组规则。
-
如果子网具有网络 ACL,则需要使用以下 ACL 规则:
-
一条允许通过端口 1024-65535 的流量的出站规则。
-
一条允许通过端口 443 的 TCP 流量的入站规则。
有关如何配置规则的信息,请参阅《Amazon Virtual Private Cloud 用户指南》中的使用网络 ACL 控制指向子网的流量。
-
修正网络问题
当 AWSSupport-TroubleshootECSTaskFailedToStart
运行手册结果表明存在网络问题时,请检查以下配置:
根据运行手册执行以下配置:
-
对于在公有共子网中的任务,在启动任务时为自动分配公有 IP 指定启用。有关更多信息,请参阅 将应用程序作为 Amazon ECS 任务运行。
-
您需要一个网关来处理互联网流量。任务子网的路由表需要有一个将流量指向该网关的路由。
有关更多信息,请参阅《Amazon Virtual Private Cloud 用户指南》中的在路由表中添加和删除路由。
网关类型 路由表目的地 路由表目标 NAT 0.0.0.0/0 NAT 网关 ID 互联网网关
0.0.0.0/0 互联网网关 ID -
如果任务子网具有网络 ACL,则需要使用以下 ACL 规则:
-
一条允许通过端口 1024-65535 的流量的出站规则。
-
一条允许通过端口 443 的 TCP 流量的入站规则。
有关如何配置规则的信息,请参阅《Amazon Virtual Private Cloud 用户指南》中的使用网络 ACL 控制指向子网的流量。
-
根据运行手册执行以下配置:
-
启动任务时,对于自动分配公有 IP,选择已禁用。
-
在 VPC 中配置一个 NAT 网关,以用于将请求路由到互联网。有关更多信息,请参阅《Amazon Virtual Private Cloud 用户指南》 中的 NAT 网关。
-
任务子网的路由表需要有一个将流量指向 NAT 网关的路由。
有关更多信息,请参阅《Amazon Virtual Private Cloud 用户指南》中的在路由表中添加和删除路由。
网关类型 路由表目的地 路由表目标 NAT 0.0.0.0/0 NAT 网关 ID -
如果任务子网具有网络 ACL,则需要使用以下 ACL 规则:
-
一条允许通过端口 1024-65535 的流量的出站规则。
-
一条允许通过端口 443 的 TCP 流量的入站规则。
有关如何配置规则的信息,请参阅《Amazon Virtual Private Cloud 用户指南》中的使用网络 ACL 控制指向子网的流量。
-
根据运行手册执行以下配置:
-
创建集群时,对于 Amazon EC2 实例的联网下的自动分配 IP,选择开启。
此选项将为实例的主网络接口分配一个公有 IP 地址。
-
您需要一个网关来处理互联网流量。实例子网的路由表需要有一个将流量指向该网关的路由。
有关更多信息,请参阅《Amazon Virtual Private Cloud 用户指南》中的在路由表中添加和删除路由。
网关类型 路由表目的地 路由表目标 NAT 0.0.0.0/0 NAT 网关 ID 互联网网关
0.0.0.0/0 互联网网关 ID -
如果实例子网具有网络 ACL,则需要使用以下 ACL 规则:
-
一条允许通过端口 1024-65535 的流量的出站规则。
-
一条允许通过端口 443 的 TCP 流量的入站规则。
有关如何配置规则的信息,请参阅《Amazon Virtual Private Cloud 用户指南》中的使用网络 ACL 控制指向子网的流量。
-
根据运行手册执行以下配置:
-
创建集群时,对于 Amazon EC2 实例的联网下的自动分配 IP,选择关闭。
-
在 VPC 中配置一个 NAT 网关,以用于将请求路由到互联网。有关更多信息,请参阅 Amazon VPC 用户指南中的 NAT 网关。
-
实例子网的路由表需要有一个将流量指向 NAT 网关的路由。
有关更多信息,请参阅《Amazon Virtual Private Cloud 用户指南》中的在路由表中添加和删除路由。
网关类型 路由表目的地 路由表目标 NAT 0.0.0.0/0 NAT 网关 ID -
如果任务子网具有网络 ACL,则需要使用以下 ACL 规则:
-
一条允许通过端口 1024-65535 的流量的出站规则。
-
一条允许通过端口 443 的 TCP 流量的入站规则。
有关如何配置规则的信息,请参阅《Amazon Virtual Private Cloud 用户指南》中的使用网络 ACL 控制指向子网的流量。
-