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

如何为带NLB的Elastic Beanstalk环境分配弹性IP(入站流量)

为Elastic Beanstalk NLB环境关联弹性IP(入站流量)

可行性说明

明确一点:可以通过Elastic Beanstalk的自定义CloudFormation配置(.ebextensions)实现,核心是利用CloudFormation中AWS::ElasticLoadBalancingV2::LoadBalancer资源的SubnetMappings属性,将预先创建的弹性IP绑定到NLB的子网。

具体实现步骤

1. 预先准备弹性IP

在Beanstalk环境所用VPC的每个可用区(对应环境的子网)创建弹性IP,确保每个子网对应一个EIP(NLB要求每个关联子网绑定一个EIP以实现入站静态IP)。

2. 创建自定义CloudFormation配置

在应用代码根目录下新建.ebextensions文件夹,添加配置文件(例如nlb-eip-mapping.config),内容示例如下:

Resources:
  AWSEBV2LoadBalancer:
    Type: AWS::ElasticLoadBalancingV2::LoadBalancer
    Properties:
      SubnetMappings:
        - SubnetId: { "Ref": "AWSEBSubnetPublicA" }
          AllocationId: "eipalloc-xxxxxxxxx"  # 替换为对应子网的EIP分配ID
        - SubnetId: { "Ref": "AWSEBSubnetPublicB" }
          AllocationId: "eipalloc-yyyyyyyyy"  # 替换为另一个子网的EIP分配ID
      # 保留NLB默认属性,Beanstalk会自动填充Scheme、LoadBalancerType等必要参数

3. 关键注意事项

  • 子网引用:使用Beanstalk预定义的参数(如AWSEBSubnetPublicA、AWSEBSubnetPublicB)关联环境的公有子网,无需手动指定子网ID。
  • AllocationId:必须使用弹性IP的分配ID(格式为eipalloc-xxxx),而非公网IP地址本身。
  • 配置覆盖:该配置会替换Beanstalk自动生成的NLB子网映射,确保每个子网绑定指定EIP,实现入站流量使用固定IP。
  • 与静态源IP的区别:此配置仅针对入站流量的NLB固定IP,和Beanstalk中用于出站流量的静态源IP机制完全不同。

4. 部署验证

将包含.ebextensions的代码包部署到Elastic Beanstalk环境后,进入EC2控制台的负载均衡器页面,查看NLB的子网映射,确认已关联指定的弹性IP。


内容的提问来源于stack exchange,提问作者sarp

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 13:05:00