. Я построил этот маршрут трафика в VPC.
Route53->ACM(SSL)->Public ALB->EC2(Nginx proxy)->Private ALB->ECS(Internal App)
Группа безопасности EC2 разрешает tcp 80 и 443. Группа безопасности ECS разрешает 80 из группы безопасности EC2.
Когда я обращаюсь к домену, зарегистрированному в Route53, возникает ошибка 504 DNS look up failed
. При доступе к DNS-имени общедоступного ALB возникла ошибка 503 Service Temporarily Unavailable
.
Я уверен, что ACM настраивается, и DNS-имя общедоступного LB регистрируется на Route53 с доменом.
Настройки ALB в общедоступной подсети выполняет Terraform
resource "aws_lb_listener" "http" {
load_balancer_arn = aws_lb.this.arn
port = "80"
protocol = "HTTP"
default_action {
type = "redirect"
redirect {
port = "443"
protocol = "HTTPS"
status_code = "HTTP_301"
}
}
}
resource "aws_lb_listener_rule" "http_redirect" {
listener_arn = aws_lb_listener.proxy.arn
priority = 1
action {
type = "redirect"
redirect {
port = "443"
protocol = "HTTPS"
status_code = "HTTP_301"
}
}
condition {
path_pattern {
values = ["/*"]
}
}
}
resource "aws_lb_listener_rule" "http_forward" {
listener_arn = aws_lb_listener.http.arn
priority = 2
action {
type = "forward"
target_group_arn = aws_lb_target_group.proxy.arn
}
condition {
host_header {
values = ["proxy.portsite.com"]
}
}
}
resource "aws_lb_listener_rule" "https_forward" {
listener_arn = aws_lb_listener.https.arn
action {
type = "forward"
target_group_arn = aws_lb_target_group.proxy.arn
}
condition {
host_header {
values = ["proxy.portsite.com"]
}
}
}
Нужны ли для маршрутизации и http_redirect
, и http_forward
? Или только http_redirect
хорошо? И проблема, вызванная этим?
Правило перенаправления используется для принудительного перехода с http на http S .
Чтобы отправить трафик на серверную часть, вам нужно использовать действие переслать .
Вы можете проверить заголовок HTTP «Сервер», чтобы узнать, кто отправляет ошибку 503 (либо ALB, nginx, ECS,...)
Группа безопасности ECS разрешает 80 из группы безопасности EC2.: Группа безопасности ECS должна разрешать частный ALB. частная группа безопасности ALB должна разрешать экземпляр EC2