问题标签 [aws-fargate]

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 投票
2 回答
2437 浏览

amazon-web-services - TaskDefinition - 遇到不受支持的属性名称 - 环境

运行声明一些环境变量的 CloudFormation 脚本时,CloudFormation 会引发以下错误:

这与 CloudFormation 模板中的以下资源有关

我不确定上述有什么问题,因为从文档中正确声明了 Environment 块 - https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ecs-taskdefinition-containerdefinitions-environment .html

任何帮助将非常感激。

0 投票
1 回答
79 浏览

devops - 通过 AWS Fargate 中的环境推广代码

我有一个要在 AWS Fargate 中运行的计划作业。到目前为止,我已经设置了一个 CloudWatch 计划,该计划运行一个启动任务的 lambda 函数。我正在为我的每个环境使用任务定义,但我正在努力为我们的 QA 和 PM 找到一种简单的方法来将代码从开发环境提升到 QA、Staging 和 Prod。每个环境都有自己的 CloudWatch 规则和自己的 lambda 函数。

如何为每个环境设置部署,最好不构建允许他们从下拉列表或其他内容中选择版本的 Web 界面工具?我还必须考虑到每个环境都需要自己的环境变量,这些环境变量可能需要随时更改。

0 投票
1 回答
1908 浏览

logging - 将 Python 日志收集到 ECS 中的 DataDog

我很难使用 DataDog 代理从部署在 ECS 中的 python 应用程序收集日志。我在 ECS 中部署了一个 dockerized Flask 应用程序。该应用程序将日志吐出到标准输出。我现在需要在 DataDog 中监控它们。

我添加了一个新的 DataDog 代理容器(与 Fargate 兼容,因为我使用的是 Fargate),它作为与应用程序相同任务的一部分运行。我可以在 app.datadoghq.com/containers 中看到这两个容器的 CPU 和内存指标,这意味着 DataDog 代理正在工作。

我现在需要应用程序日志。我浏览了https://app.datadoghq.com/logs/onboarding/container中的文档,添加了

到应用程序容器和以下 env.vars 到 DataDog 容器:

但这似乎还不够。我是否朝着正确的方向前进?我错过了什么?

0 投票
4 回答
19677 浏览

python-3.x - 无法从 Fargate 容器中访问 S3 存储桶(错误请求并且无法找到凭据)

python 3我创建了一个私有 s3 存储桶和一个 fargate 集群,其中包含一个简单的任务,该任务尝试使用和读取该存储桶boto3。我已经在 2 个不同的 docker 图像上进行了尝试,其中一个我得到了ClientError来自 boto 的说法HeadObject Bad request (400),而另一个我得到了NoCredentialsError: Unable to locate credentials.

图像中唯一真正不同的是,一个说错误请求正在正常运行,另一个是我通过 ssh 手动运行到任务容器。所以我不确定为什么一张图片说“错误请求”而另一张图片说“无法找到凭据”。

我尝试了几种不同的 IAM 策略,包括 ( terraform) 以下策略:

第二次尝试:

我尝试的最后一个是内置策略:

桶定义非常简单:

用于访问 s3 存储桶的代码:

无论我做什么,我都无法从容器任务boto3中访问 AWS 资源。Fargate我可以boto3在一个EC2实例上访问相同的 s3 存储桶,而无需提供任何类型的凭据,并且只使用 IAM 角色/策略。我究竟做错了什么?不能以相同的方式从 Fargate 容器访问 AWS 资源吗?

忘了提到我正在将 IAM 角色分配给任务定义执行策略和任务策略。

更新:事实证明unable to find credentials我遇到的错误是一个红鲱鱼。我无法获得凭据的原因是因为我的直接 ssh 会话没有AWS_CONTAINER_CREDENTIALS_RELATIVE_URI设置环境变量。

AWS Fargate 将注入一个以AWS_CONTAINER_CREDENTIALS_RELATIVE_URI您的名义命名的环境变量,其中包含 boto 应用于获取 API 访问凭证的 URL。所以这个Bad request错误是我实际得到的,需要帮助解决。我检查了容器内的环境变量,并且该AWS_CONTAINER_CREDENTIALS_RELATIVE_URI值由 Fargate 设置。

0 投票
0 回答
205 浏览

amazon-web-services - aws fargate 在任务定义中定义日志导致云形成永远不会完成

我正在尝试使用 cloudformation 创建我的第一个 Fargate 集群和任务定义。如果我在集群定义中省略 awslogs 部分,则堆栈成功完成,但如果我添加它,则任务定义永远不会完成启动。

这是我的游戏集群在json中的任务定义

以及我正在创建的 IAM 角色。

权限看起来不错,如果不是有点开放的话。我错过了什么?可能是 awslogs-stream-prefix 配置吗?

0 投票
3 回答
2231 浏览

amazon-web-services - How to make two containers connectable in AWS ECS Fargate?

I have two containers added to a task definition

  1. Node Container:

    /li>
  2. Mongo container:

    /li>

The node container is not able to connect to Mongo when I run this task. I am using Fargate and network as awsvpc.

  1. How do I fix this?
  2. How do I make it work running them from separate task definitions?
0 投票
3 回答
21540 浏览

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

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

IE。 docker exec -it <containerid> <command>

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

0 投票
3 回答
8786 浏览

amazon-web-services - 如何加快 AWS Fargate 上的部署?

从 EC2 集群实例迁移到 AWS Fargate 后,我意识到部署需要更长的时间。以前他们需要 1-2 分钟,现在一些部署需要 5 分钟。这篇文章声称他们在 Fargate 上的部署甚至需要长达 10 分钟。

有人知道加快速度的方法吗?我找不到有关此主题的任何文档。

0 投票
5 回答
7061 浏览

amazon-web-services - 我不能在 AWS ECS Fargate 中运行超过 5 个任务

在新的 AWS 账户上使用 AWS ECS Fargate 时遇到问题。当我尝试运行超过 5 个任务时,我收到一条错误消息:

服务反馈无法下达任务。原因:您已达到可以同时运行的任务数的限制。

AWS ECS 控制台的屏幕截图"

0 投票
1 回答
2770 浏览

amazon-ecs - How can I do to not let the container restart in aws ecs?

I have built an container and run successfully by aws ecs fargate. The container will download file form s3, process and upload file to s3. But because the ecs service restart policy, the service will restart a container which I don't want.

In Kubernetes, I use restartPolicy: OnFailure, but I have read the doc for ecs, all the task definition and service definition. The closest parameter I find is "dockerLabels", set the set "--restart": 'no', but it didn't work.

How can I do to not let the container restart in ecs?