Vorschläge für AWS-Setup erwünscht

Vorschläge für AWS-Setup erwünscht

Für mein nächstes Projekt probiere ich AWS und Serverless aus, bin mir aber nicht sicher, wie ich die verschiedenen AWS-Dienste bewerten soll. Ich hoffe also, dass jemand hier ein gutes Gespür dafür hat.

Das Projekt besteht derzeit aus drei verschiedenen Frontend-Anwendungen, die jeweils auf einer separaten Subdomäne gehostet werden:

  • Stammdomäne + [www]: Hauptwebseite, die hauptsächlich aus „Verkaufs“-Inhalten besteht
  • [administration]: Frontend-Anwendung für unsere Verwaltungssysteme
  • [Benutzer]: Frontend-Anwendung für unsere Benutzererfahrung

Dann gibt es vorerst eine Backend-Anwendung, die alle Frontend-Anwendungen bedient. Dieses Backend muss zumindest von den Subdomänen [administration] und [user] per Reverse-Proxy bereitgestellt werden (also als user.domain.com/service/backend). Mein Backend-Dienst läuft derzeit als Docker-Container und verwendet für einige Teile WebSockets, das muss also unterstützt werden.

Ich habe mir einige Optionen für meine Frontends angesehen, entweder AWS Amplify oder S3+Cloudfront. Ich bin mir jedoch nicht sicher, ob eine davon das ist, wonach ich suche.

Dasselbe gilt für mein Backend. Ich habe mir AWS Fargate, AWS API Gateway und möglicherweise AWS AppSync angesehen (da ein Großteil meines Backends eine GraphQL-Anwendung ist).

Aber ich bin irgendwie ratlos. Kann mir jemand einen Anstoß in die richtige Richtung geben? Hoffentlich habe ich genügend und klare Informationen gegeben, ansonsten erläutere ich sie gerne! :)

Danke!

Antwort1

Für alle, die es interessiert: Mein Setup ist ungefähr so, wie es hier beschrieben wird:https://aws.amazon.com/blogs/networking-and-content-delivery/dynamic-whole-site-delivery-with-amazon-cloudfront/

Dabei leite ich alles über Cloudfront weiter und leite den Datenverkehr dann mithilfe von „Verhalten“ an verschiedene Dienste weiter. Beispielsweise werden /service/user und /service/schedule an meine ALB-Instanz weitergeleitet, während alles andere an meinen S3-Bucket weitergeleitet wird, der als statische Webseite fungiert.

Mithilfe der Lambda@Edge-Magie kann ich die an meine ALB-Instanz weitergeleiteten Anfragen umschreiben, die dann die eingehenden Anfragen zuordnen und an die richtigen zugrunde liegenden Container weiterleiten kann (ich verwende derzeit Cluster in Fargate).

Das funktioniert für meinen Anwendungsfall sehr gut, auch wenn es vielleicht nicht die „Best Practice“ ist. Ich werde AWS also auf jeden Fall weiter erkunden und neue Dinge lernen. :)

Wenn es jemandem hilft, großartig. Wenn jemand zu dem oben Gesagten etwas beitragen kann, würde ich es gerne hören!

Prost!

verwandte Informationen