问题标签 [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 回答
242 浏览

load-balancing - 网络负载平衡 Windows Server 2016 错误

我想使用 Virtualbox 创建 NLB 集群,但是当我尝试使用虚拟机的 IP 连接集群时出现此错误。

NLB 管理器使用此接口连接到主机。由于此接口当前已启用 DHCP,因此不能用于配置集群。请选择其他接口,或使用其他接口的 IP 地址连接到该主机。

有任何想法吗?

0 投票
0 回答
509 浏览

amazon-web-services - 带有 aws nlb healthcheck 的 grcp fargate 服务

我正在尝试为 grpc 设置一个 Fargate 服务,这需要我使用 NLB,但是,我无法弄清楚如何/如何设置 healthcheck 值以启用我的测试服务。

我目前在 ecs 服务上打开了 2 个端口,9000 具有有效的健康端点 /v1/health,50051 是没有健康端点的 grpc 服务。

我想知道如何配置运行状况以命中 9000 端口 + 路径,或者我还能做些什么作为替代方案?

我已经附上了我正在使用的 cloudformation 脚本,任何帮助都将不胜感激,目标组是主要的混淆点。

0 投票
0 回答
221 浏览

amazon-web-services - 将私有子网中托管的 ECS 实例暴露给外部世界(公共 ip)

我在 2 个 docker 容器中托管了两个 .net 核心 Web API 例如:容器 C1 上的 API1 和 C2 上的 API2 都侦听端口 80。我在私有子网中创建了一个 ECS 集群,并且我将容器 C1 作为服务托管在集群内部。我在与集群挂钩的同一私有子网内创建了一个 NLB。为了将 API 暴露给外界,我创建了一个 API 网关并使用 VPC 链接与 NLB 连接。

我能够从 API 网关很好地访问托管在 C1 中的 API。现在我需要将 C2 托管在同一个 ECS 集群中。这 2 个容器实例如何共存。如何通过创建两个 API 网关在这两个应用程序之间进行路由

我想弄清楚

  1. NLB 能够将流量路由到多个容器(API1 和 API2)吗?还是会提供动态主机端口映射?
  2. 我需要切换到 ALB 来实现这一点吗?
0 投票
1 回答
1584 浏览

amazon-ecs - 在网络负载均衡器 + 目标组后面运行 SSH 的 AWS ECS 服务使用 CodeDeploy 部署缓慢

我有一个服务于 SSH 进程的 ECS 服务。我正在通过 CodeDeploy 为该服务部署更新。我注意到,与使用 CodePipeline 同时部署相同图像的其他服务相比,该服务的部署速度要慢得多。此服务的不同之处在于它位于 NLB 之后(其他服务不是 LB 或位于 ALB 之后)。

该服务设置为 1 个容器,部署 200%/100%,因此服务会启动 1 个新容器,确保它是健康的,然后删除旧容器。我看到发生的是:

  1. 新容器启动Initial状态
  2. 3 多分钟后,New Container 变为Healthy. 旧货柜进入Draining
  3. 2 分钟后,Old Container 完成Draining并停止

因此,部署需要 5-7 分钟,主要是等待运行状况检查或耗尽。但是,我很确定 SSH 启动得非常快,并且我在目标组上进行了以下设置,这应该会使事情变得相对快速:

  • 正确端口上的 TCP 健康检查
  • 健康/不健康阈值:2
  • 间隔:10s
  • 注销延迟:10s
  • ECS Docker 停止自定义超时:65s

所以从 SSH 到旧容器被终止的最短时间是:

  • 2*10=20s TCP健康检查转为Healthy
  • Docker 停止前的注销延迟 10 秒
  • Docker 停止超时 65 秒

这是 115 秒,比观察到的 5-7 分钟要少得多。其他服务需要 1-3 分钟,而 LB/Target Group 的时间安排并没有那么激进。

任何想法为什么我的 NLB 背后的服务似乎在这些生命周期转换中循环缓慢?

0 投票
0 回答
336 浏览

amazon-web-services - AWS API Gateway 后面的 EC2 托管 websocket 连接?

我试图让一个由 API 网关前端的 EC2 托管 websocket 连接进行授权并限制主机的暴露表面积。

目前在 EKS 中运行了一项服务,其私有节点位于内部 NLB 后面。我可以直接通过 NLB 启动 websocket 会话(在网络内)。如何将 API Gateway 放在此设置的前面?

根据https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-nlb-for-vpclink-,我尝试使用 NLB 作为 VPC 链接代理资源设置 RESTful API 网关使用-console.html。但是,尝试建立 wss:// 连接会返回 301。

Websockets 类型的 API 网关似乎想自己处理 websocket 连接,并独立处理每个新消息/请求。我想不出一种方法让我的服务管理连接和所有传入的消息/请求。

有没有办法做到这一点,还是我必须公开我的负载均衡器?

0 投票
1 回答
292 浏览

amazon-web-services - 为什么 Kube 服务没有将 SSL 证书附加到 AWS NLB?

我们需要一个 Kubernetes 服务来提供支持 Web 套接字的 AWS 负载均衡器,而不是经典的 LB。对 AWS NLB 的支持处于 Alpha 状态 - 但似乎运行良好。

我们遇到的问题是将侦听器设置为 TLS 而不是 TCP 并正确附加 ACM SSL 证书 - 这与经典 LB 配合得很好

我们在其中的注释service.yml是:

结果是:

预期的:

0 投票
1 回答
451 浏览

amazon-web-services - 如何在 NetworkLoadbalancer 中将公共 IP 更改为弹性 IP

到目前为止,我们可以使用此注释从 K8s 创建 NLb "service.beta.kubernetes.io/aws-load-balancer-type: "nlb"。它将占用子网中可用的公共 IP。

那么,创建 NLB 后,是否可以使用 AWS CLI 中的弹性 IP 更改 SubnetMapping?如果是,任何人都可以举个例子。

我尝试更新 K8s 使用服务注释创建的 NLB 上的子网映射。

aws elbv2 set-subnets --load-balancer-arn arnValue --subnet-mappings SubnetId=abcd,AllocationId=eipalloc-1 --region us-east-1

输出为“网络”类型的负载平衡器不支持 SetSubnets

0 投票
2 回答
1373 浏览

kubernetes - 如何将流量转发到特定的 pod?

我有一个在内存数据库中使用的应用程序。我使用带有 3 个副本的 Pod 创建了 statefulset。使用 PVC 存储数据库相关文件。

我使用了一个 Loabalancer 来公开 statefulset。

因此,当流量每次转发到不同的 Pod 时都会遇到负载均衡器。

无论如何我可以根据某些条件控制对 Pod 的负载平衡(比如客户端 IP 是 X 转到 pod Y)吗?

0 投票
0 回答
20 浏览

amazon-web-services - NLB 支持基于 IP 的负载平衡

AWS NLB 是否支持基于源 IP 的负载平衡?

例如:假设 IP 范围是 34.5.5.5-34.5.5.254 转发流量到实例 X?

或者如果流量是从 34.6.6.6 转发到实例 Y

无论如何在AWS NLB中实现这一点?

0 投票
1 回答
3358 浏览

amazon-web-services - 无法连接到面向 Internet 的 NLB 将流量转发到私有实例

我已经使用以下配置配置了云

  1. 在两个可用区中具有公有子网和私有子网的 VPC。公共子网有一个互联网网关,私有子网有一个配置的 NAT 网关
  2. 面向 Internet 的网络负载均衡器,允许在两个可用区中配置 TCP 流量
  3. 从负载均衡器转发流量的目标组
  4. 私有子网中的 EC2 实例配置了 haproxy 在端口 80 上侦听。它的安全组配置为在端口 80 上接受来自配置 NLB 的两个子网的 TCP 流量
  5. 将此实例添加到目标组,状态为健康

当我尝试访问 NLB DNS 时,它给了我“连接超时”错误。我期待当我点击 NLB DNS 时,它应该将我转发到私有实例。我检查了许多 AWS 文档,例如此链接,但仍然找不到此问题的解决方案。如果这还不够,请随时询问更多信息。