You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为AWS负载均衡器分配域名?解决EKS Ingress IP变更问题

为EKS Ingress控制器分配固定IP的解决方案

核心逻辑

AWS默认的负载均衡器(NLB/ALB)会动态分配IP,要实现固定IP,需结合**弹性IP(EIP)**与支持绑定EIP的Network Load Balancer(NLB),通过AWS Load Balancer Controller的注解配置完成绑定。

操作步骤

1. 创建弹性IP(EIP)

根据EKS集群的可用区数量,为每个可用区创建至少1个EIP(确保负载均衡器在每个可用区都有固定入口):

aws ec2 allocate-address --domain vpc

记录每个EIP的Allocation ID(格式如eipalloc-xxxxxx)。

2. 配置Ingress绑定固定IP

如果你使用的是AWS官方推荐的AWS Load Balancer Controller,在Ingress资源中添加以下注解:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-ingress
  annotations:
    # 指定使用NLB(仅NLB支持绑定EIP)
    alb.ingress.kubernetes.io/load-balancer-type: nlb
    # 设置为面向公网
    alb.ingress.kubernetes.io/scheme: internet-facing
    # 绑定预先创建的EIP,多个可用区的EIP用逗号分隔
    service.beta.kubernetes.io/aws-load-balancer-eip-allocations: eipalloc-xxxxxx,eipalloc-yyyyyy
spec:
  rules:
    # 你的Ingress路由规则...

3. 验证配置生效

  • 应用Ingress配置:
    kubectl apply -f your-ingress.yaml
    
  • 查看NLB的IP地址,确认已绑定指定的EIP:
    aws elbv2 describe-load-balancers --names <nlb-name> --query 'LoadBalancers[0].AvailabilityZones[*].LoadBalancerAddresses[*].IpAddress'
    

额外提示

  • 若使用Application Load Balancer(ALB),无法直接绑定固定IP,建议直接使用ALB的CNAME记录作为DNS解析目标,ALB的域名是永久固定的,AWS会自动维护背后的IP变更。
  • 确保EIP与EKS集群处于同一VPC,且未被其他资源占用。

内容的提问来源于stack exchange,提问作者Sten Ka Razin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 05:05:11