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

如何通过CloudFormation将WAF与ElasticBeanstalk的ALB集成?

如何获取Elastic Beanstalk ALB的ARN并集成WAF

要在同CloudFormation栈中将WAF与Elastic Beanstalk的ALB关联,核心是正确获取ALB的ARN,以下是直接可靠的实现方式:

1. 定义Elastic Beanstalk Environment资源

你提供的ConfigurationTemplate只是配置模板,实际创建ALB的是AWS::ElasticBeanstalk::Environment资源。先基于你的模板定义该环境资源:

TestEnvironment:
  Type: AWS::ElasticBeanstalk::Environment
  Properties:
    ApplicationName: !Ref TestApplication
    TemplateName: !Ref TestTemplate
    # 可添加环境名称等其他必要配置

2. 获取ALB ARN并创建WAF关联

使用!GetAtt从Environment资源中直接提取ALB的ARN,然后通过AWS::WAFv2::WebACLAssociation完成集成:

WAFALBAssociation:
  Type: AWS::WAFv2::WebACLAssociation
  Properties:
    ResourceArn: !GetAtt TestEnvironment.LoadBalancerArn
    WebACLArn: !Ref YourWebACL # 替换为你已定义的WAF WebACL资源名称

补充说明

  • LoadBalancerArn属性仅对使用ALB的Elastic Beanstalk环境有效;若使用经典ELB,需通过LoadBalancerName属性拼接ARN(格式为arn:aws:elasticloadbalancing:${Region}:${AccountId}:loadbalancer/${LoadBalancerName}),但优先推荐使用ALB。
  • 同栈内直接用!GetAtt引用可保证资源依赖关系的正确性,避免依赖标签等间接方式可能引发的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 14:42:50