Je me demandais si ce qui suit est possible avec les offres AWS?
https://www.example.com/a/
-> servi par Apache sur l' EC2 Instance A
https://www.example.com/b/
-> servi par Apache sur l' EC2 Instance B
Pour clarifier, je ne veux pas que les fichiers sous un chemin de répertoire soient sur la même instance de serveur que les fichiers sous l'autre chemin de répertoire.
Je comprends que cela peut être possible avec un proxy quelconque, mais existe-t-il une solution plus simple avec l'une des offres AWS.
L' équilibreur de charge EC2 ne semble pas autoriser la commutation en fonction du chemin du répertoire. Route 53 fonctionne au niveau DNS, qui n'a pas d'informations sur le chemin pour renvoyer les adresses IP en fonction de cela.
amazon-web-services
apache2
Joseph Shih
la source
la source
Host:
têtes et ne filtrera pas le trafic bidon. Il semble peu probable qu'ils ajoutent des fonctionnalités comme celles que vous demandez si regarder les en-têtes est trop de travail pour eux. Heureusement, ils ont d'autres options.Réponses:
Utilisez l' AWS Application Load Balancer , qui effectue le routage basé sur le chemin . Ce deuxième lien est un tutoriel sur la façon de le faire.
En bref, vous configurez votre ALB normalement, puis suivez ces étapes (copiées à partir du didacticiel AWS):
la source
En plus de l'excellente réponse de Tim, vous pouvez également y parvenir avec CloudFront .
Commencez par créer votre distribution en ajoutant des origines pour les instances EC2 A et EC2 B (qui peuvent également être des équilibreurs de charge, des hôtes non AWS ou même des compartiments S3).
Ensuite, configurez les règles de comportement du cache pour mapper / a / * et / b / * aux origines appropriées.
La pertinence d'utiliser CloudFront à cette fin dépendra de votre application et du besoin d'un CDN.
la source
/a*
et/b*
être géré par différents services, différents comptes, les différentes régions, ou même un chemin manipulé par quelque chose en cours d' exécution à l' intérieur AWS et l'autre ailleurs. CloudFront a de nombreux cas d'utilisation qui ne nécessitent aucun concept de CDN.