标签: aws-ecs

ECS无法承担角色

从控制台,我正在调用一个提交批处理作业的lambda.批处理作业失败,表示ECS无法承担为执行作业定义而提供的角色.

对于角色,我添加了lambda和ECS服务.

错误消息:

"ECS无法承担为此任务提供的角色'arn:aws:iam :: 749340585813:role/golfnow-invoke-write-progress'.请验证传递的角色是否具有正确的信任关系和权限,以及你的IAM用户有权传递这个角色."

"TrainingJobRole": {
  "Type": "AWS::IAM::Role",
  "Properties": {
    "RoleName": "golfnow-invoke-write-progress",
    "AssumeRolePolicyDocument": {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "lambda.amazonaws.com",
              "ecs.amazonaws.com"
            ]
          },
          "Action": [
            "sts:AssumeRole"
          ]
        }
      ]
    },
    "Path": "/"
  }
}
Run Code Online (Sandbox Code Playgroud)

批处理作业:

    "TrainingJob": {
  "Type": "AWS::Batch::JobDefinition",
  "Properties": {
    "Type": "container",
    "JobDefinitionName": {
      "Fn::Sub": "c12e-golfnow-${Environment}-job"
    },
    "ContainerProperties": {
      "Image": {
        "Fn::Join": [
          "",
          [
            "{{ image omitted }}",
            {
              "Ref": "AWS::Region"
            },
            ".amazonaws.com/amazonlinux:latest"
          ]
        ]
      },
      "Vcpus": 2,
      "Memory": 2000, …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-batch aws-ecs

30
推荐指数
1
解决办法
8521
查看次数

为什么AWS Batch Jobs卡在RUNNABLE中?

我在需求实例上使用0-256 m3.medium的计算环境.我的Job定义需要1个CPU和3 GB的Ram,m3.medium有.

AWS Batch Jobs陷入状态的可能原因是RUNNABLE什么?

AWS说:

A job that resides in the queue, has no outstanding dependencies, and is therefore ready to be scheduled to a host. Jobs in this state are started as soon as sufficient resources are available in one of the compute environments that are mapped to the job’s queue. However, jobs can remain in this state indefinitely when sufficient resources are unavailable.

但这不能回答我的问题

amazon-web-services aws-batch aws-ecs

21
推荐指数
2
解决办法
5209
查看次数

如何使用Fargate在AWS ECS中的正在运行的容器中运行命令

如果我使用EC2在AWS ECS中运行容器,那么我可以访问正在运行的容器并执行任何命令.

即. docker exec -it <containerid> <command>

如何使用Fargate在AWS ECS中运行容器或访问容器中运行命令?

amazon-web-services aws-ecs aws-fargate

14
推荐指数
1
解决办法
6663
查看次数

ECS fargate启动容器的速度有多快?

AWS ECS Fargate启动和运行docker镜像的最短/平均时间是多少?
为了论证,45MB anapsix/alpine-java图像.

我想调查使用ECS Fargate通过在较快的远程服务器上构建软件来加速在慢速笔记本电脑/ PC上本地构建软件的过程.
因此,图像的启动时间对于使得精力充沛是至关重要的.

aws-ecs aws-fargate

12
推荐指数
3
解决办法
3874
查看次数

为 ECR 中的所有存储库设置一项生命周期策略

我很好奇是否有一种方法可以设置一个通用的生命周期策略,该策略将应用于 ECR 中的所有存储库?

目前,据我了解,没有办法做到这一点。

我正在考虑的一种方法是使用生命周期策略的 JSON 定义,并使用 AWS CLI 将其应用到所有存储库(可以稍微自动化一些)。但是这个东西应该在每次创建新存储库时运行,这会增加复杂性。

amazon-web-services aws-cli aws-ecs aws-ecr

10
推荐指数
1
解决办法
5399
查看次数

AWS ECS:运行任务失败原因:[“ATTRIBUTE”]

在尝试在 EC2 实例中运行任务时,我收到了这条可怕的错误消息。

Run tasks failed
Reasons : ["ATTRIBUTE"]
Run Code Online (Sandbox Code Playgroud)

像许多其他人一样,我被要求查看我发现此列表的任务的“requiresAttributes”部分:

  "requiresAttributes": [
    {
      "targetId": null,
      "targetType": null,
      "value": null,
      "name": "ecs.capability.execution-role-ecr-pull"
    },
    {
      "targetId": null,
      "targetType": null,
      "value": null,
      "name": "com.amazonaws.ecs.capability.docker-remote-api.1.18"
    },
    {
      "targetId": null,
      "targetType": null,
      "value": null,
      "name": "ecs.capability.task-eni"
    },
    {
      "targetId": null,
      "targetType": null,
      "value": null,
      "name": "com.amazonaws.ecs.capability.ecr-auth"
    },
    {
      "targetId": null,
      "targetType": null,
      "value": null,
      "name": "com.amazonaws.ecs.capability.task-iam-role"
    },
    {
      "targetId": null,
      "targetType": null,
      "value": null,
      "name": "ecs.capability.execution-role-awslogs"
    },
    {
      "targetId": null,
      "targetType": null,
      "value": null, …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-ecs

10
推荐指数
2
解决办法
4686
查看次数

在 AWS ECS 容器上挂载 S3 存储桶作为文件系统

我正在尝试使用 rexray/s3fs 驱动程序将 S3 作为卷安装在 AWS ECS docker 容器上。

我可以在我安装插件的本地机器上执行此操作

$docker plugin install rexray/s3fs
Run Code Online (Sandbox Code Playgroud)

并在 docker 容器上安装了 S3 存储桶。

$docker plugin ls

ID                  NAME                 DESCRIPTION                                   ENABLED

3a0e14cadc17        rexray/s3fs:latest   REX-Ray FUSE Driver for Amazon Simple Storage   true 

$docker run -ti --volume-driver=rexray/s3fs -v s3-bucket:/data img
Run Code Online (Sandbox Code Playgroud)

我正在尝试在 AWS ECS 上复制它。

尝试遵循以下文档:https : //docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-volumes.html

如果我给 Driver 值,那么任务将无法运行并给出“无法放置任务,因为没有容器实例满足其所有要求。” 错误。

我正在使用 t2.medium 实例并为其提供任务要求,因此它不应该是 H/W 要求问题。

如果我从作业定义中删除驱动程序配置,任务将被执行。

看来我错过了配置的东西。

有没有人尝试/尝试过同样的事情,请分享知识。

谢谢!!

plugins mount s3fs docker aws-ecs

10
推荐指数
3
解决办法
2万
查看次数

Fargate的vCPU究竟是什么意思?

我试图在这里这里得到我的问题的答案,但我明白我需要特别知道远程控制器的vCPU实现.所以我的问题是:

  1. 如果我为我的任务分配了4个vCPU,这意味着我 在此任务中运行在容器上的单线程应用程序将能够完全使用所有这些vCPU,因为它们基本上只是我可以使用的处理器核心的一部分时间?
  2. 比方说,我为我的任务分配了4vCPU,但在技术层面上,我将4vCPU分配给可以自由处理一个线程的物理核心(甚至更多的超线程处理).我的逻辑是否适用于Fargate案件?

ps这是一个node.js应用程序,它运行会话,多个玩家互相交互,所以我确实希望提供一个具有最大容量的单个 node.js进程.

amazon-web-services aws-ecs aws-fargate

10
推荐指数
2
解决办法
3650
查看次数

通过Fargate的ECS服务的AWS负载平衡多个端口

AWS文档中提到需要经典负载均衡器才能将ECS服务连接到多个端口https : //docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html

但是当将ECS与Fargate一起使用时,我收到以下错误消息,即Classic Load Balancer不支持网络模式awsvpchttps : //ibb.co/gJTtfo

是否无法使用Fargate为ECS服务平衡多个端口的负载?

amazon-web-services amazon-ecs amazon-elb aws-ecs aws-fargate

8
推荐指数
1
解决办法
3119
查看次数

AWS Fargate - 从私人仓库中撤出

在搜索时,它会产生如何使用ECS执行此操作.这需要将配置文件放在特定目录中或设置env变量,当使用Fargate时它们都不可用,因为它是无服务器的.

我觉得好像我在这里遗失了什么,有人有什么想法吗?

谢谢!

amazon-web-services aws-ecs aws-fargate

7
推荐指数
2
解决办法
2386
查看次数