问题标签 [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.
amazon-web-services - 使用负载均衡器进行 AWS 自动缩放
我通过创建具有 1 个实例的集群并在该实例上运行容器任务,在 1 个 EC2 实例上部署了一个 http 侦听器容器化应用程序。
我正在使用 Auto Scaling EC2 实例功能,最小实例为 1,最大实例为 4。
我面临的问题是。
一旦由于更多的负载/ CPU 利用率而创建了新的 EC2 实例 - 部署在第一个实例上的容器不会在这些新实例上复制。
我想在这些 EC2 实例添加(或终止)时添加负载均衡器。由于实例需要已经注册到目标组 - 我将无法添加新实例,因为它们尚未创建。
非常感谢您对此的任何帮助。
amazon-ec2 - AWS ECS:Service Auto Scaling 会自动创建 EC2 实例吗?
我对 Service AutoScaling 如何自动工作感到困惑。它会自动创建 EC2 实例吗?我创建它并将其添加到集群的服务中,但它没有创建 EC2 来放置我所需数量的任务。我的设置有什么问题吗?我检查 [Events] 并看到“服务 s2 无法放置任务,因为没有容器实例满足其所有要求。”,但如果没有实例满足,它不应该创建 EC2 吗?请给我一些建议,提前谢谢。
amazon-web-services - 如何基于多个警报扩展 aws ecs 服务
我们有一个在 aws ecs 中运行的服务,我们希望根据 2 个指标进行扩展和扩展。
在以下情况下扩展: cpu > 80%或connection_count > 9500
在以下情况下缩小: cpu < 50%和connection_count < 5000
我们可以访问云手表中的 cpu 和连接计数指标和警报。但是,我们无法弄清楚如何基于它们来设置这样的动态扩展策略。
使用标准 aws 控制台界面创建自动缩放规则,我看不到任何多个选项。任何指向此教程或 aws 文档的链接将不胜感激。
apache - (EAI 2)名称或服务未知:mod_unique_id:无法找到“ae537564806a”的 IPv4 地址
我在 ECS 的单任务定义中有两个容器定义。一个是我的 Apache Web 服务器配置为负载均衡器,另一个是我在它后面运行的 spring-boot 微服务。
该配置使用 ECS EC2 模型。现在我正在尝试将其迁移到 ECS fargate。这里的问题是 Apache 没有启动(实际上任务确实启动了一段时间并以退出代码 1 停止。对于微服务,退出代码是 137。
日志如下:
我发现了一些类似的问题,指向将您的 IP 地址添加到 /etc/hosts 文件。在 Fargate 的情况下,资源分配是动态的,那么有什么办法可以解决这个问题。
docker - 在 Docker 中设置多个服务
我是 Docker 新手。我在应用程序中运行了这些服务(pm2(后端)、apache(UI 和数据批处理(php)、GO 服务和数据库(postgresql))。
创建 Docker 映像的最佳方法是什么?我的计划是为每个服务创建一个 Docker 映像(作为更多命中的数据批次),并在单个容器/更多容器中链接在一起,并将其加载到单个实例中。这种方法对我有用吗?
amazon-web-services - 如何使用 AWS Fargate 在 Amazon ECS 上启动任务(容器)时为其提供参数
这是一个示例,我可以在其中运行(本地)具有不同echo
命令和AUTHOR
环境变量参数的docker 映像的多个实例。
在这里,我可以以编程方式更改容器的值$NAME
并运行容器。
当我尝试使用 AWS Fargate启动类型在 Amazon ECS 上运行这些容器时,我想要同样的灵活性。唉,我无法弄清楚如何以编程方式为$NAME
变量提供不同的值。
amazon-s3 - 拒绝对 S3 的 ECS 任务访问
我为我的任务设置了一个具有以下权限的 IAM 角色,但我在尝试访问存储桶时 被拒绝访问。
容器实例具有标准 AmazonEC2ContainerServiceforEC2Role
策略的角色。
我似乎能够从存储桶/像存储桶/00001 下读取和写入文件夹,但我无法从存储桶/模板读取。
我反复重新部署了权限和任务(使用 terraform),但没有任何改变。我已经向应用程序添加了日志记录,以确保它使用正确的存储桶和路径/键。
我难住了。有人知道我在这里可能错过了什么吗?
谢谢
PS:我刚刚想到,我无法访问的存储桶中的文件我使用脚本复制到那里。这是使用任务使用的凭据以外的凭据完成的。
aws s3 cp ..\Api\somefiles\000000000001\ s3://bucket/000000000001 --recursive --profile p
aws s3 cp ..\Api\somefiles\Templates\000000000001\ s3://bucket/Templates/000000000001 --recursive --profile p
我在 cp 命令上使用了 -acl bucket-owner-full-control 但我删除了它以查看是否有帮助 - 它没有。也许我需要别的东西?
devops - 通过 ECS 部署 Slackbot
我有一个使用 RTM api 的 slackbot,它目前是通过 AWS ECS 部署的。每当我想更新机器人时,都会有一个新任务出现,并且有一个 10-20 秒的窗口,旧机器人仍在关闭,而新机器人启动,所以现在会有两个机器人创建重复的操作。
有没有办法在这种情况下进行“蓝绿”部署。ALB - ECS“蓝绿”在我的情况下不起作用,因为机器人正在读取来自 RTM 的输入而不是接收流量。
任何帮助/建议将不胜感激。谢谢!
.net - 使用 .NET 按计划运行 ECS 任务
我目前正在使用 IAmazonECS.RunTaskAsync API 立即在 ECS 上运行任务。现在,我想将它推迟到将来的某个时间点。根据文档,这应该是可能的,但我还没有找到办法。
amazon-web-services - 内存和 cpu 的 AWS ECS RunTask 覆盖不起作用
使用RunTask命令时,我试图覆盖容器上的 CPU 和内存限制。我正在使用 Python SDK,boto3。
容器的默认 CPU 限制为 0(无限制),软内存限制为 1024。这一切都很好。
当我尝试将containerOverrides
列表传递给 RunTask 命令时,我没有收到错误,这些任务大部分都按预期运行。我还覆盖了容器运行的命令,并且有效 - 我可以看到任务正在运行,该命令已被覆盖,并且日志反映了这一点。
但是,CPU 和内存限制并未被覆盖。我通过查看 AWS 控制台并看到 cpu 和内存列为 0 和 1024 来检查这一点,但显示该命令已被覆盖。我还可以通过检查容器实例来确认内存不是所需的 2048,而必须是 1024 来做一些数学运算。
这是一些简化的代码:
tasks
以及响应的部分:
我在这里想念什么?