Подтвердить что ты не робот

Балансировка нагрузки приложения CloudSormation для AWS - как перенаправить HTTP-прослушиватель на приемник HTTPS?

Я пытаюсь написать шаблон CloudFormation для ALB, но застрял в точке, где я хотел бы перенаправить трафик ALB HTTP-прослушивателя на прослушиватель HTTPS. В документах упоминается только переадресация/перенаправление целевой группы.

Я знаю, что это возможно с помощью веб-интерфейса (AWS Console), чего я хочу избежать. Также обращаться с ним на сервере - это не для меня.

Является ли эта функция ALB просто не реализована в CloudFormation, но существует в консоли?

4b9b3361

Ответ 1

19 ноября 2018 года Amazon представила RedirectConfig для прослушивателя Elastic Load Balancer.

Ниже вы найдете пример конфигурации для обычного перенаправления HTTP-HTTPS. Замените 'PublicLoadBalancerBackend' на свой объект CloudFormation балансировщиков нагрузки.

  PublicLoadBalancerHttpRedirectListener:
    Type: AWS::ElasticLoadBalancingV2::Listener
    DependsOn:
      - PublicLoadBalancerBackend
    Properties:
      DefaultActions:
        - RedirectConfig:
            Host: "#{host}"
            Path: "/#{path}"
            Port: 443
            Protocol: "HTTPS"
            Query: "#{query}"
            StatusCode: HTTP_301
          Type: redirect
      LoadBalancerArn: !Ref 'PublicLoadBalancerBackend'
      Port: 80
      Protocol: HTTP

Документация CloudFormation в RedirectConfig: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html

Документация CloudFormation по действию слушателя: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html

Ответ 2

Похоже, теперь единственным вариантом является создание настраиваемого ресурса для его управления. См. Https://github.com/jheller/alb-rule для убедительного примера для реализации или использования в качестве базы для вашей собственной реализации. (У меня нет привязки к вышеуказанному коду - только что нашел для моей собственной потребности сделать то же самое)

Ответ 3

Оказывается, redirect настоящее время не реализовано в CF, чего, к сожалению, ожидать от AWS- источника.