AWS CloudFormation Application Load Balancer - как перенаправить прослушиватель HTTP на прослушиватель HTTPS?

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

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

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




Ответы (4)


19 ноября 2018 года Amazon представила RedirectConfig для прослушивателя Elastic Load Balancer. Этот тип прослушивателя также используется для балансировки нагрузки приложений (ALB).

Ниже вы найдете пример конфигурации для обычного перенаправления 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

person Martin    schedule 27.11.2018
comment
Как это сделать для приложения LB в среде эластичного бобового стебля? - person DenCowboy; 04.03.2019
comment
Мне нужно обернуть этот блок условным условием для выполнения только в случае выбора приложения, поскольку мой CFT создает ALB или NLB в зависимости от переданного параметра. Будет ли AWS игнорировать это автоматически для меня в случае сети? - person jDub9; 19.03.2019

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

person Dan G    schedule 03.10.2018

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

person the0ffh    schedule 30.08.2018

Они внедрили это недавно. Взгляните на: https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_RedirectActionConfig.html

person pilincom    schedule 20.09.2018
comment
Это часть их API, поскольку июль 2018 г., если я не ошибаюсь, но все еще не существует в CloudFormation, поскольку вопрос, который я задал, относится к . - person the0ffh; 20.09.2018