AWS Germany – Amazon Web Services in Deutschland

Optimieren Ihrer AWS-Infrastruktur für Nachhaltigkeit, Teil III: Netzwerk

von Katja Philipp, Aleena Yunus, Otis Antoniou, Ceren Tahtasiz; übersetzt durch Lars Reimann

In den vorangegangen Teilen dieser Blog-Serie, Teil I: Datenverarbeitung und Teil II: Speicher, haben wir Ihnen Strategien vorgestellt, um die Datenverarbeitungsschicht und die Speicherschicht Ihrer AWS-Architektur auf Nachhaltigkeit zu optimieren. In diesem Teil liegt der Fokus auf der Optimierung der Netzwerkschicht Ihrer AWS-Infrastruktur, mit entsprechenden Empfehlungen, wie die Netzwerkauslastung optimiert werden kann.

Optimieren der Netzwerkschicht Ihrer AWS-Infrastruktur

Je mehr Kunden Ihre Applikationen nutzen und diese entsprechend skaliert, erhöht sich auch die Anzahl der Pakete innerhalb des Netzwerks. Wenn die Größe Ihrer Daten wächst und Netzwerkpakete weitere Strecken zurücklegen müssen, verbraucht die Übertragung mehr Ressourcen als zuvor. Eine Optimierung des Netzwerkverkehrs kann sicherstellen, dass der Verbrauch von Netzwerkressourcen bei einer wachsenden Zahl von Anwendern nicht linear ansteigt.

Die Empfehlungen in den folgenden Abschnitten sollen Ihnen helfen, die Ressourcen für die Netzwerkschicht Ihres Workloads effizienter zu nutzen.

Ungenutzte Ressourcen reduzieren und Auslastungen maximieren

Die folgenden zwei Methoden tragen dazu bei Datenübertragungen insgesamt effizienter zu gestalten. Zum einen sollte die Menge an Daten, welche über das Netzwerk geschickt werden, möglichst minimiert werden. Zum anderen sollten die Entfernungen reduziert werden, über die Netzwerkdatenverkehr übertragen werden muss.

Die folgende Tabelle enthält Metriken, die dabei helfen, potenzielle Möglichkeiten zur Netzwerkoptimierung zu finden.

AWS Service Metrik/Check Quelle
Amazon CloudFront Cache-Trefferrate Anzeigen von CloudFront- und Edge-Funktionsmetriken
AWS Trusted AdvisorReferenz
Amazon Simple Storage Service (Amazon S3) BytesDownloaded,
BytesUploaded
Metriken und Dimensionen
AWS Trusted AdvisorReferenz
Amazon Elastic Compute Cloud (Amazon EC2) NetworkPacketsIn,
NetworkPacketsOut
Auflisten der für Ihre Instances verfügbaren CloudWatch-Metriken
AWS Trusted Advisor CloudFront Optimierung der Bereitstellung von Inhalten AWS Trusted AdvisorReferenz

Des Weiteren empfehlen wir die folgenden Konzepte zur Optimierung Ihrer Netzwerkauslastung.

Lokal lesen, global schreiben

Die folgenden Strategien ermöglichen es Ihnen die Daten von Quellen zu lesen, die nahe bei Ihren Benutzern liegen, sodass die Daten weniger lange Strecken zurücklegen müssen.

  • Wenn Sie in einer einzigen AWS Region tätig sind, sollten Sie eine Region wählen, in der sich die Mehrheit Ihrer Benutzer befindet. Je weiter Ihre Benutzer von der Region entfernt sind, umso mehr Daten müssen durch das globale Netzwerk übertragen werden.
  • Wenn Ihre Benutzer auf mehrere Regionen verteilt sind, richten Sie mehrere Kopien der Daten in jeder Region ein. Die hierbei nötigen Kompromisse zwischen Konsistenz, Verfügbarkeit und Partitionstoleranz wird im Blogartikel „Creating a Multi-Region Application with AWS Services – Part 2, Data and Replication“ beschrieben.
  • Mit Amazon Relational Database Service (Amazon RDS) und Amazon Aurora können Sie regionsübergreifende Read Replicas einrichten. Die globalen Tabellen von Amazon DynamoDB sind performant und reduzieren die Netzwerklast.

Nutzung eines Content Delivery Networks

Ein Content Delivery Networks (CDN) bringt Ihre Daten näher an den Endnutzer. Bei einer Anfrage stellen sie statische Inhalte vom ursprünglichen Server in einen regionalen Zwischenspeicher (Cache) und liefern diese an den Nutzer aus. Dadurch verkürzt sich die Strecke, die jedes Paket zurücklegen muss.

  • CloudFront optimiert die Netzwerknutzung und stellt Daten über das global verteilte Edge-Netzwerk von CloudFront bereit. Abbildung 1 vergleicht einen globalen direkten Zugriff auf einen S3-Bucket mit einem Zugriff mittels zwischengespeicherten Daten von Edge-Standorten.
  • Trusted Advisor enthält einen Check, welcher empfiehlt, ob Sie ein CDN für Ihre S3-Buckets verwenden sollten. Es analysiert die aus Ihrem S3-Bucket übertragenen Daten und hebt die Buckets hervor, die von einer CloudFront-Distribution profitieren könnten.
CloudFront Distribution/Edge-Netzwerk

Abbildung 1: Vergleich zwischen direktem S3 Bucketzugriff und via CloudFront Distribution/Edge-Netzwerk

CloudFront Cache-Trefferrate optimieren

Cloudfront legt unterschiedliche Versionen eines Objektes, basierend auf den Anfrage-Headern (wie z.B. Spracheinstellungen, Datum oder Benutzer-Agent), im Zwischenspeicher (Cache) ab. Die Cache-Trefferrate beschreibt das Verhältnis zwischen der Anzahl der Abrufe, welche vom Content Delivery Netzwerk beantwortet werden können gegenüber der Anzahl der abgerufenen Objekte vom Ursprungsserver. Sie können die Cache-Trefferrate mit Hilfe des Trusted Advisors optimieren. Dieser überprüft ob bestimmte Anfrage-Header zu einem geänderten Objekt führen können. Wenn sich das Objekt durch einen Anfrage-Header nicht verändert, empfiehlt Trusted Advisor diesen Header zu ignorieren und die Anfrage nicht an den Ursprungsserver weiterzuleiten.

Edge-Computing Dienste verwenden

Edge-Computing bringt die Datenhaltung und Datenverarbeitungsschicht näher an Endanwender heran. Durch die Implementierung dieses Ansatzes können Sie Daten vorverarbeiten oder Algorithmen für maschinelles Lernen mittels Edge-Computing ausführen.

  • Wenn Edge-Computing Dienste direkt auf Endbenutzergeräten genutzt werden oder auf Netzwerk-Gateways verwendet werden, sinkt allgemein der Datenverkehr da die Daten nicht bis zum Server in der Cloud übertragen werden müssen.
  • Einmalaufgaben mit geringer Latenz sind ein gutes Beispiel für den Einsatz von Edge-Computing. Beispielsweise, wenn ein Fahrzeug beim autonomen Fahren Objekte im Nahbereich erkennen muss. Generell sollten Daten auf die mehrere Akteure zugreifen müssen, in der Cloud gespeichert werden. Jedoch sollten Faktoren wie Gerätehardware und Datenschutzbestimmungen vorrangig berücksichtigt werden.
  • Mittels CloudFront Functions kann die Datenverarbeitung an Edge-Computing Standorten ausgeführt werden und Lambda@Edge kann regionale Zwischenspeicher (sog. Edge-Caches) erstellen. AWS IoT Greengrass bietet Edge-Computing für Geräte des Internet of Things (IoT, dt. Internet der Dinge).

Übertragene Daten minimieren

Ausliefern von komprimierten Daten

Neben der Zwischenspeicherung statischer Elemente können Sie die Netzwerknutzung weiter optimieren, indem Sie Ihren Benutzern komprimierte Dateien bereitstellen. Sie können CloudFront so konfigurieren, dass Objekte automatisch komprimiert werden, was zu schnelleren Downloads und damit zu einer schnelleren Darstellung von Webseiten führt.

Leistungssteigerung der Amazon EC2 Netzwerkperformance

Netzwerkpakete bestehen aus den zu sendenden Daten (Frame) und einem Overhead für die Verarbeitung. Wenn Sie größere Pakete verwenden, können Sie mehr Daten in einem einzigen Paket übertragen und den Verarbeitungs-Overhead verringern.

Jumbo-Frames verwenden das größte zulässige Paket, welches über eine Verbindung übertragen werden kann. Außerhalb einer einzelnen Virtual Private Cloud (VPC), über ein virtuelles privates Netzwerk (VPN) oder über ein Internet-Gateway ist der Datenverkehr auf eine niedrigere Paketgröße beschränkt. Dies gilt generell unabhängig von der Verwendung von Jumbo-Frames.

Optimieren von APIs

Wenn die Nutzdaten Ihrer APIs verhältnismäßig groß sind, können Sie die Nachrichten Ihrer REST API komprimieren um den Netzwerkdatenverkehr zu reduzieren. Weiterhin gibt es verschiedene Arten von Endpunkten, die pro Anwendungsfall evaluiert werden können. Edge-optimierte API Endpunkte eignen sich für geographisch verteilte Anfragen. Regionale API Endpunkte eignen sich dagegen für eine geringere Anzahl an Clients, welche höhere Anforderungen an einzelne Verbindungen haben, da Verbindungsoverhead reduziert wird. Eine Zwischenspeicherung der Antworten von API-Anfragen hilft generell Netzwerkverkehr zu reduzieren und die Reaktionszeiten von Anwendungen zu verbessern.

Fazit

Wenn die Cloud-Nutzung in Ihrem Unternehmen steigt, ist es für die Optimierung Ihrer AWS-Infrastruktur im Hinblick auf ökologische Nachhaltigkeit entscheidend zu wissen, wie effizient Ihre Ressourcen genutzt werden. Die geringstmögliche Anzahl von Ressourcen und deren optimale Nutzung haben die geringste Belastung auf die Umwelt.

In dieser vierteiligen Blogpost-Serie stellen wir Ihnen die folgenden Architekturkonzepte und Metriken für die Rechen-, Speicher- und Netzwerkebene, sowie die Datenbankschicht Ihrer AWS-Infrastruktur vor.

  • Verringerung der ungenutzten Ressourcen und Maximierung ihrer Nutzung
  • Anpassung der Nachfrage an das bestehende Angebot
  • Verwaltung des Lebenszyklus Ihrer Daten
  • Verwendung verschiedener Speicherklassen
  • Optimierung der Transportwege von Daten durch ein Netzwerk
  • Verringerung des Umfangs der übertragenen Daten
  • Verwendung von verwalteten Diensten und automatisierten Backups
  • Verwendung von Serverless-Technologien

Diese Liste ist nicht erschöpfend. Wir hoffen, dass sie ein Ausgangspunkt für Sie darstellt, um die Umweltauswirkungen Ihrer Ressourcen zu berücksichtigen und Ihre AWS-Infrastruktur effizienter und nachhaltiger gestalten zu können. Abbildung 2 zeigt einen Überblick darüber, wie Sie die entsprechenden Metriken mit CloudWatch und Trusted Advisor überwachen können.

CloudWatch und Trusted Advisor

Abbildung 2: Überblick über die Dienste die mit CloudWatch und Trusted Advisor zur Überwachung von Metriken integriert sind

Sind Sie bereit für die ersten Schritte? Besuchen Sie die AWS-Nachhaltigkeitsseite, um mehr über unser Engagement für Nachhaltigkeit zu erfahren. Sie enthält Informationen über die Nutzung erneuerbarer Energien, Fallstudien zur Nachhaltigkeit in der Cloud und vieles mehr.

Mehr erfahren

Blogartikel aus dieser Serie

Verwandte Informationen