Aus*_*n K 15 amazon-web-services amazon-ecs docker aws-fargate
我在Amazon Fargate集群上运行任务时遇到此错误.有没有人见过这个?提前致谢.
转到文档以获取对此答案。
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_cannot_pull_image.html
由于您遇到500
错误,因此我会留意第一个错误的描述“连接超时”的建议:
启动Fargate任务时,其弹性网络接口需要一条通往Internet的路由来提取容器图像。如果在启动任务时收到与以下类似的错误,那是因为不存在到Internet的路由:
Run Code Online (Sandbox Code Playgroud)CannotPullContainerError: API error (500): Get https://111122223333.dkr.ecr.us-east-1.amazonaws.com/v2/: net/http: request canceled while waiting for connection
要解决此问题,您可以:
对于公共子网中的任务,在启动任务时为自动分配公共IP指定启用 ...
对于专用子网中的任务,在启动任务时为自动分配公用IP指定禁用,并在VPC中配置NAT网关以将请求路由到Internet。
如果您遇到其他与ECS任务没有启动有关的问题,或者启动时表现出奇怪的行为,请查看ECS故障排除主题的完整列表。
我遇到了类似的错误(404
而不是500
),但是,即使详细状态列出了错误,任务也显示它正在运行。
事实证明,ecs-tasks无法承担与任务关联的角色(在这种情况下,角色与其运行的EC2实例相同)。在角色中添加以下信任关系语句可解决此问题:
{
"Effect": "Allow",
"Principal": {
"Service": "ecs-tasks.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参见任务执行角色上的特定页面。
公共 IP不是强制性的,缺乏创建工作 NAT 网关的规范。在GitHub 问题上,亚马逊技术人员不断重复您“只”需要私有 IP + NAT,但事实并非如此。我与这个自己奋斗了很多,但终于得到了它正常工作,而无需使用公共IP为我Fargate服务。
要让 Fargate 服务在没有公共 IP 的情况下访问互联网,您需要设置一个具有 2 个子网的 VPC:
您可以通过两种方式创建这样一个VPC:前往Services
> VPC
> VPC Dashboard
,点击Launch VPC Wizard
和选择"VPC with Public and Private Subnets"
; 或手动:
注意:以下所有步骤都在Services
>VPC
Your VPCs
和Create a VPC
Subnets
和Create subnet
2次
private
子网
public
子网
Internet Gateways
和Create internet gateway
Internet Gateway
, Actions
,Attach to VPC
并将其附加到焦点 VPCNAT Gateways
和Create NAT Gateway
public
子网Create New EIP
或者使用现有的,因为你有一个Available
Route Tables
和Create route table
2次
private
路由表
Routes
底部的标签, Edit routes
Add route
, 目的地: 0.0.0.0/0
, 目标是之前创建的 NAT 网关和Save routes
Actions
并且Set Main Route Table
(如果还没有)public
路由表
Routes
底部的标签, Edit routes
Add route
, 目标: 0.0.0.0/0
, 目标是之前创建的 Internet 网关和Save routes
Subnet Associations
底部的标签, Edit subnet associations
public
子网,Save
您放置在public
子网中的每个服务都将具有双向Internet 访问权限,您放置在private
子网中的每个服务都只能访问传出Internet(是的,private
没有公共 IP的子网中的 Fargate 和 EC2 服务将具有 Internet 访问权限)。
归档时间: |
|
查看次数: |
5319 次 |
最近记录: |