ra2 studio - stock.adobe.com
AWS: Tipps und Tools für mehr Netzwerk-Performance
Die AWS-Netzwerk-Performance hängt vom richtigen Mix aus Tools und Strategie ab. Daher sollten Sie sich rechtzeitig mit Konfigurationen und Sicherheitsmaßnahmen vertraut machen.
Eine schlechte Netzwerk-Performance kann zu allen möglichen Problemen für eine Unternehmensanwendung führen, etwa unerwünschte Latenz oder sogar Nichterreichbarkeit. Wenn die Netzwerk-Performance lahmt, kann das auch die Endbenutzererfahrung beeinträchtigen, die Verpflichtungen von Enterprise-SLAs (Service Level Agreements) gegenüber den Stakeholdern verletzen und überdies Umsatzeinbußen für das Unternehmen bedeuten.
Durch Public Clouds, zum Beispiel Amazon Web Services (AWS), werden die Herausforderungen nicht geringer. Anwendungen innerhalb einer Public Cloud sind davon abhängig, dass der Provider das Netzwerk und dessen Zugriff auf das Internet verwaltet, wartet und unterstützt. Aber auch Unternehmensbesitzer sind verpflichtet, eine starke Netzwerk-Performance zum Wohle des Betriebs, der Kunden und Endnutzer sicherzustellen. Aus diesem Grund ist es wichtiger denn je, in geeignete Tools und Best Practices zu investieren, um die Netzwerk-Performance der Amazon Web Services zu überwachen.
AWS: Monitoring-Tools
Um die Netzwerk-Performance von AWS zu überwachen, kann ein Unternehmen verschiedene native Services des Cloud-Providers einsetzen, darunter folgende:
AWS CloudTrail. Dieses Logging-Tool kann jede Aktivität über AWS-Ressourcen und -Services hinweg beobachten, aufzeichnen und berichten. Mit CloudTrail lassen sich alle Aktionen erkennen, die über die AWS Management Console und AWS-SDKs (Software Development Kits) durchgeführt wurden. Viele IT-Teams verwenden CloudTrail, um Ressourcenänderungen zu verfolgen, die Sicherheit zu analysieren und potenzielle Probleme zu beheben. Dadurch kann ein Admin sehen, ob sich Netzwerkelemente geändert haben, und gegebenenfalls Abweichungen beseitigen.
Amazon CloudWatch. Der Monitoring-Service von AWS kann Metriken erfassen, Log-Dateien sammeln, Alarme festlegen, und automatisch auf Änderungen der Infrastruktur reagieren. Admins können CloudWatch für das Monitoring der Netzwerk-Performance und des Anwendungsstatus sowie zur Kapazitätsplanung und zum Troubleshooting nutzen. CloudTrail interagiert mit CloudWatch und ist in der Lage, Daten der API-Historie an Logs von CloudWatch zu übergeben.
AWS CloudFormation. Dieser Service bietet einen automatisierten, vorlagenbasierten Deployment-Mechanismus für AWS-Ressourcen. Ein IT-Team kann die gewünschte Infrastruktur modellieren. Anschließend stellt CloudFormation alle erforderlichen Ressourcen und Services sicher zur Verfügung. CloudTrail kann eine geeignete Vorlage für CloudFormation bereitstellen, das daraus automatisch CloudWatch-Alarme für netzwerkbasierte API-Aufrufe erstellen kann. Obwohl Sie CloudFormation nicht für das Netzwerk-Management benötigen, erleichtert es die Erstellung von Metriken und Alarmen, um das Monitoring zu vereinfachen.
AWS Config. Änderungen sind ein wichtiges und gern übersehenes Problem bei der Netzwerk-Performance. AWS Config kann Konfigurationen von AWS-Ressourcen entdecken, bewerten, Beziehungen zwischen ihnen finden und ihre Konfigurationen identifizieren. Mit AWS Config kann ein Admin die möglichen Auswirkungen von Änderungen vor deren Durchführung erkennen und Konfigurationen zu einem bestimmten Zeitpunkt erfassen. Config kann Berichte und Alarme immer dann senden, wenn sich eine Konfiguration ändert. Darüber hinaus kann AWS Config Rules Änderungen erkennen und Unterschiede mit der gewünschten Konfiguration vergleichen. Stellen Sie Config und Config Rules bereit, um im Falle von unerwarteten oder unerwünschten Netzwerkänderungen das Netzwerkrisiko und die Netzwerk-Compliance zu bewerten oder um ein Troubleshooting durchzuführen.
Tools von Drittanbietern. Public-Cloud-Provider erkennen den Nutzen von Transparenz für ihre Infrastrukturen. Die Amazon Web Services bieten nutzerseitige APIs, was die Verbreitung von Drittanbieter-Tools gefördert hat, die das Monitoring des Netzwerk-Traffics und der Netzwerk-Performance unterstützen. Im AWS Marketplace gibt es viele Netzwerk-Tools von Fremdherstellern, zum Beispiel Dynatrace und die Gigamon Visibility Platform.
Best Practices für das Netzwerk-Monitoring
Monitoring klingt zunächst simpel: Sie installieren einfach Tools, konfigurieren sie, erfassen Daten, richten Alarme ein und lassen sich über die Ergebnisse in Berichten informieren. Doch in Wahrheit kann es schwierig sein, das Verhalten der Infrastruktur zu überwachen – sogar wenn ein Public-Cloud-Provider Tools für diese Aufgabe bereitstellt.
Ehe Sie versuchen, die AWS-Netzwerk-Performance zu überwachen, berücksichtigen Sie die folgenden Strategien, um Ihre Ergebnisse zu verbessern:
Metriken identifizieren. Das Monitoring-Tool Ihrer Wahl kann eine Vielzahl von standardisierten und individuellen Metriken einbeziehen. Erfassen und überwachen Sie nicht alle von ihnen, denn dies führt in der Regel zu einer Fülle ungenutzter Daten und unnötigen Kosten für Storage und Datenanalysen.
Bei der Entscheidung, welche Metriken Sie verfolgen sollten, fragen Sie sich Folgendes: Was wollen Sie genau über Ihr Netzwerk wissen, oder welche Fragen versuchen Sie zu beantworten?
Nehmen wir zum Beispiel an, ein Unternehmen will seinen AWS-Workload vor DoS-Angriffen (Denial of Service) schützen. In diesem Fall beobachtet es möglicherweise eine Metrik wie eine ungewöhnlich große Zahl an Verbindungsanfragen. Legen Sie fest, welche Netzwerkattribute Sie überwachen wollen. Dann wählen Sie eine Kombination von Tools, die Ihnen helfen, diese Ziele zu erreichen. Davon ausgehend können Sie die passenden Metriken und Alarme konfigurieren.
Reaktionen planen. Monitoring-Tools können nicht nur dazu beitragen, dass Ihr Unternehmen seine Ziele in puncto Service Level Agreements, Compliance und Benutzererfahrung erfüllt, sondern auch nützlich sein, wenn Probleme auftreten. Diese Tools decken Netzwerkprobleme auf und helfen, einen klaren Plan zu entwickeln, um sie zu lösen. Erstellen Sie Basiswerte für wichtige Metriken, die Sie verfolgen wollen, und aktualisieren Sie diese regelmäßig.
Beispielsweise könnte Amazon CloudWatch für jede Instanz netzwerkbezogene Metriken überwachen, etwa NetworkIn, NetworkOut, NetworkPacketsIn und NetworkPacketsOut. Relevante Metriken und Alarme können ein Hinweis auf wichtige Netzwerkprobleme sein, aber es ist wesentlich, einen Plan zu erstellen, um diese Probleme in geeigneter Weise zu beseitigen, bevor es zu gravierenden Auswirkungen kommt.
Sicherheit erzwingen. Nur berechtigte User sollten AWS-Netzwerkressourcen bereitstellen oder ändern dürfen – insbesondere Produktions-Workloads. Implementieren Sie Kontrollen im AWS Identity and Access Management (IAM), um den Zugriff auf Netzwerkressourcen zu begrenzen und die für Änderungen verantwortliche Person zu identifizieren.
Andere Möglichkeiten, die AWS-Netzwerk-Performance zu steigern
Es kann sein, dass Netzwerk-Monitoring nicht ausreicht. Architekten von Cloud-Anwendungen müssen einige der verfügbaren Optionen verstehen, um die Workload Performance zu steigern.
Eine Option besteht zum Beispiel darin, Instanzen hinzuzufügen, damit die App schneller arbeitet. Außer den Instanzen müssen Sie im Allgemeinen auch mehr Netzwerkressourcen ergänzen, um Workloads mit dem Internet und anderen Services zu verbinden. Nutzen Sie AWS Load Balancer, um den Netzwerk-Traffic auf eine größere Zahl von Computing- und Storage-Instanzen zu verteilen.
Für Hybrid-Cloud-Umgebungen können Sie eine Verbindung zwischen den Amazon Web Services und dem lokalen Data Center reservieren, um die Netzwerk-Performance zu erhöhen. Zum Beispiel bietet AWS Direct Connect eine dedizierte Telekommunikationsverbindung vom Data Center zu einer AWS-Einrichtung, wodurch sich durch Flaschenhälse verursachte Probleme beseitigen lassen, die die Kommunikation über das öffentliche Internet stark beeinträchtigen können.
Services definieren. Konfigurationen beeinflussen die Netzwerk-Performance von AWS maßgeblich. In vielen Fällen wird eine Organisation eine oder mehrere bevorzugte Netzwerkkonfigurationen festlegen, die, gemäß ihren Standards, eine ausreichende Performance liefert. Sie können einen definierten Servicekatalog erstellen und anpassen, um nur die AWS-Netzwerkkonfigurationen zuzulassen, die für eine bestimmte App oder Klasse von Apps eine starke Performance zuverlässig garantieren. Dieser Ansatz stellt vielleicht keine adäquate Netzwerk-Performance für alle Workloads und Bedingungen sicher, bietet aber einen bewährten Ausgangspunkt und eliminiert viele der Fehler und Nachlässigkeiten, unter denen ein Netzwerk-Deployment leiden kann.
Änderungen aufspüren. Ungeplante oder übermäßige Änderungen an Ressourcen oder Konfigurationen können die AWS-Netzwerk-Performance negativ beeinflussen. Tools wie CloudTrail und Config Rules sind in der Lage, Konfigurationsänderungen an AWS-Ressourcen zu erkennen und zu berichten. Ein promptes Reporting sorgt für eine prompte Behebung.
Außerdem sollten Organisationen Richtlinien und Maßnahmen in Betracht ziehen, um ungeplantem oder nicht autorisiertem Ressourcenzugriff in Produktions-Workloads zu begegnen.
Metriken individuell anpassen. Obwohl CloudWatch benutzerdefinierte Metriken unterstützt, können Sie mit einem Tool wie Elastic Beanstalk ebenfalls Skripte für angepasste Metriken erstellen. Oder Sie ändern, um vorhandene Metriken zu optimieren, Merkmale wie Auflösung, Dimensionen und die Art des Daten-Reportings. Es mag zwar nicht unbedingt notwendig sein, Metriken anzupassen, doch auf diese Weise können Sie einen detaillierteren und nuancierteren Blick auf die Workload Performance erhalten.
Alarme aktualisieren. Anwendungs-Workloads bleiben über einen längeren Zeitraum kaum statisch. Beispielsweise kann eine Benutzerbasis im Laufe der Zeit wachsen oder schrumpfen, Software-Updates können die Performance optimieren. Wenn sich diese Faktoren ändern, betrifft dies ebenso die Menge der Ressourcen, die erforderlich sind, um den Workload zu unterstützen. Infolgedessen sind die aktuellen normalen Bedingungen womöglich schon morgen nicht mehr normal.
Wenn sich die Netzwerkressourcen ändern, prüfen und aktualisieren Sie regelmäßig die Performance-Basiswerte und Alarme. Falls etwa die Alarme für NetworkPacketsIn oder NetworkPacketsOut unverändert bleiben, kann es dazu führen, dass Admins mehr ungültige oder unnötige Alarme erhalten.
Architektur evaluieren. Wie Sie einen Workload auf den Amazon Web Services bereitstellen, hat ebenfalls Auswirkungen auf die Netzwerk-Performance. Achten Sie darauf, die Workload-Architektur zu überprüfen, und planen Sie Änderungen ein, um die Performance zu optimieren. Zum Beispiel könnten Sie Instanzen von einer Verfügbarkeitszone (Availability Zone, AZ) mit einer größeren Latenz in eine AZ mit einer geringeren Latenz verschieben, was die Netzwerk-Performance dramatisch beeinflussen würde. Auf ähnliche Weise könnten neue Services – und Services, die in neuen AZs verfügbar werden – Möglichkeiten eröffnen, um einen Workload in der Zukunft zu optimieren.
Folgen Sie SearchNetworking.de auch auf Twitter, Google+, Xing und Facebook!