CloudFormation创建ALB监听器规则多条件AND配置报错求助
ALB监听器规则CloudFormation模板错误修复及多条件配置说明
错误原因
报错extraneous key [sourceIpConfig] is not permitted是因为属性名大小写不符合规范:CloudFormation对资源属性采用驼峰命名规则,source-ip对应的配置属性应该是SourceIpConfig(首字母大写),小写开头的写法不被识别。
修正后的模板代码
ALBListenerRule2: Type: AWS::ElasticLoadBalancingV2::ListenerRule Properties: Actions: - TargetGroupArn: !Ref TargetGroupWebserver Type: forward Conditions: - Field: path-pattern PathPatternConfig: Values: - /user/signin - /user/signup - /flight - /user/gift2 - Field: source-ip SourceIpConfig: Values: - !GetAtt My.PublicIp ListenerArn: !Ref ALBListener Priority: 1
多条件逻辑说明
- AND关系实现:
Conditions数组中的多个条件默认就是AND逻辑,只有当所有条件同时满足时,才会触发规则的动作(比如这里的转发到目标组)。你需要的路径匹配+源IP匹配的AND需求,直接把两个条件分别放在Conditions数组里即可。 - OR关系实现:单个条件内的
Values列表是OR逻辑,比如路径条件里的四个路径值,只要请求路径匹配其中任意一个,就满足该路径条件。
内容的提问来源于stack exchange,提问作者James Dean
相关产品推荐
相关产品推荐

