问题标签 [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.
load-balancing - 网络负载平衡 Windows Server 2016 错误
我想使用 Virtualbox 创建 NLB 集群,但是当我尝试使用虚拟机的 IP 连接集群时出现此错误。
NLB 管理器使用此接口连接到主机。由于此接口当前已启用 DHCP,因此不能用于配置集群。请选择其他接口,或使用其他接口的 IP 地址连接到该主机。
有任何想法吗?
amazon-web-services - 带有 aws nlb healthcheck 的 grcp fargate 服务
我正在尝试为 grpc 设置一个 Fargate 服务,这需要我使用 NLB,但是,我无法弄清楚如何/如何设置 healthcheck 值以启用我的测试服务。
我目前在 ecs 服务上打开了 2 个端口,9000 具有有效的健康端点 /v1/health,50051 是没有健康端点的 grpc 服务。
我想知道如何配置运行状况以命中 9000 端口 + 路径,或者我还能做些什么作为替代方案?
我已经附上了我正在使用的 cloudformation 脚本,任何帮助都将不胜感激,目标组是主要的混淆点。
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 网关在这两个应用程序之间进行路由
我想弄清楚
- NLB 能够将流量路由到多个容器(API1 和 API2)吗?还是会提供动态主机端口映射?
- 我需要切换到 ALB 来实现这一点吗?
amazon-ecs - 在网络负载均衡器 + 目标组后面运行 SSH 的 AWS ECS 服务使用 CodeDeploy 部署缓慢
我有一个服务于 SSH 进程的 ECS 服务。我正在通过 CodeDeploy 为该服务部署更新。我注意到,与使用 CodePipeline 同时部署相同图像的其他服务相比,该服务的部署速度要慢得多。此服务的不同之处在于它位于 NLB 之后(其他服务不是 LB 或位于 ALB 之后)。
该服务设置为 1 个容器,部署 200%/100%,因此服务会启动 1 个新容器,确保它是健康的,然后删除旧容器。我看到发生的是:
- 新容器启动
Initial
状态 - 3 多分钟后,New Container 变为
Healthy
. 旧货柜进入Draining
- 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 背后的服务似乎在这些生命周期转换中循环缓慢?
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 连接,并独立处理每个新消息/请求。我想不出一种方法让我的服务管理连接和所有传入的消息/请求。
有没有办法做到这一点,还是我必须公开我的负载均衡器?
amazon-web-services - 为什么 Kube 服务没有将 SSL 证书附加到 AWS NLB?
我们需要一个 Kubernetes 服务来提供支持 Web 套接字的 AWS 负载均衡器,而不是经典的 LB。对 AWS NLB 的支持处于 Alpha 状态 - 但似乎运行良好。
我们遇到的问题是将侦听器设置为 TLS 而不是 TCP 并正确附加 ACM SSL 证书 - 这与经典 LB 配合得很好
我们在其中的注释service.yml
是:
结果是:
预期的:
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
kubernetes - 如何将流量转发到特定的 pod?
我有一个在内存数据库中使用的应用程序。我使用带有 3 个副本的 Pod 创建了 statefulset。使用 PVC 存储数据库相关文件。
我使用了一个 Loabalancer 来公开 statefulset。
因此,当流量每次转发到不同的 Pod 时都会遇到负载均衡器。
无论如何我可以根据某些条件控制对 Pod 的负载平衡(比如客户端 IP 是 X 转到 pod Y)吗?
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中实现这一点?
amazon-web-services - 无法连接到面向 Internet 的 NLB 将流量转发到私有实例
我已经使用以下配置配置了云
- 在两个可用区中具有公有子网和私有子网的 VPC。公共子网有一个互联网网关,私有子网有一个配置的 NAT 网关
- 面向 Internet 的网络负载均衡器,允许在两个可用区中配置 TCP 流量
- 从负载均衡器转发流量的目标组
- 私有子网中的 EC2 实例配置了 haproxy 在端口 80 上侦听。它的安全组配置为在端口 80 上接受来自配置 NLB 的两个子网的 TCP 流量
- 将此实例添加到目标组,状态为健康
当我尝试访问 NLB DNS 时,它给了我“连接超时”错误。我期待当我点击 NLB DNS 时,它应该将我转发到私有实例。我检查了许多 AWS 文档,例如此链接,但仍然找不到此问题的解决方案。如果这还不够,请随时询问更多信息。