Рейтинг:0

Как установить общедоступный маршрут LB к прокси на AWS?

флаг sd

Я построил этот маршрут трафика в VPC.

Route53->ACM(SSL)->Public ALB->EC2(прокси Nginx)->Private ALB->ECS(внутреннее приложение)

Группа безопасности EC2 разрешает tcp 80 и 443. Группа безопасности ECS разрешает 80 из группы безопасности EC2.

Когда я обращаюсь к домену, зарегистрированному в Route53, он получает 504 Ошибка поиска DNS ошибка. При доступе к общедоступному DNS-имени ALB Служба 503 временно недоступна ошибка.

Я уверен, что ACM настраивается, и DNS-имя общедоступного LB регистрируется на Route53 с доменом.

Настройки ALB в общедоступной подсети выполняет Terraform.

ресурс "aws_lb_listener" "http" {
  load_balancer_arn = aws_lb.this.arn
  порт = "80"
  протокол = "HTTP"

  default_action {
    тип = "перенаправить"

    перенаправить {
      порт = "443"
      протокол = "HTTPS"
      код_статуса = "HTTP_301"
    }
  }
}

ресурс "aws_lb_listener_rule" "http_redirect" {
  listener_arn = aws_lb_listener.proxy.arn
  приоритет = 1

  действие {
    тип = "перенаправить"

    перенаправить {
      порт = "443"
      протокол = "HTTPS"
      код_статуса = "HTTP_301"
    }
  }

  условие {
    path_pattern {
      значения = ["/*"]
    }
  }
}

ресурс "aws_lb_listener_rule" "http_forward" {
  listener_arn = aws_lb_listener.http.arn
  приоритет = 2

  действие {
    тип = "вперед"
    target_group_arn = aws_lb_target_group.proxy.arn
  }

  условие {
    host_header {
      значения = ["proxy.portsite.com"]
    }
  }
}

ресурс "aws_lb_listener_rule" "https_forward" {
  listener_arn = aws_lb_listener.https.arn

  действие {
    тип = "вперед"
    target_group_arn = aws_lb_target_group.proxy.arn
  }

  условие {
    host_header {
      значения = ["proxy.portsite.com"]
    }
  }
}

Оба http_redirect и http_forward необходимо для маршрутизации? Или только http_redirect хорошо? И проблема, вызванная этим?

exeral avatar
флаг lk
последние два ресурса: "aws_lb_listener_rule" "https_forward" кажутся одинаковыми (кроме prio)
Рейтинг:0
флаг lk

Правило перенаправления используется для принудительного перехода с http на httpС.

Чтобы отправить трафик на бэкенд, вам нужно использовать вперед действие.

Вы можете проверить заголовок HTTP «Сервер», чтобы узнать, кто отправляет ошибку 503 (либо ALB, nginx, ECS,...)

Группа безопасности ECS разрешает 80 из группы безопасности EC2. : Группа безопасности ECS должна разрешать частный ALB. частная группа безопасности ALB должна разрешать экземпляр EC2

uotn avatar
флаг sd
Спасибо за ответ. Ошибка 503 возникла из-за DNS-имени общедоступного ALB. Например, «proxy-1130301830.us-east-1.elb.amazonaws.com». ECS sg разрешает частный ALB, а частный ALB sg разрешает IP-адрес EC2.
uotn avatar
флаг sd
Я обнаружил, что целевая группа нездорова. Я установил IP-адрес EC2 напрямую. EC2 находится в частной подсети, целевая группа находится в ALB общедоступной подсети. Значит, они не могут общаться? - https://imgur.com/a/7Crag5l - https://imgur.com/a/gf0hmzq

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.