问题标签 [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.
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 配置以编写纯文本,有什么想法吗?
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 并且实例保持在服务状态。
amazon-web-services - 重新部署 AWS Ingress 不断对我的 AWS ALB 进行分箱
我们使用 AWS ALB Ingress 控制器来管理我们对 K8S 集群的入口。
每次我们添加新的入口规则时,它似乎都会对我们的 ALB 进行 bin 处理并重新配置它,这反过来又会降低所有内容 - 我们做错了什么吗?
谢谢,
amazon-web-services - 为什么为 AspNetCore Lambda 函数配置的 AWS ALB 在重定向后会给出 502?
我有基于来自aws-lambda-dotnet的 AspNetCoreWebApp 模板的项目设置。
lambda 入口点的设置与模板相同。
我可以很好地看到不安全的页面,但是在尝试转到安全页面时,我502
从负载平衡器收到状态代码响应。
基于aws 故障排除:
目标响应格式错误或包含无效的 HTTP 标头。
lambda 函数重定向与前面的 API 网关一起工作得很好。
aws-alb - 我们可以重命名 AWSALB cookie 吗?
我启用了粘性会话来应对多个实例上的会话不匹配问题。AWS 添加名为 AWSALB 的 cookie 来处理此问题。有没有我们可以重命名cookie的选项?
amazon-web-services - AWS负载均衡器监听器添加后消失
我不是 AWS 专家,但尝试做一些简单的事情,例如创建应用程序负载均衡器、向其中添加目标组并尝试添加侦听器。接下来发生的事情让我感到困惑。在 AWS 控制台 -> EC2 -> 负载均衡器 -> 侦听器 -> 添加侦听器页面上,我选择 Http:80,在默认操作下我添加“转发到”,从下拉列表中选择我的实例,单击“检查”按钮,其中显示了在默认操作下添加的规则。然后我单击屏幕上的第二个保存按钮,刷新/返回,然后就可以了-> 我的听众消失了。以前有人遇到过这个问题吗?我检查了这个问题:AWS 经典负载均衡器侦听器未创建,然后消失。- 解决方案对我不起作用(我已经按下第二次保存,它位于屏幕顶部,而不是 ALB 底部)。任何指针将不胜感激
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 出了点问题。
amazon-web-services - AWS ALB 是否支持反向代理和发布重定向?
目前,infra 已将 NGINX 用作带有 ELB(经典负载平衡)的反向代理。我会知道 AWS ALB 是否可以实现类似的反向代理功能。例如 NGINX 中的以下内容:
看起来 ALB 可以支持 http 重定向但只支持 GET 方法。POST可以吗?
amazon-cloudformation - 在 ECS 中使用应用程序负载均衡器的 504 网关超时
在 ECS 上部署 Laravel Web 应用程序,为了启用自动缩放,我正在使用 Application Load Balancer。该应用程序工作(和扩展)完美,直到我介绍了一个重量级的页面,大约504 Gateway Timeout
一分钟后我开始出现错误。
我很确定单个 Web 服务器具有更高的超时时间(在本地测试应用程序时不会发生这种情况),因此问题一定与 AWS 环境(ECS / ALB)相关。
您可以在下面找到 ALB 设置的片段
amazon-web-services - 为多个应用程序使用网络负载平衡器
目前我有一个 Amazon ALB 设置为根据路径转发流量:
我设置了规则,以便 www.example.com 指向 FrontendTargetGroup,而 api.example.com 指向 BackendTargetGroup。
但是,由于其他原因,我现在需要使用网络负载平衡器。
我怎样才能用这个实现相同的基于路径的路由方法?