问题标签 [amazon-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 - AWS ALB 粘性 cookie 问题
最近我们从 aws elb 切换到 aws alb;但我们在 aws alb 中面临问题;cookie 粘性根本不起作用;为每个请求(页面上的事件 ajax 请求)生成一个新的 cookie;
如果我们再次切换回 aws elb,cookie 粘性工作得非常好。
amazon-web-services - 在一组实例上负载平衡多个容器化应用程序
假设场景是您有 3 个使用不同端口的容器化 (docker) Web 应用程序——1234、5678、7890。
是否可以有一个应用程序负载均衡器将来自 app1.example.com、app2.example.com 和 app3.example.com 的 HTTP/HTTPS 流量转发到 EC2 目标组上的特定端口?
示例:来自 app1.example.com 的所有流量都应流向 EC2 目标组的端口 1234。
此外,由于 ELB 将有多个子域,因此 SSL 证书设置是什么?
amazon-web-services - 多个 ALB 上的单个 AWS WAF
我的应用程序架构允许的流量在 AWS 中如下所示。
CompanyInternalSubnets(IS)=>带有WAF的ALB=>EC2
ALB 具有仅允许来自 IS 的流量的安全组。ALB 有 WAF,它有规则只允许来自 IS 的流量。EC2 有一个安全组,它只允许来自 ALB 的 SG 的流量。
我想在 AWS 中创建同一应用程序的多个副本。我将创建单独的 EC2 和 ALB。但是我可以使用相同的 WAF 并将其附加到第二个 ALB 还是我需要使用单独的 WAF 毛皮每个副本?最佳做法是什么?
谢谢
amazon-web-services - 以下云 (AWS) 架构的缺点
我需要一个可扩展且具有成本效益的网页设计服务架构。(多个客户)。我正在遵循下面的架构。我想知道它的缺点。
背景:基于 Nuxt.js 的服务器渲染应用程序,前面是 nginx 反向代理。
应用程序容器和代理容器部署到 AWS ECS 实例上。代理容器通过从动态容器端口映射到静态 ELB 端口的侦听器注册到 ALB(应用程序负载均衡器)。
所以,假设我们有两个客户: www.client-1.com
和www-client-2.com
当向 发出请求时www.client-1.com
,请求被 301 重定向(带有屏蔽)到 ALB 的 PORT 80。当请求命中ALB:80
时,它通过配置的 映射到instance_ip:3322
(其中 3322 是动态容器端口)listener-for-client-1
。并将响应发送回客户端。
当向 发出请求时www.client-2.com
,请求被 301 重定向(带屏蔽)到 ALB 的 PORT 81。当请求命中ALB:81
时,它通过配置的 映射到instance_ip:3855
(其中 3855 是动态容器端口)listener-for-client-2
。
如您所见,此模型允许我在多个客户端之间共享一个 elb。这个模型已经过测试并为我工作。
- 您认为域转发 301 是一个糟糕的主意吗?您能否推荐一种负担得起的替代方案,而不需要每个客户的 ELB。
- 您还看到哪些其他缺点?
谢谢!
amazon-web-services - AWS 目标组无法检测到 ECS 的临时端口
我正在尝试使用 terraform 使用带有 docker 容器的 ECS 创建基于路径的目标组。我们已经将容器定义的主机端口设置为0,这意味着主机端口是动态映射的。现在发生的情况是 TG 无法检测到动态端口并将请求路由到流量端口。有人知道如何解决这个问题,或者我是否遗漏了什么。
更新:抱歉,之前没有提到,同样的实例被 ALB 检测为健康的。但是由于 TG 无法检测到其实例是健康的,因此流量被路由到 ALB 检测到的随机实例。
amazon-web-services - AWS ALB 灾难性故障
一、背景:
昨天,我们在美国西部 2 的基于 AWS 的业务,由两个自动扩展组(以及更靠后的 RDS 等各种其他组件)组成,在 ALB 后面离线了六个小时。只有通过构建全新的 ALB(迁移规则和目标组)才能恢复服务。
当地时间凌晨 4 点 15 分 (GMT+10),ALB 停止接收入站流量,并且不会响应 Web 流量。我们将它用于端口 80 和端口 443(带有 SSL 证书)终止。同时,所有目标组实例也被标记为“不健康”(尽管它们肯定是可操作的)并且没有流量转发给它们。DNS 正确解析到 ALB。它只是停止响应。网络路由器/交换机关闭或防火墙不存在的等效症状。
我们不在 ALB 后面的其他 EC2 服务器继续运行。
最初的想法是:
a) AWS 故意隔离?账单没有付款,在滥用报告中犯了一些罪行?不太可能,AWS 没有通知我们任何违规行为或采取行动的理由。
b) 我们在网络配置方面的错误?几天内没有对 NACL 或安全组进行任何更改。此外,当它发生时我们都睡着了,没有人在摆弄设置。当我们构建替代 ALB 时,我们使用相同的 NACL 和安全组没有问题。
c) 维护活动出错了?这似乎很有可能。但 AWS 似乎没有发现故障。我们没有选择它,因为我们认为 ALB 发生完全、莫名其妙且未被检测到的故障是“不太可能的”。我们需要自己进行一些外部健康检查。我们有一些基于 Nagios 的,因此可以启用警报。但是,如果 ALB 不稳定,这将无济于事——如果这种情况再次发生,继续构建新的 ALB 是不切实际的。
最大的担忧是这种情况突然发生并且出乎意料,而 AWS 没有检测到这一点。通常,我们从不担心 AWS 网络基础设施“它只是工作”。到现在。ALB 没有用户可维护的选项(例如重新启动/刷新)。
现在我的实际问题:
有没有其他人见过这样的东西?如果是这样,可以做些什么来更快地恢复服务或从一开始就阻止它?如果这发生在你身上,你做了什么?
amazon-web-services - ALB 上的 504 网关超时
我创建了一个安装了 apache 的 EC2 实例,并且只允许我的系统使用 HTTP/SSH 流量。我能够使用 EC2 的公共 IP 访问网页。然后我为 ALB 配置了相同的 SG,向 ALB 注册了相同的 EC2 实例。尝试使用 ALB 的 DNS 名称访问网页,得到错误 -504 网关超时。
增加超时间隔以查看这是否解决了问题,但不起作用。然后我重新学习了课程,并认为让 SG 中的每个人都可以使用 HTTP 流量(因为它在讲座中被允许),看看它是否有效,是的,它有效。我再次将 SG 更改为仅允许我的系统使用流量,但它再次失败。
kubernetes - 滚动更新部署后 AWS ALB 目标不正常
我有一个 EKS 集群,其中aws-alb-ingress-controller控制指向 EKS 集群的 AWS ALB 的设置。
在对其中一个部署进行滚动更新后,应用程序失败,导致Pod
永远无法启动(Pod 卡在 status 中CrashLoopBackOff
)。但是,以前的版本Pod
仍在运行。但似乎服务的状态仍然不健康:
这意味着现在所有流量都被重定向到默认后端,即不同的服务。在这种情况下,在 Kubernetes 中,部署的相关服务类型为NodePort
:
是什么导致端点变得不健康?我希望它只是将流量重定向到Pod
仍在运行的旧版本。有什么办法可以确保端点保持健康?
amazon-web-services - 当目标群体不健康时得到 502
每当目标组不健康时,对于已在 Application Load Balancer 下转移或重新路由到该目标组的所有应用程序接口,我都会收到 502?如果一个目标组下的 ec2s 或实例不健康,是否有任何解决方案可以将其定向到另一个目标组?
amazon-web-services - AWS Application Load Balancer - 转义路径模式字符
我在 EKS 中部署了一个 AWS ALB 入口控制器,k8s 创建了一个 AWS ALB 并创建了一些规则来转发流量:
正如文件所说:
https://docs.aws.amazon.com//elasticloadbalancing/latest/application/load-balancer-listeners.html
路径条件
您可以使用路径条件来定义根据请求中的 URL 路由请求的规则(也称为基于路径的路由)。路径模式仅应用于 URL 的路径,而不应用于其查询参数。路径模式区分大小写,最长可达 128 个字符,并且可以包含以下任何字符。
A–Z、a–z、0–9
_ - 。$ / ~ " ' @ : +
& (使用 &)
*。(匹配 0 个或多个字符)
? (精确匹配 1 个字符)
我有两个规则:
我的网络应用程序中的URL是:
预期:将请求 3 转发到 YYY 的规则
我试过这个:
不走运,在文档中什么也没说,那么我怎样才能逃避连字符以将请求 3 转发给 YYY?
PD:我有大约 50 个带有连字符的 uri,我不想重写它们。