webentwicklung-frage-antwort-db.com.de

AWS CloudFormation Application Load Balancer - Wie leite ich den HTTP-Listener auf den HTTPS-Listener um?

Ich versuche, eine CloudFormation-Vorlage für ALB zu schreiben, blieb aber an dem Punkt hängen, an dem ich den HTTP-Listener von ALB an HTTPS-Listener weiterleiten möchte. Die Dokumente erwähnen nur die Weiterleitung/Weiterleitung an die Zielgruppe.

Mir ist bekannt, dass dies über die Weboberfläche (AWS Console) möglich ist, die ich vermeiden möchte. Auch das Handling auf dem Server ist für mich ein Nein.

Ist diese ALB-Funktion einfach nicht in CloudFormation implementiert, sondern in Console vorhanden?

7
the0ffh

Am 19. November 2018 führte Amazon die RedirectConfig für den Listener Elastic Load Balancer ein.

Nachfolgend finden Sie eine Beispielkonfiguration für die übliche HTTP-zu-HTTPS-Weiterleitung. Ersetzen Sie "PublicLoadBalancerBackend" durch Ihr CF-Objekt für den Lastausgleich.

  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-Dokumentation zur RedirectConfig:https://docs.aws.Amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html

Cloudformation-Dokumentation zur Listener-Aktion: In der Dokumentation heißt es, dass nur ein gültiger Wert für Typeforward ist. Wie Sie jedoch im obigen Beispiel sehen können, funktioniert redirect in diesem Fall.

https://docs.aws.Amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-defaultactions.html

12
Martin

Für den Moment scheint die einzige Option das Schreiben einer benutzerdefinierten Ressource, um diese zu verwalten. Ein gutes Beispiel für die Implementierung finden Sie unter: https://github.com/jheller/alb-rule - oder als Basis für Ihre eigene Implementierung. (Ich habe keine Zugehörigkeit zum obigen Code - nur für mein eigenes Bedürfnis gefunden, genau das gleiche zu tun.)

3
Dan G

Es zeigt sich, dass redirect derzeit nicht in CF implementiert ist, was leider von AWS - source zu erwarten ist.

0
the0ffh