Ich habe mich gefragt, ob Folgendes mit AWS-Angeboten möglich ist.
https://www.example.com/a/
-> von Apache auf EC2-Instanz A bereitgestellt
https://www.example.com/b/
-> von Apache auf EC2-Instanz B bereitgestellt
Zur Verdeutlichung möchte ich nicht, dass sich Dateien unter einem Verzeichnispfad auf derselben Serverinstanz befinden wie Dateien unter dem anderen Verzeichnispfad.
Ich verstehe, dass dies mit einem Proxy möglich sein kann, aber es gibt eine einfachere Lösung mit einem der AWS-Angebote.
Der EC2 Load Balancer scheint keine Umschaltung basierend auf dem Verzeichnispfad zuzulassen. Route 53 funktioniert auf DNS-Ebene, die keine Pfadinformationen enthält, um darauf basierende IPs zurückzugeben.
amazon-web-services
apache2
Joseph Shih
quelle
quelle
Host:
Header liest und gefälschten Datenverkehr herausfiltert. Es ist unwahrscheinlich, dass sie Funktionen hinzufügen, nach denen Sie fragen, wenn das Betrachten von Headern zu viel Arbeit für sie ist. Zum Glück haben sie andere Möglichkeiten.Antworten:
Verwenden Sie den AWS Application Load Balancer , der das pfadbasierte Routing ausführt . Dieser zweite Link ist ein Tutorial, wie es geht.
Kurz gesagt, Sie richten Ihren ALB wie gewohnt ein und führen dann die folgenden Schritte aus (aus dem AWS-Lernprogramm kopiert):
quelle
Neben Tims hervorragender Antwort können Sie dies auch mit CloudFront erreichen .
Zuerst erstellen Sie Ihre Verteilung , das Hinzufügen Ursprünge für EC2 Instanz A und EC2 Instanz B (die auch Loadbalancer, nicht-AWS - Hosts sein könnte, oder sogar S3 Eimer).
Richten Sie dann die Verhaltensregeln für den Cache ein , um / a / * und / b / * den entsprechenden Ursprüngen zuzuordnen.
Ob es sinnvoll ist, CloudFront für diesen Zweck zu verwenden, hängt von Ihrer Anwendung ab und erfordert ein CDN.
quelle
/a*
und/b*
durch verschiedene Dienste, verschiedene Konten, verschiedene Regionen oder sogar einen Weg durch etwas in AWS und der anderen an anderer Stelle ausgeführt behandelt behandelt werden. CloudFront hat viele Anwendungsfälle, für die konzeptionell überhaupt kein CDN erforderlich ist.