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

寻求基于CloudFormation部署带Application Load Balancer的Elastic Beanstalk实例资源

嘿,我来帮你梳理下用CloudFormation部署搭载Application Load Balancer(ALB)的Elastic Beanstalk实例的核心配置要点,不用再纠结那些Classic LB的老示例啦:

核心配置步骤

1. 强制指定ALB类型

这是最关键的一步,在Elastic Beanstalk环境的OptionSettings里,通过aws:elasticbeanstalk:environment:loadbalancer命名空间设置负载均衡器类型为application,替代默认的Classic LB:

- Namespace: aws:elasticbeanstalk:environment:loadbalancer
  OptionName: LoadBalancerType
  Value: application

2. 自定义ALB专属配置

如果需要调整ALB的监听规则、SSL证书、安全组等,可以通过以下命名空间配置:

  • ALB基础设置:用aws:elbv2:loadbalancer命名空间,比如指定安全组、负载均衡器类型(内部/互联网-facing)
  • 监听端口配置:用aws:elbv2:listener:<端口号>命名空间,比如配置HTTPS监听、健康检查路径

3. 完整示例片段

下面是一个可参考的精简CloudFormation模板片段,涵盖了核心配置:

AWSTemplateFormatVersion: '2010-09-09'
Resources:
  # 创建Elastic Beanstalk应用
  MyEBApp:
    Type: AWS::ElasticBeanstalk::Application
    Properties:
      Description: 搭载ALB的Elastic Beanstalk应用

  # 创建带ALB的Elastic Beanstalk环境
  MyEBEnv:
    Type: AWS::ElasticBeanstalk::Environment
    Properties:
      ApplicationName: !Ref MyEBApp
      # 选择支持ALB的平台版本(Amazon Linux 2及以上都支持)
      SolutionStackName: "64bit Amazon Linux 2 v3.4.10 running Node.js 16"
      OptionSettings:
        # 指定ALB类型
        - Namespace: aws:elasticbeanstalk:environment:loadbalancer
          OptionName: LoadBalancerType
          Value: application
        # 配置ALB安全组
        - Namespace: aws:elbv2:loadbalancer
          OptionName: SecurityGroups
          Value: !Ref MyALBSecurityGroup
        # 开启HTTPS监听(443端口)
        - Namespace: aws:elbv2:listener:443
          OptionName: ListenerEnabled
          Value: true
        - Namespace: aws:elbv2:listener:443
          OptionName: Protocol
          Value: HTTPS
        - Namespace: aws:elbv2:listener:443
          OptionName: SSLCertificateArns
          Value: arn:aws:acm:us-east-1:123456789012:certificate/your-cert-id
  # ALB安全组(示例,需根据实际需求调整规则)
  MyALBSecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: ALB安全组
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 80
          ToPort: 80
          CidrIp: 0.0.0.0/0
        - IpProtocol: tcp
          FromPort: 443
          ToPort: 443
          CidrIp: 0.0.0.0/0

注意事项

  • 确保选择的SolutionStackName是支持ALB的平台版本,Amazon Linux 2及后续的平台都默认支持ALB,避免选Amazon Linux AMI(旧版本)
  • 执行CloudFormation的角色需要拥有创建Elastic Beanstalk环境、ALB、EC2安全组等资源的权限
  • 如果需要VPC内部署,还需在aws:ec2:vpc命名空间下配置VPC ID、子网等参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 13:53:13