使用主机和路径条件对aws_alb_listener_rule进行Terraform

时间:2017-09-19 15:12:53

标签: amazon-web-services amazon-ec2 terraform

AWS ALB supports规则基于在同一规则中匹配主机和路径条件。

  

您还可以创建组合基于主机的路由和基于路径的路由的规则。

我已经检查了控制台,UI确实允许在同一规则中选择主机和路径条件。

Terraform aws_alb_listener_rule似乎支持主机OR路径条件。

  

基于路径的路由必须一个路径模式或基于主机的路由的主机标头。

强调我的

有没有办法让Terraform ALB规则只在请求主机名和路径都符合某些条件时触发?

2 个答案:

答案 0 :(得分:7)

您可以指定两个条件,这会导致两个条件的AND:

resource "aws_alb_listener_rule" "host_header_rule" {
  condition {
    field  = "host-header"
    values = ["some.host.name"]
  }
  condition {
    field  = "path-pattern"
    values = ["/some-path/*"]
  }
  # etc.
}

答案 1 :(得分:0)

resource "aws_alb_listener_rule" "listener_path_based_test" {
    listener_arn = "${aws_alb_listener.listener_prod_https_internal_test.arn}"
    action {    
      type             = "forward"    
      target_group_arn = "${aws_alb_target_group.tg_alb_prod_8080_internal_test.arn}"
    }   
    condition {    
     field  = "path-pattern"      
     values = ["/some-path/*"]}}