Schlüsselkomponenten einer AWS Webhosting-Architektur
In den folgenden Abschnitten werden einige der wichtigsten Komponenten einer in der AWS Cloud bereitgestellten Webhosting-Architektur beschrieben und erläutert, wie sie sich von einer herkömmlichen Webhosting-Architektur unterscheiden.
Netzwerkmanagement
In der AWS Cloud ermöglicht die Möglichkeit, Ihr Netzwerk von dem anderer Kunden zu segmentieren, eine sicherere und skalierbarere Architektur. Während Sicherheitsgruppen Sicherheit auf Host-Ebene bieten (siehe Abschnitt Host Security), ermöglicht Amazon Virtual Private Cloud
Amazon VPC ist ein Service, mit dem Sie die volle Kontrolle über die Details Ihrer Netzwerkeinrichtung in AWS haben. Beispiele für diese Steuerung sind das Erstellen öffentlich zugänglicher Subnetze für Webserver und private Subnetze ohne Internetzugang für Ihre Datenbanken. Darüber hinaus ermöglicht Amazon VPC Ihnen, Hybridarchitekturen mithilfe von virtuellen privaten Hardware-Netzwerken (VPNs) zu erstellen und die AWS Cloud als Erweiterung Ihres eigenen Rechenzentrums zu verwenden.
Amazon VPC umfasst zusätzlich zur herkömmlichen IPv4-Unterstützung
Bereitstellung von Inhalten
Wenn Ihr Web-Datenverkehr geo-dispersiert ist, ist es nicht immer machbar und schon gar nicht kosteneffektiv, Ihre gesamte Infrastruktur über den gesamten Globus zu replizieren. Ein Content Delivery Network
Sie können CloudFront zur Bereitstellung Ihrer Website, einschließlich dynamischer, statischer und Streaming-Inhalte, mithilfe eines globalen Netzwerks von Edge-Standorten verwenden. CloudFront leitet Ihre Inhalte automatisch an den nächsten Edge-Standort weiter, sodass die Bereitstellung der Inhalte mit der bestmöglichen Leistung erfolgt. CloudFront ist für die Arbeit mit anderen AWS-Services wie Amazon S3
Wie bei anderen AWS-Services gibt es keine vertraglichen oder sonstigen monatlichen Verpflichtungen zur Nutzung von Amazon CloudFront – Sie zahlen nur für die Inhalte, die Sie auch tatsächlich bereitstellen.
Darüber hinaus sollten alle vorhandenen Lösungen für Edge-Caching in Ihrer Webanwendungsinfrastruktur in der AWS Cloud gut funktionieren.
Verwaltung des öffentlichen DNS
Das Verschieben einer Webanwendung in die AWS Cloud erfordert einige Änderungen des Domain Name System
Host-Sicherheit
Zusätzlich zur Filterung des eingehenden Netzwerkverkehrs am Edge empfiehlt AWS auch, dass Webanwendungen die Filterung des Netzwerkverkehrs auf Host-Ebene anwenden. Amazon EC2
Sie können jeder EC2-Instance eine oder mehrere Sicherheitsgruppen zuweisen. Jede Sicherheitsgruppe ermöglicht entsprechenden Datenverkehr zu jeder Instanz. Sicherheitsgruppen können so konfiguriert werden, dass nur bestimmte Subnetze, IP-Adressen und Ressourcen Zugriff auf eine EC2-Instance haben. Alternativ können sie auf andere Sicherheitsgruppen verweisen, um den Zugriff auf EC2-Instances zu beschränken, die sich in bestimmten Gruppen befinden.
In der AWS-Webhosting-Architektur in Abbildung 3 erlaubt die Sicherheitsgruppe für den Webservercluster möglicherweise nur den Zugriff von Web-Layer-Lastenverteilung und nur über TCP an den Ports 80 und 443 (HTTP und HTTPS). Die Sicherheitsgruppe des Anwendungsservers hingegen erlaubt möglicherweise nur den Zugriff von Lastenverteilung auf Anwendungsebene. Bei diesem Modell müssten Ihre Support-Techniker auch auf die EC2-Instances zugreifen, was mit AWS Systems Manager Session Manager erreicht werden kann. Eine eingehendere Diskussion zur Sicherheit finden Sie in AWS Cloud Security
Lastenverteilung über Cluster hinweg
Hardware-Lastenverteilungen sind gebräuchliche Netzwerkgeräte, die in herkömmlichen Webanwendungs-Architekturen zum Einsatz kommen. AWS stellt diese Funktion über den Elastic Load Balancing
Suchen anderer Hosts und Services
In der traditionellen Webhosting-Architektur haben die meisten Ihrer Hosts statische IP-Adressen. In der AWS Cloud haben die meisten Ihrer Hosts dynamische IP-Adressen. Obwohl jede EC2-Instance sowohl öffentliche als auch private DNS-Einträge haben kann und über das Internet adressierbar ist, werden die DNS-Einträge und die IP-Adressen dynamisch zugewiesen, wenn Sie die Instance starten. Sie können nicht manuell zugewiesen werden. Statische IP-Adressen (elastische IP-Adressen in der AWS-Terminologie) können laufenden Instances zugewiesen werden, nachdem sie gestartet wurden. Sie sollten Elastic IP-Adressen für Instanzen und Services verwendet werden, die konsistente Endpunkte erfordern, z.B. primäre Datenbanken, zentrale Dateiserver und EC2-gehostete Lastenverteilungen.
Caching innerhalb der Webanwendung
In-Memory-Anwendungscaches können die Belastung von Diensten reduzieren und die Leistung und Skalierbarkeit auf der Datenbankebene verbessern, indem häufig verwendete Informationen zwischengespeichert werden. Amazon ElastiCache