问题标签 [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 回答
409 浏览

amazon-web-services - 在 AWS cloudformation 上使用端口映射 UDP 端口创建任务定义

在 AWS cloudformation 上,我必须为 ECS 集群创建一个任务定义。如何在端口映射上指定 UDP 和 TCP 端口?我试过这样,但没有工作

0 投票
1 回答
145 浏览

amazon-web-services - 在集群中的特定 Autoscaling 组上启动 ECS 服务

我有一个带有两个 ASG 的 ECS 集群。ASG 使用不同的 AMI。另外,我有两个 ECS 服务。

每个服务都需要在不同的 ASG 上启动(一个原因是服务需要不同的 AMI)。

换句话说,我想在 ASG 1 上运行服务 1,在 ASG 2 上运行服务 2,两个 ASG 都在同一个集群中。

给定一个集群,我找不到将服务指向特定 ASG 的方法。我设法解决这个问题的一个技巧是创建两个 ECS 集群,每个集群都有一个 ASG。

AWS ECS 服务文档: https ://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ecs-service.html

0 投票
1 回答
514 浏览

jenkins-pipeline - Docker push to amazon ECR succeeds but doesn't show up in web UI

I have a jenkinsfile with the following push to docker

It pushes properly, with a few layers "already pushed", and finishes with the following log output:

But when I go to amazon ecr, there has not been anything pushed. I am clueless as to what could be the problem. Any help would be much appreciated. How can I go about debugging this issue?

0 投票
1 回答
35 浏览

aws-ecs - 如何从 Amazon ECS 列出我的容器/存储库

我认为这一定是一项简单的任务 - 在命令行上显示我来自 ECS 的存储库/容器,但我找不到任何东西:https ://docs.aws.amazon.com/cli/latest/reference/ecs/index.html #cli-aws-ecs

有任何想法吗?

0 投票
1 回答
3163 浏览

amazon-web-services - 在 EFS 或 EBS 上具有持久数据的 ECS 和 CloudFormation

我正在寻找一些 AWS 专家来帮助我解决这个问题。我花了将近一周的时间尝试将我的后端 docker 映像部署到 AWS,但没有 100% 的预期行为。

首先,有人建议我试用 AWS 最近提供的新 Fargate 服务。我设法部署了我需要的所有东西,但很快发现我需要任何类型的数据持久性,这在我所读到的内容中目前 Fargate 不可用。

我发现这些模板非常有用,因为 AWS 非常庞大且势不可挡,因此如果没有这些模板,我什么也不会做,目前我尝试使用 EC2 实例进行部署。https://github.com/awslabs/aws-cloudformation-templates/tree/master/aws/services/ECS/EC2LaunchType

我对这种部署有一个疑问:
1:为什么这种部署会为集群创建 2 个 EBS 实例?一个 8GB 带快照,第二个 22GB 大小不带快照。

2:是否可以减少这些 EBS 卷的大小?如果有怎么办?

3:是否有可能只有其中一个 EBS ?

4:是否可以将 docker 后端映像中的卷挂载到那些 EBS 卷以保存数据?如果有怎么办?我需要为我的后端安装两个卷, /root/.local/share/Bisq /root/.local/share/bisq-api或者~/.local/share/Bisq ~/.local/share/bisq-api我不太确定这如何与 AWS 一起使用。与本地环境中的步骤相比,路径是什么。

5:数据持久化是用EBS还是EFS更好?EFS 的问题是我找不到任何相关文档如何将 EFS 连接到这种 ECS 部署。一切都必须使用 CloudFormation 模板

总体而言,符合 100% 期望行为的要求是:

1:CloudFormation 模板/模板尽可能少地部署必要的服务,以便不构建庞大的基础设施来保留成本和只需单击按钮并获取到后端服务的外部链接的能力。(不能有任何手动配置,一切都必须自动化)

2:能够停止/启动后端容器的 EC2 实例(EC2 将每天运行几分钟到几小时/每月几天。(取决于每个用户场景他使用后端的频率)

3:能够在用户停止实例然后在将来的时间点启动它时保留数据。

我会感谢任何帮助/建议,因为我开始对连接到 AWS 服务的所有内容失去理智。这对于理解 AWS 的任何用例来说都是一个非常大的问题,因此我将不胜感激

谢谢!

0 投票
3 回答
878 浏览

amazon-web-services - ECS 停止实例

我有一个 ECS 集群,为我的后端实例运行一项任务。我希望能够随时停止/启动 EC2 实例。可能吗??我试图直接停止实例,但它在停止后几秒钟后终止,并且在自动创建新实例之后。我尝试更改 Auto Scale Group 以匹配所需的=min=0 容量,但是当我这样做时,实例会自动终止。我只想在不需要使用 Ec2 实例时关闭它,但同时我希望数据在打开和关闭之间保持不变。我现在为此奋斗了几天,但无法实现我的目标。

还如何将 EBS 卷与VOLUME /root/.local/share/XYZ来自 d​​ocker 文件映像的数据链接起来以保留 XYZ 文件夹中的数据

0 投票
3 回答
2062 浏览

amazon-web-services - AWS ECS 是否可以在内存利用率限制达到时发出警报?

我已阅读ECS 监控文档,但没有找到如何通过 CloudWatch Events 或 Metrics 帮助对ECS 任务内存限制命中发出警报。我的情况是,当 ECS 容器打破默认任务硬限制 512 Mb 并重新启动时。CloudWatch 事件触发ECS 任务状态更改,例如从 RUNNING 到 STOPPED,但在事件详细信息中,"stoppedReason"您可能只会发现“Task failed ELB health checks in ...”,尽管我绝对知道实际原因是内存限制中断和容器谋杀码头工人方面。这是事件规则模式:

MemoryUtilization维度的CloudWatch指标ServiceName也没有多大帮助,因为触发警报的最短时间段(范围)是 1 分钟,但容器终止-重启周期运行得更快。赶上尖峰的时间还不够。我想这与ClusterName维度相关(换句话说,对于整个集群)。

我想知道如何获得有关任务(容器、容器实例)硬内存限制中断的通知?

0 投票
0 回答
156 浏览

amazon-web-services - Auto Scaling 组重新附加卷

我有一个运行一个 docker 容器的 ECS 集群,我希望每天只运行几个小时。当不需要使用实例时,我希望将其停止,但我发现我无法在 ASG 中停止实例,因为它会自动终止。因此,当我将所需的 ASG 计数设置为 0 时,我的实例将被终止,并且附加到该实例的所有卷也被擦除,因此我丢失了数据。

我已将云形成模板的 BlockDeviceMappings 设置为保留这些卷

BlockDeviceMappings: - DeviceName: '/dev/xvda' Ebs: DeleteOnTermination: false - DeviceName: '/dev/xvdcz' Ebs: DeleteOnTermination: false

当实例终止时,我想重新附加那些现有的 EBS,而是创建了两个新的单独卷。我怎样才能使它重新附加到现有的 EBS 卷,而不是为每个新的 ec2 实例创建新的卷。

0 投票
1 回答
464 浏览

amazon-web-services - AWS - 使用 HTTPS 到 ECS 容器的应用程序负载均衡器未按预期工作

我已经设置了一个运行单个容器的 ECS 集群。容器配置将主机端口设置为 0 以使用动态端口映射。我已经检查过,所有与网络相关的设置都是正确的。

如果我直接使用分配给它的动态端口(例如 54.555.555.54:33424)点击 EC2 实例的 IP,我会得到我期望的登录屏幕。

我已将 Application Load Balancer 配置为使用 HTTPS 和 443 上的单个侦听器端口(目标组指向容器端的端口 80)。ELB 具有与我的域一起使用的证书,这是我从 ACM 获得的。

当我点击 ELB 的默认 URL 时,我无法访问容器。我对 URL 进行了 curl 处理,发现这是一个证书问题,这是有道理的,因为默认 URL 不是与 ACM 证书关联的 URL。但是,当我点击使用 ARM 证书设置的自定义 URL 时,连接被拒绝。

我在自定义 URL 上做了一个 curl,实际上我在终端中得到了一个结果。它显示重定向消息。如果我要卷曲 IP:Port,这与我得到的消息相同。

我已经检查过,我的容器在 ECS 端和 ELB 端都是健康的,所以它通过了健康检查。

有人知道这里到底发生了什么吗?我必须启用任何特定的任务/容器设置才能获得动态端口映射或 HTTPS 工作?

任何帮助都会很棒,我已经做了几个小时了。

0 投票
5 回答
2090 浏览

amazon-web-services - 为 ECR 中的所有存储库设置一个生命周期策略

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

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

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