运行任务时出现AWS ECS错误:在集群中未找到容器实例
我正在尝试将docker
容器映像部署为AWS
使用ECS
,但未创建EC2实例。我在互联网上搜寻了有关为什么收到以下错误的解释:
“调用RunTask操作时发生客户端错误(InvalidParameterException):在群集中未找到容器实例。”
1.将Docker映像从Ubuntu推送到我的Amazon ECS存储库。
2.注册了ECS任务定义:
aws ecs register-task-definition --cli-input-json file://path/to/my-task.json
3.处理任务:
aws ecs run-task --task-definition my-task
然而,它失败了。
{ "family": "my-task",
"containerDefinitions": [
{
"environment": [],
"name": "my-container",
"image": "my-namespace/my-image",
"cpu": 10,
"memory": 500,
"portMappings": [
{
"containerPort": 8080,
"hostPort": 80
}
],
"entryPoint": [
"java",
"-jar",
"my-jar.jar"
],
"essential": true
}
]
}
我也尝试过使用管理控制台来配置集群和服务,但是却遇到了同样的错误。如何将群集配置为具有ec2实例,我需要使用哪种容器实例?
我以为整个过程都是从创建EC2实例开始的!
回答:
经过几个小时的调查,我发现了这一点。亚马逊,如果您正在侦听,则在创建集群或向集群添加实例时,应在管理控制台中的某个位置声明以下内容:
“在将ECS实例添加到群集之前,必须首先转到EC2管理控制台并创建
ecs-
optimized具有
AmazonEC2ContainerServiceforEC2Role
附加了策略的IAM角色的实例”
1.转到您的EC2仪表板,然后单击Launch
Instance按钮。
2.在下Community AMIs
,搜索ecs-optimized
,然后选择最适合您的项目需求的一种。任何都可以。点击下一步。
3.当您进入配置实例详细信息时,单击,create new IAM role link
然后创建一个名为的新角色ecsInstanceRole
。
4.将AmazonEC2ContainerServiceforEC2Role
策略附加到该角色。
5.然后,完成ECS实例的配置。
如果要创建Web服务器,则需要创建一个securityGroup以允许访问端口80。
几分钟后,实例初始化并运行后,您可以刷新“ ECS实例”选项卡,您也尝试添加实例。
以上是 运行任务时出现AWS ECS错误:在集群中未找到容器实例 的全部内容, 来源链接: utcz.com/qa/403824.html