Je construis une pile CloudFormation. JeComment mapper les deux ports 80 et 443 d'un ELB au même conteneur ECS?
- une application web dans un conteneur ECS qui a
PortMappings
pourContainerPort
s 9000 et 9002, mis en correspondance avecHostPort
s 80 et 443, et - un équilibreur de charge de l'application (
AWS::ElasticLoadBalancingV2::LoadBalancer
) avecListener
s etTargetGroup
s pour HTTP sur le port 80 et HTTPS sur le port 443
Lorsque je définis un Service
, je ne peux spécifier qu'un élément d'équilibreur de charge; Bien que LoadBalancers
soit au pluriel, la documentation indique qu'un seul équilibreur de charge est autorisé et que la spécification de deux éléments d'équilibrage de charge ne fonctionne pas. Comment, alors, cartographier les deux ports?
Voici la partie service de mon JSON CloudFormation avec seulement les parties HTTPS, qui fonctionne. Peut-il être étendu pour router HTTP vers le même conteneur? Si non, quelle est la meilleure solution? Une solution CloudFormation serait idéale, mais une solution API serait également intéressante.
Je pourrais créer un second Service
pour HTTP, avec un équilibreur de charge séparé et des instances de conteneur, mais cela ne serait ni simple ni économique.
Utilisez-vous le port 80 uniquement pour la redirection vers HTTPS? – Andreas
Jusqu'à présent, oui, une façon de faire la redirection dans CloudFormation ou l'API AWS serait intéressante. Il serait préférable de conserver la redirection dans le conteneur, car le conteneur est utilisé dans d'autres contextes. –