问题标签 [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 投票
3 回答
8533 浏览

amazon-web-services - 通过 cloudformation 为 fargate 启动类型任务创建 cloudwatch 事件规则的“目标”

我正在尝试在我的 CloudFormation 模板中创建一个计划任务(CloudWatch 事件规则),该模板将具有以下 EcsParameters:

我的 ECS 集群是在 Fargate 而不是 EC2 上启动的,并且我没有运行服务(用例不需要长时间运行的进程,直接从事件规则调度任务。)

每当我运行此模板(使用LaunchTypeand NetworkConfiguration)时,堆栈创建都会失败,并出现以下错误:

遇到不支持的属性 NetworkConfiguration


作为替代方案,我也尝试从 AWS CLI 启动计划任务,但似乎网络配置和启动类型选项在那里也不可用:

参数验证失败:Targets[0].EcsParameters 中的未知参数:“LaunchType”,必须是以下之一:TaskDefinitionArn、TaskCount


根据AWS 文档本身的这个页面,我应该能够在资源的我的部分中指定LaunchType和。NetworkConfigurationEcsParametersTargetsPropertiesAWS::Events::Rule

有什么我可以尝试的可能有用的吗?

0 投票
4 回答
24941 浏览

aws-lambda - Fargate vs Lambda,什么时候用哪个?

我对整个 Serverless 环境还是很陌生,我正在努力思考何时使用 Fargate 与 Lambda。

我知道 Fargate 是 ECS 的无服务器子集,而 Lambda 也是无服务器的,但由事件驱动。但我希望能够向其他熟悉容器但不太了解 AWS 和无服务器的人解释这两种范式。

目前我们有几个物理服务器负责接收文本文件,解析它们,并用结果填充几个数据库表。根据我的理解,我认为这将是一个更适合 Lambda 的用例,因为解析文本文件的过程是由计划触发的,运行时间不长,并且在不使用时会下降。

但是,如果我们要移植到我们的一台接收 API 调用的服务器上,我们可能希望使用 Fargate,因为我们总是需要至少一个映像实例启动并运行。

就容器而言,笼统地说,如果容器的设计目的是:

然后这是 Lambda 的工作。

但是,如果容器被设计为执行以下操作:

然后这是 Fargate 的工作。

这是一个很好的类比吗?

0 投票
5 回答
46781 浏览

amazon-web-services - 是否可以通过 SSH 连接到 FARGATE 托管容器实例?

我使用以下步骤连接到 EC2 容器实例,https: //docs.aws.amazon.com/AmazonECS/latest/developerguide/instance-connect.html 想知道如何连接到 FARGATE 托管的容器实例。

0 投票
1 回答
12183 浏览

amazon-web-services - AWS Fargate 和多容器 Elastic Beanstalk 之间的区别?

我了解 ECS 具有 EC2 和 Fargate 启动类型,它们在对底层环境配置提供的控制方面有所不同。

在 Fargate 之前,ECS 用于提供对容器环境的详细控制,而 Elastic Beanstalk 用于抽象这些细节并仅运行容器。

AWS ECS 的常见问题部分中,它说:

对于 Beanstalk,您只需指定要部署的容器映像、CPU 和内存要求、端口映射和容器链接。如果您想要对自定义应用程序架构进行更细粒度的控制,您可以直接使用 Amazon ECS。

现在使用 Fargate,提供的功能似乎非常相似。那么 Elastic Beanstalk 上的 Fargate 和 docker 有什么区别呢?

0 投票
1 回答
1767 浏览

amazon-web-services - How to download SSL certificates from a S3 bucket with necessary policies to a Gradle application running on my FARGATE container

Have a springboot application (gradle) running in my ECS FARGATE container on HTTPS protocol. Want to store the .PKCS12 file which contains the certificate and key on an AWS S3 bucket and download it to the application's classpath when it runs on FARGATE. Any pointers or links to github code would be much appreciated. THanks!

0 投票
1 回答
517 浏览

amazon-web-services - AWS Fargate jenkins docker 卷挂载不起作用

我试图在 ECS fargate 中设置一个 jenkins docker 容器。但是每次任务停止时,数据都会丢失。因此,我在容器 - 任务定义中附加了 jenkins-volume 挂载选项。

容器路径 - /var/jenkins_home

源卷 - jenkins-volume

但是在说明服务之后,我收到了错误,

触摸:无法触摸'/var/jenkins_home/copy_reference_file.log':权限被拒绝

无法写入 /var/jenkins_home/copy_reference_file.log。错误的卷权限?

0 投票
2 回答
253 浏览

amazon-web-services - 在 AWS 中运行的应用程序如何了解其环境?

我在不同类型的 AWS 主机上运行不同类型的应用程序,包括:

  1. 在 EC2 实例(Windows 和 Linux)上运行
  2. 在自动扩展的 EC2 实例上运行
  3. 在 ElasticBeanstalk 上运行(ASP.NET 和 ASP.NET Core)
  4. 在 Fargate 上的 Linux Docker 容器中运行
  5. Lambda 函数

我希望我的应用程序能够检测到它们正在运行的环境(开发、暂存、生产),以便它们可以在启动时加载适当的配置,例如从 Parameter Store 层次结构中特定于环境的文件夹。

理想情况下,我可以调用一个简单的 API(类似于GetCurrentEnvironment())。

以上述所有主机类型共有的方式实现这一目标的最佳方法是什么?

我所有的 AWS 资源都标有环境名称。是否有可以从上述所有主机类型调用的 API 来返回当前主机的标签值?

否则我想一个解决方案是在创建主机期间设置一个环境变量“CurrentEnvironment”或类似的。

我想这是一个常见的要求,所以我很想知道其他人是如何做到的。

0 投票
2 回答
5154 浏览

amazon-web-services - 如何将 Fargate 服务添加到入站安全规则?

我有一个在 AWS 中运行的 Fargate 服务。我用它来运行多个任务。一些任务连接到 RDS 数据库以查询数据库。

如何将 Fargate 服务添加到 RDS 数据库安全组的内部规则中?- 有没有办法将弹性 IP 与 Fargate 集群相关联?

0 投票
0 回答
963 浏览

amazon-web-services - AWS Fargate ALB DNS 未解析

我已经构建了以下基础设施以用于 AWS Fargate。

ECS 管理私有子网中的容器,流量通过公有子网通过面向 Internet 的 ALB 路由到它们。

通过 NAT 网关控制对私有子网中容器的 Internet 访问。

我创建了一个 git repo 来演示手头的问题
https://github.com/GreenyMcDuff/aws-fargate-public

警告:运行它会花钱

需要 Terraform v0.11.7 或更高版本

在此处输入图像描述

以下是安全组规则:

alb-sg

ecs-tasks-sg

这是路由表

公共路由表

私有路由表

所以几乎一切似乎都在工作。我要启动的容器是 httpd:2.4来自 docker hub 的图像。

  • 图片下载成功
  • 容器启动并进入RUNNING正常状态。
  • elb 健康检查通过
  • 我在我的公共子网中启动了一个 Windows EC2 实例,对其进行 RDP,并在 Internet Explorer 中浏览了容器 ip,我得到了预期的页面

由于上述几点,我假设这是一个路由或安全组问题。

问题是,当我尝试浏览在容器上运行的站点时,通过点击 Application Load Balancers DNS 名称 ( xxxx.AWS_REGION.elb.amazonaws.com),我收到“无法访问此站点”错误。

任何关于为什么会发生这种情况的解释都会受到极大的欢迎。

请让我知道是否有更多信息会有所帮助,我会尽力提供。

0 投票
1 回答
190 浏览

amazon-ecs - 使用 Fargate 为 ECS 中的服务配置 ALB

我正在构建一个自动管道,它应该从存储库中签出一些代码,构建一个 docker 容器并将其作为 ECS 中的服务启动,完全以编程方式。我在必须为服务配置负载均衡器方面取得了进展,但我遇到了困难:我找不到 API 或任何有关如何以编程方式创建负载均衡器的文档。

我想要一些不应该发生的事情吗?目前我看到的唯一方法是为每个新服务手动配置一个 ALB,但这违背了重点。