J'essaie d'écrire un modèle CloudFormation pour ALB, mais je suis resté bloqué sur le point où je voudrais rediriger le trafic du programme d'écoute HTTP d'ALB vers un programme d'écoute HTTPS. Les documents mentionnent uniquement le transfert/la redirection vers le groupe cible.
Je suis conscient que cela est réalisable à l'aide de l'interface Web (AWS Console), ce que je veux éviter. Aussi, le gérer sur le serveur est un non-départ pour moi.
Cette fonctionnalité d'ALB n'est-elle simplement pas implémentée dans CloudFormation, mais existe-t-elle dans la console?
Le 19 novembre 2018, Amazon a présenté le logiciel RedirectConfig pour le programme d'écoute Elastic Load Balancer.
Vous trouverez ci-dessous un exemple de configuration pour la redirection habituelle HTTP vers HTTPS. Remplacez 'PublicLoadBalancerBackend' par votre objet CF d'équilibreurs de charge.
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
Documentation Cloudformation sur RedirectConfig:https://docs.aws.Amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-elasticloadbalancingv2-listener-redirectconfig.html
Cloudformation Documentation sur l'action d'écoute: La documentation indique que seule la valeur valide pour Type
est forward
. Cependant, comme vous pouvez le voir dans l'exemple ci-dessus, redirect
fonctionne dans ce cas.
Pour l'instant, la seule option est d'écrire une ressource personnalisée pour la gérer. Voir: https://github.com/jheller/alb-rule Pour un exemple solide à implémenter - ou à utiliser comme base pour votre propre implémentation. (Je n'ai aucune affiliation avec le code ci-dessus - je viens de le trouver pour mon propre besoin de faire exactement la même chose)
Il s’avère que redirect
n’est pas implémenté dans les FC pour le moment, ce qu’on attend malheureusement de AWS - source .