Sergey Nivens - stock.adobe.com
So reagieren Sie auf Empfehlungen des AWS Compute Optimizer
AWS Compute Optimizer verspricht Nutzern, das richtige Gleichgewicht zwischen Leistung, Verfügbarkeit und Kosten in der Cloud zu finden. Wir erklären, wie das funktioniert.
Leistung, Verfügbarkeit und Kosten sind drei wesentliche Faktoren, die Sie beim Entwickeln und Betreiben von Anwendungen in der Cloud berücksichtigen müssen. Die Art und Weise, wie Sie die Prioritäten setzen, hat erhebliche Auswirkungen auf die Anforderungen Ihres Unternehmens, der Anwendung und der Benutzererfahrung. Das richtige Gleichgewicht zwischen diesen Faktoren zu finden, ist ein anspruchsvoller, aber wichtiger Prozess.
AWS Compute Optimizer hilft Ihnen, die richtige Prioritäten zu setzen und Anwendungen zu betreiben, die das richtige Benutzererlebnis zu den richtigen Kosten bieten. Er überwacht die Amazon CloudWatch-Metriken und liefert Ergebnisse, die auf künstlicher Intelligenz und maschinellem Lernen basieren. Im Fokus stehen dabei vor allem die Kosten und das Vermeiden einer Über- oder Unterbelegung von Cloud-Ressourcen. Seit Ende 2022 unterstützt der Service die folgenden AWS-Komponenten:
- Amazon Elastic Compute Cloud-Instanzen (EC2)
- Amazon Elastic Block Store Volumes (EBS)
- AWS Lambda-Funktionen
Erfahren Sie, wie Sie das Tool aktivieren und was Sie beim Interpretieren der Empfehlungen aus dem Dienst beachten sollten.
Aktivieren von AWS Compute Optimizer
Um diesen Service zu aktivieren, starten Sie in der AWS Compute Optimizer-Konsole. Klicken Sie auf die Schaltfläche Erste Schritte.
Auf der nächsten Seite lesen Sie, dass der Service mindestens 14 Tage CloudWatch-Metriken benötigt, um zu arbeiten und dass Sie eine mit dem IAM-Service verknüpfte Rolle erstellen. Klicken Sie zur Bestätigung auf Opt-in.
Sobald Sie den Dienst aktiviert haben, sammelt er automatisch relevante Metriken für alle unterstützten Dienste. Zum Zeitpunkt der Veröffentlichung gibt es jedoch keine Möglichkeit, bestimmte Ressourcen für die Überwachung zu konfigurieren oder Ressourcen anhand von Tags oder AWS-Ressourcengruppen auszuwählen.
Eine Funktion namens Erweiterte Infrastrukturmetriken gilt für EC2-Instanzen. Sie kostet etwa 0,25 US-Dollar pro Monat – stündlich abgerechnet – pro analysierter EC2-Instanz. Diese Funktion ermöglicht die Analyse von EC2-Metriken, die bis zu drei Monate in die Vergangenheit zurückreichen, was die Genauigkeit der Empfehlungen und Ergebnisse von Compute Optimizer verbessert. Die Standardoption des Tools verursacht jedoch keine zusätzlichen Kosten.
Bei der Analyse von Optimierungen für jeden unterstützten AWS-Service sind einige wichtige Faktoren zu beachten.
EC2-Instanzen
EC2 bietet eine breite Palette von EC2-Instanzfamilien – wie m5, m6, r5 und t3 – in verschiedenen Größen. Diese Auswahl macht es schwierig, die optimale EC2-Instanz für eine bestimmte Arbeitslast zu finden.
Compute Optimizer analysiert Metriken in Bezug auf die CPU-, Netzwerk- und Festplattenauslastung sowie den Speicher, wofür Sie den CloudWatch Agent in der EC2-Instanz installieren müssen. Der Dienst identifiziert auf der Grundlage dieser Metriken unter- oder überforderte EC2-Instanzen. Er kennzeichnet auch Instanzen, die als optimiert gelten, und zeigt Optionen für verschiedene EC2-Instanztypen sowie die Unterschiede in Bezug auf Preis, Leistung, Migrationsrisiken, vCPUs, Speicher, Storage und Netzwerk an.
Abbildung 1 zeigt beispielsweise die Optionen, die für eine t2.nano EC2-Instanz berechnet wurden.
Der Service zeigt die erwarteten CPU- und Speichernutzungsmetriken für jede ausgewählte Option an und berechnet eine Prognose für die aktuellen Metriken. In den meisten Fällen zeigt der Dienst auch AWS Graviton-basierte Instanzen als Option an. Ähnliche Empfehlungen für EC2 Auto Scaling Groups werden im Konto konfiguriert.
EBS-Volumes
EBS bietet vier Volume-Typen. Sie unterscheiden sich in den Leistungsmerkmalen und im Preis, so dass Sie die Speicherleistung und die Kosten auf die Anforderungen Ihrer Anwendungen abstimmen können:
- Bereitgestellte IOPS SSDs (io1 und io2). Unterstützt durch Solid-State-Laufwerke (SSDs), bietet sie eine hohe Leistung und sind am besten für latenzempfindliche Transaktionsarbeitslasten geeignet
- Allzweck-SSDs (gp2 und gp3). Unterstützt durch SSDs, bieten sie eine hohe Leistung und funktionieren gut mit einer breiten Palette von Transaktionsarbeitslasten, die am besten für latenzempfindliche Transaktionsarbeitslasten, Entwicklungs-/Testumgebungen und mehr geeignet sind.
- Optimierte HDDs (st1). Unterstützt von Festplattenlaufwerken (HDDs) eignen sie sich am besten für durchsatzintensive Workloads, auf die Sie häufig zugreifen.
- Kalte HDDs (sc1). Mit HDDs gesichert, sind diese Instanzen ideal für Arbeitslasten, die Sie weniger häufig benötigen.
Die Wahl des richtigen EBS-Volumes hängt von den spezifischen Anforderungen der jeweiligen Anwendung an Datenspeicher, Durchsatz, Verfügbarkeit und Operationen pro Sekunde ab. Die Kosten für ein EBS-Volume können je nach gewähltem Volume-Typ und bereitgestellter Kapazität leicht um das Zwei- bis Dreifache variieren. Die falsche Option wird die Kosten unnötig in die Höhe treiben.
Der Dienst analysiert die folgenden Metriken:
- Liefert Informationen über die Lesevorgänge während eines ausgewählten Zeitraums.
- Liefert Informationen über die Schreibvorgänge in einem ausgewählten Zeitraum.
- Die Anzahl der Lesevorgänge in einem ausgewählten Zeitraum.
- Die Anzahl der Schreibvorgänge während eines ausgewählten Zeitraums.
Er prüft jedoch nicht die genutzte Speichermenge in jedem Volume, die als disk_used_percent bezeichnet wird und eine vom CloudWatch-Agenten veröffentlichte Metrik ist. Abbildung 2 zeigt die Optionen, die Sie für ein gp2 EBS-Volume sehen würden. Für jede Variante berechnet das Tool einen zu erwartenden Preis.
Lambda-Funktionen
Die wichtigsten Variablen, die bei der Bereitstellung von Lambda-Funktionen zu konfigurieren sind, sind die Lambda-Architektur (x86 oder Arm), der Speicher, der ephemere Speicher und die bereitgestellte Gleichzeitigkeit. Diese Variablen wirken sich auf Leistung, Verfügbarkeit und Kosten aus.
Finden Sie ein Gleichgewicht zwischen Speicherzuweisung, Ausführungszeit und Kosten, das je nach den Anforderungen Ihrer Anwendung variiert. In einigen Fällen verkürzt ein größerer Speicher die Ausführungszeit so weit, dass die Kosten kompensiert oder sogar reduziert werden. Es gibt jedoch viele Fälle, in denen zu viel bereitgestellter Speicher zu unnötigen Ausgaben und keinem nennenswerten Leistungsvorteil führen kann.
Compute Optimizer analysiert die folgenden Lambda-Metriken:
- Die Menge des Datenverkehrs.
- Die pro Aufruf benötigte Zeit.
- Fehler der Funktion.
- Abgelehnte Anfragen.
Auch hier sehen Sie die voraussichtlichen Kosten verschiedener Konfigurationen. Die in der Konsole angezeigte Liste der Empfehlungen enthält eine Reihe von Speicherkonfigurationen und deren jeweiligen Preis. Zum Zeitpunkt der Veröffentlichung bietet der Dienst keine Analyse für bereitgestellte Gleichzeitigkeit. Mit dieser Einstellung werden Lambda-Kaltstartverzögerungen vermieden. Abbildung 3 zeigt ein Beispiel für die Empfehlungen für eine Lambda-Funktion.
Der Dienst unterstützt auch den Export der Ergebnisse als Textdateien in Amazon S3 zur weiteren Analyse. Dies ist bei großen Konten oder Organisationen nützlich, um benutzerdefinierte Berichte zu erstellen oder wenn Sie eine detailliertere Analyse der Ergebnisse benötigen. Die AWS Cost Explorer-Empfehlungen für die Ressourcenanpassung basieren auf derselben Engine wie AWS Compute Optimizer.