我正在尝试为ALB编写一个CloudFormation模板,但我仍然想要将ALB的HTTP侦听器流量重定向到HTTPS侦听器.文档仅提及转发/重定向到目标组.
我知道使用Web界面(AWS控制台)是可以实现的,我想避免这种情况.在服务器上处理它也不适合我.
这个ALB的功能是不是在CloudFormation中实现,而是存在于Console中?
https http-redirect aws-cloudformation elastic-load-balancer aws-load-balancer
我正在尝试使用loadBalancer
类型服务向外界公开服务。
为此,我遵循了这个文档
https://aws.amazon.com/premiumsupport/knowledge-center/eks-kubernetes-services-cluster/
我的loadbalancer.yaml
看起来像这样
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
type: LoadBalancer
selector:
app: nginx
ports:
- protocol: TCP
port: 80
targetPort: 80
Run Code Online (Sandbox Code Playgroud)
但是负载平衡器没有按预期创建我收到以下错误
Warning SyncLoadBalancerFailed 8s (x3 over 23s) service-controller Error syncing load balancer: failed to ensure load balancer: could not find any suitable subnets for creating the ELB
Run Code Online (Sandbox Code Playgroud)
似乎是因为子网标签中的一些问题需要解决,但我的子网中有所需的标签
kubernetes.io/cluster/<cluster-name>. owned
kubernetes.io/role/elb 1
Run Code Online (Sandbox Code Playgroud)
但是,我仍然收到错误 could not find any suitable subnets for creating the ELB
我有一个任务来配置 API 网关以将流量路由到 Lambda 或负载均衡器(内部,在 VPC 下)。我认为可以使用简单的 HTTP 集成或 AWS 服务为 ALB 创建简单的集成。但是经过一段时间的谷歌搜索后,我发现只有一种解决方案 - 是配置 NLB,然后使用VPC_Link 集成。在这种情况下,一切看起来都在工作。
但是我仍然找到了一些像这样的文章,其中人们描述了如何在没有 VPC_links 的情况下集成 Api Gateway 和 LB。就我而言invalid endpoint address
,将内部 ALB 与 apigateway 集成时,我总是看到错误。我想这仅适用于公共资源(面向 LB 的互联网)?
问题的第二部分。当我配置 VPC_link 时,我仍然需要在集成中提供一些端点以进行证书检查和其他事情。但是看起来这个端点仍然必须可以公开访问?问题是我在 ALB 下的服务有多个端点,我需要在这个端点提供路径Endpoint URL
,这个端点应该是公开的,就像我现在看到的那样。因此,出于测试原因,我提供了我们需要执行的公共资源的 url 和端点路径。这有效,但对我来说看起来太丑了。可能有任何漂亮的解决方案。
amazon-web-services amazon-vpc aws-api-gateway aws-load-balancer
理想情况下,我想锁定我的ALB,以便只能通过API网关访问它.
我已经研究过是否我可以API网关与入站规则联系起来 - 不过,我发现,API网关不能与IP地址或安全组关联.我也研究了面向内部的ALB,但由于VPC链接仅支持NLB,因此我无法使用它们.
任何帮助将不胜感激 - 我一直在寻找网关设置,但找不到此选项.
解决这个问题的最佳方法是什么,以便尽可能限制ALB?
我在专用子网中运行EKS,因此无法创建面向Internet的负载均衡器,但能够创建内部LoadBalancer。
有什么方法可以在公共子网中创建Loadbalancer(可能是手动)并指向在私有子网中的EKS中运行的Pod。
我正在考虑创建一个负载平衡器链,其中外部负载平衡器将指向内部负载平衡器,但这也是不可能的,因为内部负载平衡器的IP地址是保留IP。
我可以尝试其他方法将流量从互联网路由到Pod吗?
internal-load-balancer kubernetes-ingress aws-load-balancer amazon-eks
AWS 较旧的“经典”负载均衡器能够设置代理协议策略,将请求的外部 IP 地址添加到内部请求的 HTTP 标头中。
AWS 较新的应用程序负载均衡器似乎没有同样的功能。这是正确的,还是可以启用的东西?
如果它不是一个选项,那么是否建议恢复到经典负载均衡器?我觉得使用较新的负载平衡器类型是一种推动,因此对经典方法如此依恋是不明智的。
我正在尝试对nodejs服务器发送的事件后端进行负载均衡,我需要知道是否有办法将新连接分发给连接最少的客户端的实例.我遇到的问题是在扩展时,路由继续向已经饱和的实例发送新连接,并且因为连接很长时间,所以这根本不起作用.
对于水平扩展长期连接,我有哪些选项?
amazon-web-services websocket node.js server-sent-events aws-load-balancer
尝试在aws上创建应用程序负载平衡器时(到目前为止,我使用的是经典的就可以了),我收到以下消息:
At least two subnets must be specified
为什么ALB要求我指定两个子网?有什么方法可以创建它并将其用于单个子网中的实例之间的LB?
我已经设法在Traefik
本地运行,AWS ECS
但现在我想知道我应该如何设置某种负载平衡,以使我的两个具有随机 IP 的服务对公众可用。
[Internet]
|
[Load balancer on port 443 + ALB Security group on 443]
|
[Target group on port 443 + Security group from *any* port]
|
[cluster]
|
[service1 container ports "0:5000"]
Run Code Online (Sandbox Code Playgroud)
虽然这有效,但我现在想添加另一个容器,例如。service2
也有随机端口,例如0:8000
。这就是为什么我需要类似Traefik
.
这是Toml文件:
[api]
address = ":8080"
[ecs]
clusters = ["my-cluster"]
watch = true
domain = "mydomain.com"
region = "eu-central-1"
accessKeyID = "AKIA..."
secretAccessKey = "..."
Run Code Online (Sandbox Code Playgroud)
我还添加了主机条目/etc/hosts
:
127.0.0.1 …
amazon-ec2 ×3
amazon-eks ×2
amazon-ecs ×1
amazon-elb ×1
amazon-vpc ×1
docker ×1
https ×1
kubernetes ×1
node.js ×1
traefik ×1
websocket ×1