问题标签 [aws-nlb]

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 回答
32 浏览

amazon-web-services - 我们如何确保 AWS Global Accelerator 对目标实例的粘性?

我创建了一个带有网络负载均衡器的 EKS 集群,该负载均衡器部署在多个可用区中。然后我在 NLB 之上添加了一个全球加速器。据我了解,AWS 将自动部署 NLB 的多个实例,以确保它在所有 AZ 中分布且高度可用。由于我的一个项目规范需要Client -> Global Accelerator (GA) -> NLB instance -> k8s STATEFUL pod之间的连接持久化,我需要找到一种方法来确保一旦Client连接到Global Accelerator,全局加速器将始终将流量定向到同一个 NLB 实例,而 NLB 将流量定向到同一个 k8s 有状态 Pod。NLB -> K8s pod 似乎是通过在 NLB 目标实例上启用粘性来处理的,但我不确定。

关于 GA -> NLB 流量,我尝试将 Global Accelerator 的客户端亲和性设置为 Source IP,但没有帮助。 https://docs.aws.amazon.com/global-accelerator/latest/dg/about-listeners-client-affinity.html

所以问题真的是如何使连接从 CLient 通过 GA 到 NLB 到有状态的 k8s pod 持续存在?

0 投票
1 回答
213 浏览

amazon-web-services - kubernetes 入口控制器`400 错误请求 - 发送到 HTTPS 端口的纯 HTTP 请求`

我有一个 AWS NLB 入口控制器和一个入口规则,用于在 API 和 SPA 之间路由流量。入口控制器在 HTTP 上完美运行,但在 HTTPS 上我得到了400 Bad request - plain HTTP request sent to HTTPS port

如果我理解正确,在 TLS 终止后,请求将通过 Https 端口而不是 HTTP 重定向,但我很难找到:

入口控制器.yaml

入口规则.yaml

前端-svc.yaml

后端-svc.yaml

我确实在这些背后进行了部署,但是由于服务本身可以独立运行并在 http 上协同工作,因此我已将它们排除在此问题之外。

任何意见是极大的赞赏!

0 投票
0 回答
12 浏览

kubernetes - 使用 AWS Global Accelerator 和 NLB 时,有没有办法在客户端和目标 pod 之间启用粘性?

在 AWS EKS 集群上,我部署了一个有状态的应用程序。为了在不同的 pod 和可用区之间对我的应用程序进行负载平衡,我添加了一个使用外部 AWS NLB 的 HAProxy 入口控制器。

我在这个集群中有一个 NLB,它指向 HAProxy 服务。在 NLB 之上,我创建了一个全局加速器,并将 NLB 设置为其目标端点。

我的要求是确保一旦用户连接到 Global Accelerator 的 DNS,他们将始终被定向到同一个端点服务器,即同一个 HAProxy Pod。

连接工作流程如下:客户端用户 -> 全局加速器 -> NLB -> HAProxy pod。

在寻找使这项工作的方法时,这是我所做的:

  • 为了确保 NLB 与其目标(HAProxy pod)之间的粘性,我在 NLB 目标上启用了粘性。
  • 现在,当谈到 Global Accelerator 和 NLB 之间的粘性时,看起来正确的做法是将 Global Accelerator 的 Client Affinity 属性设置为“Source IP”。根据文档,使用此设置,Global Accelerator 通过将具有相同源 IP 地址的所有连接路由到相同端点组来尊重客户端亲和性。

我的期望是启用这些属性后,用户将始终连接到同一个 NLB,然后连接到同一个 HAProxy pod。

经过测试,当我通过 NLB DNS 连接到我的应用程序时,目标实现了,我得到了一个粘性连接。但是,当我通过 Global Accelerator 连接时,我的会话不断崩溃。

关于为什么会这样的任何想法?或者有什么不同的方法来解决这个问题吗?

0 投票
0 回答
16 浏览

kerberos - 负载均衡器 DNS 位于另一个区域时的 Kerberos 身份验证

我有一台加入了 Azure AD 的 win 10 客户端计算机。在访问 NLB (AWS) 后面的网站时,尽管配置了集成 Windows 身份验证并且站点已添加到 Intranet 区域,但我总是会收到身份验证提示。例如:

  1. 如果 abcd.domain.com->CNAME->*.elb.amazonaws.com 的 DNS 条目(我得到 Windows 身份验证提示。输入密码后,NTLM 工作)
  2. 如果 DNS 条目是 abcd.domain.com -> HOST A ->(Web 服务器的 IP 地址)(我没有提示进行身份验证,并且 kerberos 工作正常)。

如果 CNAME 是 AWS LB,Windows 是否不会自动将凭据传递给服务器?

提前致谢。