运行任务时出现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

回到顶部