问题标签 [aws-ecs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
823 浏览

java - Fargate 启动的容器中的自省

我们使用 EC2 集群在 ECS 中启动的容器使用容器代理的“ECS_CONTAINER_METADATA_FILE”机制来获取其任务 ID。

这似乎不适用于 Fargate 启动的容器。使用“ECS_CONTAINER_METADATA_FILE”在 Fargate 启动的容器中运行时是否有自省机制?

我了解所有任务的信息都可以通过 curl http://localhost:51678/v1/tasks获得

0 投票
1 回答
14092 浏览

amazon-web-services - 如何通过 CLI 获取 AWS 目标组中已注册目标的列表

我们正在尝试获取目标组中已注册目标(实例)的状态。这可以通过命令referenceaws elbv2 describe-target-health --target-group-arn ${TG} --targets Id=${ID},Port=${PORT}来完成。我们可以通过命令reference获取 PORT 。但是如何通过 CLI 检索目标的实例 ID?aws ecs describe-tasks --cluster $CLUSTER --tasks $task

0 投票
1 回答
2192 浏览

amazon-web-services - 在 ECS 任务中重启单个退出的容器

我有一个容器,它是 ECS 任务定义的一部分,我已将其标记为essential=false,因为如果此容器出现故障,我不希望 ECS 代理关闭任务中的其他容器。在我的情况下,使容器“非必要”已经达到了预期的结果:容器崩溃,并且任务中的其他容器不会被删除或重新启动。

但是,我确实希望这个非必要的容器能够独立重新启动。有没有内置的方法可以做到这一点?基本上,如果容器退出,则在该容器上运行docker start或运行docker restart(我们目前必须手动执行)。到目前为止,我对文档或探索 AWS 控制台都没有任何运气。

0 投票
1 回答
454 浏览

aws-ecs - Setup logentries for aws ecs

I'am trying to make my aws elastic cluster service send logs to logentries. But I can't find any good documentation on how to do it.

When i create task definition I have the option to choose logentries as image below shows: enter image description here

But where do I find this token? And do I have to do anything else?

All i can find on the topic is this: https://github.com/aws/amazon-ecs-agent/issues/1059

0 投票
4 回答
21650 浏览

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

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

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

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

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

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

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

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

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

看来我想念配置一些东西。

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

谢谢!!

0 投票
1 回答
744 浏览

java - 在 AWS Fargate 上运行时如何确定当前可用区

我有一个在 AWS Fargate 上运行的 Java 应用程序。EC2MetadataUtils.getAvailabilityZone() 从 AWS Fargate 中返回 null

是否有另一种方法来确定 Fargate 容器在哪个 AZ 中运行?我也有容器的子网 ID

0 投票
2 回答
1431 浏览

amazon-web-services - 如何在 AWS ECS 中扩展任务/容器

是 AWS 关于如何部署基于微服务的应用程序的介绍性指南ECS

显然(从文档中也可以看出),所谓的任务定义应该包含构成堆栈的所有容器。

即,如果您的相应docker-compose.yml文件由 5 个services组成(在 docker compose 上下文中),则这些文件都应以相同的ECS 任务定义 (?) 结尾。

据我了解,这也有助于在容器之间自动发现服务(就像 and 中的默认行为一样docker-composedocker swarm

问题在于 ECS 的扩展可能性是(除了EC2实例之外)每个ECS服务。

这是否意味着您不能进行容器级扩展?

如果我想要一个服务规模,我必须在我所谓的堆栈中扩展我的所有容器吗?

0 投票
1 回答
18466 浏览

amazon-web-services - Fargate 中的 vCPU 的真正含义是什么?

我试图在此处此处获得有关我的问题的答案,但我知道我需要具体了解 vCPU 的 Fargate 实现。所以我的问题是:

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

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

0 投票
1 回答
1878 浏览

amazon-web-services - 是否每个 aws 批处理作业都会启动一个新的 docker 容器

每次我提交批处理作业时,都会创建一个新的 Docker 容器还是重用旧容器。

如果每次都创建一个新的 Docker 容器,那么当作业完成时容器会发生什么。

在 AWS ECS 中,ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION 变量设置从任务停止到移除 Docker 容器的等待时间(默认为 3 小时)

如果所有这些容器都在三个小时后才被清理,那么如果我提交大量作业,ECS容器实例会不会很容易被填满?

收到此错误 CannotCreateContainerError: API error (500): devmapper when running a batch job。如果我在作业结束时清理 docker 容器文件有帮助吗?

0 投票
1 回答
445 浏览

amazon-web-services - AWS ECS:ECSService CloudFormation 资源定义中的 LoadBalancers 属性错误

尝试使用以下 Cloudformation 资源定义创建 ECS 服务:

但是它失败并出现以下错误:

属性 LoadBalancers 的值必须是对象列表

我正在定义一个列表(尽管只有一个元素)。

该列表包含 ALB 的 arn 的导出。

确切的语法是什么?

编辑:这是似乎与错误不一致的相关文档:

负载均衡器

与集群关联的负载均衡器对象列表。如果您指定 Role 属性,则还必须指定 LoadBalancers。有关您可以为每个服务指定的负载均衡器数量的信息,请参阅 Amazon Elastic Container Service Developer Guide 中的服务负载均衡。必需:条件类型:Amazon Elastic Container Service 服务负载平衡器列表