咨询.elasticbeanstalk/config.yml与.ebextensions的完整配置选项参考
Elastic Beanstalk配置文件完整选项说明
我来帮你理清这两个配置文件的情况——刚好我对Elastic Beanstalk的配置细节比较熟悉,下面分两部分解答你的问题:
一、关于.elasticbeanstalk/config.yml
首先明确:没有公开的完整配置选项官方列表,而且这个文件的作用是配置Elastic Beanstalk CLI(EB CLI)的本地部署行为,无法通过它指定环境的全部配置选项——它更多是和本地开发、部署流程绑定,而非定义环境的基础设施参数。
常见可用选项(覆盖大部分使用场景)
branch-defaults:绑定Git分支到指定部署环境,示例:branch-defaults: main: environment: my-production-env group_suffix: nullglobal:全局CLI配置,核心子项包括:application_name:关联的EB应用名称region:部署的AWS区域platform_name:指定环境使用的平台(比如Python 3.9 running on 64bit Amazon Linux 2)default_ec2_keyname:EC2实例使用的密钥对名称profile:AWS凭证配置文件名称
你提到的Instance Type、Security Groups、ALB设置这类环境基础设施参数,是不能在config.yml里配置的,需要通过.ebextensions或者AWS控制台/API来设置。
二、关于.ebextensions的完整配置参考
AWS官方有完整的.ebextensions配置选项文档,覆盖所有支持的命名空间和参数。下面整理你关心的配置项,以及核心分类:
1. 实例类型(Instance Type)
使用aws:autoscaling:launchconfiguration命名空间来设置,示例:
option_settings: aws:autoscaling:launchconfiguration: InstanceType: t3.medium
2. 安全组(Security Groups)
- 针对EC2实例:同样在
aws:autoscaling:launchconfiguration下配置option_settings: aws:autoscaling:launchconfiguration: SecurityGroups: sg-12345678, sg-87654321 - 针对Application Load Balancer:使用
aws:elbv2:loadbalancer命名空间option_settings: aws:elbv2:loadbalancer: SecurityGroups: sg-abcdefgh
3. Application Load Balancer(ALB)核心设置
- 负载均衡器基础配置:
option_settings: aws:elbv2:loadbalancer: Scheme: internet-facing # 可选值:internet-facing / internal LoadBalancerType: application - HTTPS监听器配置:
option_settings: aws:elbv2:listener:443: ListenerEnabled: true Protocol: HTTPS SSLCertificateArns: arn:aws:acm:us-east-1:123456789012:certificate/abc-123-def - 目标组健康检查配置:
option_settings: aws:elbv2:targetgroup: TargetType: instance # 可选值:instance / ip HealthCheckPath: /health
完整配置覆盖的核心命名空间类别
aws:autoscaling:*:自动扩缩容、EC2启动配置相关aws:elbv2:*:ALB相关的负载均衡器、监听器、目标组aws:ec2:*:EC2实例网络、存储相关aws:elasticbeanstalk:*:EB环境本身的配置(比如日志收集、健康检查规则)aws:rds:*:关联的RDS数据库配置
内容的提问来源于stack exchange,提问作者Craig
相关产品推荐
相关产品推荐

