您还可以使用 .ebextensions 机制创建自定义。
最近我不得不将 WAF 附加到 ElasticBeanstalk 应用程序负载均衡器。如果您创建 .config 文件并将其放在 .ebextensions 中,请配置您的环境并自定义其中包含的 AWS 资源。如果您没有为任何资源提供自定义名称,您可以使用此处找到的标准资源名称来引用它(https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/customize-containers-format-资源-eb.html )
NLB 与 ALB 一样使用相同的默认资源名称,因此 AWSEBV2LoadBalancer 是医生订购的。
我的配置看起来像
Resources:
PublicWAF:
Type: AWS::WAFRegional::WebACLAssociation
Properties:
ResourceArn: {"Ref" : "AWSEBV2LoadBalancer" }
WebACLId:
Fn::GetOptionSetting:
OptionName: waf_id
其中 Ref 返回负载均衡器的 Amazon 资源名称 (ARN)。
我想您可以将 VPC 链接的 Cloudformation 放在 Elastic Beanstalk 应用程序的 .config 文件中。公平警告我在配置中使用了 YAML,但必须在 Reference 函数上使用 JSON 格式才能使其在我的环境中工作。
ResourceArn: {"Ref" : "AWSEBV2LoadBalancer" }