问题标签 [aws-alb]

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 投票
0 回答
574 浏览

amazon-web-services - 使用 Athena 分析 AWS ALB (ELBv2) 访问日志

我正在使用 AWS 的 Application Load Balancer 并将访问日志写入 S3。

想要访问/查询此访问日志,我偶然发现了https://aws.amazon.com/premiumsupport/knowledge-center/analyze-logs-athena/和这篇 SO 帖子在一个地方查看 AWS ALB 访问日志

一切看起来都非常简单 - Athena,创建用于摄取日志文件并运行查询的表。

但是我没有看到任何记录,我怀疑原因是 Athena 需要文本文件,而 ALB 生成了所有扩展名为 .gz 的日志文件,因此显然是 gzip 压缩的。我没有在 ALB 级别找到“写入 gzipped 日志”的配置。

如果仍然可以通过 Athena 进行查询,或者我是否可以修改 ALB 配置以编写纯文本,有什么想法吗?

0 投票
1 回答
999 浏览

amazon-web-services - 健康检查失败 - Terraform - ECS 集群 - 动态端口映射健康检查在 2 个端口中的 1 个上失败?

我有一个使用 Terraform 的环境设置。我们的 SecOps 团队之一需要安装 SonarQube CE 以进行自动扫描、嗅探、漏洞检查。所以我让它在 AWS 中运行,通过我们的 VPN,DNS 解析为一个面向内部的 ALB,该 ALB 将流量指向构成 ECS 集群的目标实例组。还有一个启动配置和自动缩放组。目前每台主机只运行一个容器,希望在某个时候将其设置为 2-4。

我遇到的问题是实例正在容器端口:9000 和动态临时端口 32768 上注册到目标组。对动态端口的运行状况检查工作正常,但是对端口 9000 的运行状况检查失败。这导致实例在初始、不健康和重复终止之间循环。除了这个烦人的问题,应用程序运行良好。RDS 连接,我们可以使用 SonarQube 就好了。

我已经尝试在 Terraform 中删除对容器端口的引用,我还要声明这是一个非常安全的环境。来自任何 VPC 的所有出口流量都通过 McAffee Cloud Proxy 应用程序过滤掉。当我第一次在沙盒帐户中站起来时,出口到 0.0.0.0/0 一切正常。我现在已经在这上面花了几个小时,到了挠头的地步。

希望其他人来过这里并分享他们的见解。毕竟明天是新的一天。帮助!

预期的运行状况检查仅在动态端口上进行。我可以从端口 9000 上的目标组中删除实例。对于两个端口,每个实例在已注册的目标部分中显示两次。我删除了端口 9000 并且实例保持在服务状态。

0 投票
0 回答
56 浏览

amazon-web-services - 重新部署 AWS Ingress 不断对我的 AWS ALB 进行分箱

我们使用 AWS ALB Ingress 控制器来管理我们对 K8S 集群的入口。

每次我们添加新的入口规则时,它似乎都会对我们的 ALB 进行 bin 处理并重新配置它,这反过来又会降低所有内容 - 我们做错了什么吗?

谢谢,

0 投票
1 回答
295 浏览

amazon-web-services - 为什么为 AspNetCore Lambda 函数配置的 AWS ALB 在重定向后会给出 502?

我有基于来自aws-lambda-dotnet的 AspNetCoreWebApp 模板的项目设置。

lambda 入口点的设置与模板相同。

我可以很好地看到不安全的页面,但是在尝试转到安全页面时,我502从负载平衡器收到状态代码响应。

基于aws 故障排除

目标响应格式错误或包含无效的 HTTP 标头。

lambda 函数重定向与前面的 API 网关一起工作得很好。

0 投票
0 回答
206 浏览

aws-alb - 我们可以重命名 AWSALB cookie 吗?

我启用了粘性会话来应对多个实例上的会话不匹配问题。AWS 添加名为 AWSALB 的 cookie 来处理此问题。有没有我们可以重命名cookie的选项?

0 投票
1 回答
515 浏览

amazon-web-services - AWS负载均衡器监听器添加后消失

我不是 AWS 专家,但尝试做一些简单的事情,例如创建应用程序负载均衡器、向其中添加目标组并尝试添加侦听器。接下来发生的事情让我感到困惑。在 AWS 控制台 -> EC2 -> 负载均衡器 -> 侦听器 -> 添加侦听器页面上,我选择 Http:80,在默认操作下我添加“转发到”,从下拉列表中选择我的实例,单击“检查”按钮,其中显示了在默认操作下添加的规则。然后我单击屏幕上的第二个保存按钮,刷新/返回,然后就可以了-> 我的听众消失了。以前有人遇到过这个问题吗?我检查了这个问题:AWS 经典负载均衡器侦听器未创建,然后消失。- 解决方案对我不起作用(我已经按下第二次保存,它位于屏幕顶部,而不是 ALB 底部)。任何指针将不胜感激

0 投票
0 回答
1517 浏览

amazon-web-services - AWS Application Load Balancer 无法处理内容编码 gzip 和内容类型 application/json 的请求正文

我正在尝试将压缩后的 json 作为 POST 请求正文发送到调用 AWS Lambda 的 AWS Application Load Balancer。

当我将内容类型请求标头设置为 application/json 时,我收到502 Bad Gateway错误作为响应并且 AWS Lambda 没有被调用。

我正在使用以下 curl 命令。

curl -v -s --data-binary @samples/small-batch.json.gz -H "Content-Encoding: gzip" -H "Content-Type: application/json" -X POST https://sub.domain.com/batch

我是否发送了无效的请求标头?

我的 AWS Lambda 代码:

更新

如果我使用空内容类型发出请求,则 Lambda 会被成功调用。

如果我使用内容类型发出请求,application/gzip则 Lambda 会被成功调用。

仅当我使用 Content Encoding asgzip和 Content Type as请求时,才会发生 502 错误application/json。但据我了解,这些是有效的标题。

更新 2

从我在https://docs.aws.amazon.com/elasticloadbalancing/latest/application/lambda-functions.html找到的文档中

如果内容类型是以下类型之一,则负载均衡器将正文按原样发送到 Lambda 函数并将 isBase64Encoded 设置为 false:text/*、application/json、application/javascript 和 application/xml。对于所有其他类型,负载均衡器 Base64 对主体进行编码并将 isBase64Encoded 设置为 true。

我认为正因为如此, headerContent-Encoding: gzip不能与 header 耦合Content-Type: application/json。我认为调用 Lambda 时 ALB 出了点问题。

0 投票
0 回答
852 浏览

amazon-web-services - AWS ALB 是否支持反向代理和发布重定向?

目前,infra 已将 NGINX 用作带有 ELB(经典负载平衡)的反向代理。我会知道 AWS ALB 是否可以实现类似的反向代理功能。例如 NGINX 中的以下内容:

看起来 ALB 可以支持 http 重定向但只支持 GET 方法。POST可以吗?

0 投票
1 回答
1823 浏览

amazon-cloudformation - 在 ECS 中使用应用程序负载均衡器的 504 网关超时

在 ECS 上部署 Laravel Web 应用程序,为了启用自动缩放,我正在使用 Application Load Balancer。该应用程序工作(和扩展)完美,直到我介绍了一个重量级的页面,大约504 Gateway Timeout一分钟后我开始出现错误。

我很确定单个 Web 服务器具有更高的超时时间(在本地测试应用程序时不会发生这种情况),因此问题一定与 AWS 环境(ECS / ALB)相关。

您可以在下面找到 ALB 设置的片段

0 投票
1 回答
171 浏览

amazon-web-services - 为多个应用程序使用网络负载平衡器

目前我有一个 Amazon ALB 设置为根据路径转发流量:

我设置了规则,以便 www.example.com 指向 FrontendTargetGroup,而 api.example.com 指向 BackendTargetGroup。

但是,由于其他原因,我现在需要使用网络负载平衡器。

我怎样才能用这个实现相同的基于路径的路由方法?