问题标签 [aws-global-accelerator]
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 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 持续存在?
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 连接时,我的会话不断崩溃。
关于为什么会这样的任何想法?或者有什么不同的方法来解决这个问题吗?
amazon-cloudfront - 使用旧 DNS 服务器的 AWS Zone Apex 挑战
我们在 AWS Amplify 中有一个站点。创建自定义域需要将 URL 指向他们发布的 CNAME。我们希望将 Amplify 网站用于我们的根域“example.com”。RFC 1034 说区域顶点必须是 A 记录,而不是 CNAME。
根据https://aws.amazon.com/blogs/networking-and-content-delivery/solving-dns-zone-apex-challenges-with-third-party-dns-providers-using-aws/上的文章,共有三个选项:Route53、带有 EC2 实例的弹性 IP 和 Global Accelerator。
由于我们使用的是 AWS Amplify,因此我们无法执行 EC2 选项。Route53 选项不适用于我们的旧 DNS 服务器,它只适用于 IP 地址。第三种选择是使用 AWS Global Accelerator 和 Application Load Balancer (ALB),它执行 301 重定向到我们的 Cloudfront 分发,该分发具有我们的 Amplify 实例的自定义 SSL 证书。
当我们将 DNS 指向与 AWS Global Accelerator 关联的 IP 时,到 Cloudfront 的 301 重定向正在工作。Cloudfront 中的某些配置会导致 403 错误。
在编辑行为 > 缓存键和源请求下,如果禁用缓存策略,并且源请求策略设置为无,则 Amplify 站点将加载但使用 Cloudfront 分发 URL。
当我为缓存策略或源请求策略启用任何缓存时,它会中断。它只是返回一个 403 错误,表示无法满足请求。
Amplify 中是否有我丢失的设置导致 403 错误?我应该做一些完全不同的事情吗?
amazon-web-services - 如何在两个 AWS 区域之间获得最低延迟?
我的 EC2 实例位于 AWS-East-1(美国)。它对托管在 AWS Tokyo 中的服务器(加密交换)进行休息调用。目前,在互联网上,数据包往返需要 175 毫秒。
如何在此连接中实现最低延迟?我已阅读有关 AWS Global Accelerator、Direct Link/Connect 等的信息,但我不确定这里的正确解决方案是什么。
请解释网络数据包路由的最佳架构以及我是否可以为此使用现有的 AWS 服务。