问题标签 [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.
java - Fargate 启动的容器中的自省
我们使用 EC2 集群在 ECS 中启动的容器使用容器代理的“ECS_CONTAINER_METADATA_FILE”机制来获取其任务 ID。
这似乎不适用于 Fargate 启动的容器。使用“ECS_CONTAINER_METADATA_FILE”在 Fargate 启动的容器中运行时是否有自省机制?
我了解所有任务的信息都可以通过 curl http://localhost:51678/v1/tasks获得
node.js - 您能否保留指向 AWS Fargate 托管容器应用程序的 API,而无需支付费用以保持容器永久运行?
细节
我需要永久公开一个 API。我将使用node.js Express
在Docker
由AWS ECS
.
应用程序 API 公开的端点必须始终可用,尽管冷启动不会成为问题,所以我很乐意根据请求从头开始启动容器。
我的实际问题
为了降低成本,我想知道是否可以通过 an 保持 API 公开AWS ALB
并将请求路由到 Docker 容器,但在容器启动之前等待处理请求?因此,本质上,容器在请求之间处于休眠状态。
额外的上下文
我不能使用API Gateway
andLambda functions
为此,因为有效负载太大(超过 10mb)API Gateway
无法处理,而且我不能使用 S3 的预签名 URL,因为入站请求将是内容类型的 POST 请求,application/json
这意味着它无法由预签名的 S3 URL 处理。
java - 在 AWS Fargate 上运行时如何确定当前可用区
我有一个在 AWS Fargate 上运行的 Java 应用程序。EC2MetadataUtils.getAvailabilityZone() 从 AWS Fargate 中返回 null
是否有另一种方法来确定 Fargate 容器在哪个 AZ 中运行?我也有容器的子网 ID
amazon - 使用 Fargate + ACM + ALB 构建安全的 HTTPs Web 服务器
我正在尝试最简单的部署以在 Fargate 中启动并运行 https Web 服务器。
我已经使用 Amazon Certificate Manager 创建了一个公共证书。
我有一个 Application Load Balancer 在两个端口上与 Fargate 容器通信:80 用于 http,443 用于 https
这就是问题所在:当我在端口 80 (http) 上运行我的网络服务器并通过 ALB 连接时,它工作正常(不安全,但它提供了 html)。
当我在启用 TLS 的端口 443 上运行我的网络服务器时,它不会通过 ALB 连接。
另一点是,当在端口 443 上启用了 TLS 运行我的网络服务器时,我没有证书或证书密钥,因此很困惑如何从 Amazon 获取。
我的另一个问题是:说 ELB 将通过 HTTPS 与客户端通信但 ELB 可以通过 HTTP 与容器通信对我来说有意义吗?这安全吗?
感谢您的帮助,我的网络知识非常生疏。
amazon-web-services - Fargate 中的 vCPU 的真正含义是什么?
我试图在此处和此处获得有关我的问题的答案,但我知道我需要具体了解 vCPU 的 Fargate 实现。所以我的问题是:
- 如果我为我的任务分配 4 个 vCPU,这是否意味着我 在此任务中的容器上运行的单线程应用程序将能够完全使用所有这些 vCPU,因为它们实际上只是我可以使用的处理器内核的一部分时间?
- 比方说,我为我的任务分配了 4 个 vCPU,但在技术层面上,我将 4 个 vCPU 分配给了一个可以自由处理一个线程(甚至更多使用超线程)的物理内核。我的逻辑对于 Fargate 案例是否正确?
ps 这是一个 node.js 应用程序,它运行与多个玩家相互交互的会话,所以我确实想提供一个具有最大容量的单个node.js 进程。
amazon-web-services - 无法在 AWS Fargate 容器内解压缩
我有从 zip 存档中提取内容的 Java 应用程序。将其作为Fargate
任务启动时,会产生以下错误:
在本地运行应用程序并设置不可写目录以将 zip 存档内容提取到时,我可能会遇到类似的 zlib 错误。否则它会起作用。
在 Docker 层中使用各种目录没有帮助(我尝试过/tmp
,WORKDIR
我也尝试User: root
过ContainerDefinition
),在ContainerDefinition
. 根据文档,Fargate 为可写的上层 Docker 层提供 10GB 的空间,为挂载的卷提供 4GB 的空间。为什么我无法提取 zip 存档?
我无法进一步追踪它,因为 Fargate 没有为此提供选项,而且我无法获得更多信息的 Java 异常。
node.js - 配置在 aws fargate 中运行的 node.js 应用程序
我有一个 node.js 应用程序,它在 aws ec2 fargate 的 docker 内运行。它开始消耗很高的cpu,我想知道我是否可以分析它
我找不到通过 ssh 连接的方法,我不确定它是否有助于使用 --prof 标志运行它
amazon-web-services - 运行容器的 AWS Fargate/.NET Core 问题
我正在尝试在 fargate 中运行 docker 容器(ASP.NET Core 2.1),并且不断出现以下错误:
我的依赖项中没有这个库,但是在添加它之后,它仍然会导致问题。
我正在使用以下构建:
调查其他问题,我发现作为流行的解决方案:
但是它不适用于我的问题。
我会非常感谢每一个建议。
r - Shiny 服务器应用程序可以是多线程的以允许应用程序活动和健康检查吗?
我有一个闪亮的应用程序,带有 Shiny Server(开源版本),使用 docker 容器化,部署到 AWS Fargate。该应用程序相当基本,因为它做了三件事:
- 接受用户输入并根据该输入从谷歌分析中检索数据;
- 通过
.Rmd
文件处理这些数据; - 提供
.pdf
输出以供下载。
在本地运行时(使用runApp()
或使用docker run --rm -p 3838:3838 [image]
),应用程序可以正常运行。当部署到 AWS Fargate 时(在确定了一些部署问题之后),我认为该应用程序遇到了与“健康检查”相关的问题。这些问题出现了,我相当肯定,因为上面的第 2 步可能需要几分钟(并生成一个多 Mb 大小的.pdf
报告)。该应用程序变灰,出现503 Service Temporarily Unavailable
错误,几分钟后,重新加载页面后似乎恢复正常。
我可以编辑健康检查,以便在 AWS EC2 认为我的容器“不健康”(基于 Shiny 服务器的无响应)之前留出更多时间,但这绝对不是软件开发的最佳实践(根据我组织中的软件开发人员) .
有没有办法让开源 Shiny Server 上的长时间运行的 Shiny 应用程序处理R
逻辑,同时还允许进行健康检查?我认为这本质上是让 Shiny 服务器“部分唤醒”以监听健康检查,同时R
在后台运行任何东西。
我怀疑这是不可能的,因为R
它本身是单线程的,并且只有Shiny Server PRO 版本允许运行状况检查端点。
amazon-ecs - 无法通过 Amazon ECS、Fargate 中的 datadog 发送“标签”
我已经在 Amazon ECS、Fargate 上配置了 datadog 代理。我可以发送所有预期的指标,但我不能发送“标签”。
我在 ECS 任务定义中设置了环境变量。
我认为大多数设置都没有问题,因为我可以看到我想看到的指标。但是标签,尤其是 env:stg 在 datadog UI 中丢失了,并且由于这个奇怪的错误,一些指标丢失了。
有谁知道这个错误的原因和解决方法?
谢谢。