SUS02-BP01 Dynamisches Skalieren der Workload-Infrastruktur - AWS Well-Architected Framework

SUS02-BP01 Dynamisches Skalieren der Workload-Infrastruktur

Nutzen Sie die Elastizität der Cloud und skalieren Sie Ihre Infrastruktur dynamisch, um das Angebot an Cloud-Ressourcen an den Bedarf anzupassen und eine Überbereitstellung von Kapazitäten in Ihrer Workload zu vermeiden.

Typische Anti-Muster:

  • Sie skalieren Ihre Infrastruktur nicht mit der Benutzerlast.

  • Sie skalieren Ihre Infrastruktur immer manuell.

  • Sie behalten die erhöhte Kapazität nach dem Hochskalieren bei, anstatt sie wieder herunterzuskalieren.

Vorteile der Nutzung dieser bewährten Methode: Das Konfigurieren und Testen der Workload-Elastizität trägt dazu bei, das Angebot an Cloud-Ressourcen effizient an den Bedarf anzupassen und eine Überbereitstellung von Kapazitäten zu vermeiden. Sie können die Vorteile der Elastizität in der Cloud nutzen, um die Kapazität während und nach Bedarfsspitzen automatisch zu skalieren und so sicherzustellen, dass Sie nur die Menge an Ressourcen nutzen, die für die Erfüllung Ihrer Geschäftsanforderungen erforderlich ist.

Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: Mittel

Implementierungsleitfaden

Die Cloud bietet Ihnen die Flexibilität, Ressourcen dynamisch durch verschiedene Mechanismen zu erweitern oder zu reduzieren, um einem veränderten Bedarf gerecht zu werden. Eine optimale Abstimmung von Angebot und Bedarf führt zu den geringsten Auswirkungen auf die Umgebung für eine Workload.

Der Bedarf kann fest oder variabel sein und erfordert Metriken und Automatisierung, um sicherzustellen, dass die Verwaltung nicht zur Last wird. Anwendungen können vertikal (hoch oder herunter) und/oder horizontal (ab oder auf) skaliert werden. Bei der vertikalen Skalierung wird die Instance-Größe geändert, bei der horizontalen Skalierung die Anzahl von Instances.

Sie können verschiedene Ansätze nutzen, um das Angebot an Ressourcen auf den Bedarf abzustimmen.

  • Zielverfolgungsansatz: Überwachen Sie Ihre Skalierungsmetriken und erhöhen oder verringern Sie die Kapazität automatisch nach Bedarf.

  • Prädiktives Skalieren: Skalieren Sie auf der Grundlage erwarteter täglicher und wöchentlicher Trends.

  • Zeitplanbasierter Ansatz: Legen Sie einen eigenen Skalierungszeitplan auf der Grundlage vorhersehbarer Laständerungen fest.

  • Service-Skalierung: Wählen Sie Services (beispielsweise Serverless) aus, die nativ von Natur aus skalierbar sind oder Auto Scaling als Feature bieten.

Identifizieren Sie Zeiträume mit geringer oder gar keiner Nutzung und skalieren Sie Ressourcen, um überschüssige Kapazitäten zu entfernen und die Effizienz zu verbessern.

Implementierungsschritte

  • Elastizität ermöglicht die Anpassung der verfügbaren Ressourcen an den Bedarf. Instances, Container und Funktionen bieten Mechanismen für Elastizität, entweder in Kombination mit Auto Scaling oder als Feature des Service. AWS bietet eine Reihe von Mechanismen für Auto Scaling, um sicherzustellen, dass Workloads in Zeiten geringer Benutzerlast schnell und einfach herunterskaliert werden können. Hier sind einige Beispiele für Auto-Scaling-Mechanismen:

    Auto-Scaling-Mechanismus Verwendung

    Amazon EC2 Auto Scaling

    Verwenden Sie diesen Mechanismus, um zu überprüfen, ob die richtige Menge an Amazon-EC2-Instances zur Verfügung steht, um die Benutzerlast für Ihre Anwendung zu bewältigen.

    Application Auto Scaling

    Verwenden Sie diesen Mechanismus, um die Ressourcen für einzelne AWS-Services über Amazon EC2 hinaus automatisch zu skalieren – beispielsweise Lambda-Funktionen oder Amazon Elastic Container Service (Amazon ECS)-Services.

    Kubernetes Cluster Autoscaler

    Verwenden Sie diesen Mechanismus, um Kubernetes-Cluster in AWS automatisch zu skalieren.

  • Skalieren wird häufig im Zusammenhang mit Datenverarbeitungs-Services wie Amazon-EC2-Instances oder AWS Lambda-Funktionen behandelt. Ziehen Sie die Konfiguration von nicht Daten verarbeitenden Services wie Lese- und Schreibkapazitätseinheiten von Amazon DynamoDB oder Shards von Amazon Kinesis Data Streams in Betracht, um den Bedarf zu decken.

  • Vergewissern Sie sich, dass die Metriken zum Hoch- oder Herunterskalieren für die jeweilige Art der bereitgestellten Workload überprüft werden. Wenn Sie eine Anwendung zur Video-Transkodierung bereitstellen, wird eine CPU-Auslastung von 100 % erwartet, weshalb dies nicht die Hauptmetrik sein sollte. Sie können bei Bedarf eine benutzerdefinierte Metrik (etwa die Speicherauslastung) für Ihre Skalierungsrichtlinie verwenden. Beachten Sie bei der Wahl geeigneter Metriken die folgenden Hinweise für Amazon EC2:

    • Es muss sich um eine gültige Nutzungsmetrik handeln, die beschreibt, wie stark eine Instance genutzt wird.

    • Der Wert der Metrik muss sich proportional zur Anzahl der Instances in der Auto-Scaling-Gruppe erhöhen oder verringern.

  • Verwenden Sie für Ihre Auto-Scaling-Gruppe eine dynamische Skalierung anstelle einer manuellen Skalierung. Außerdem empfiehlt es sich, bei der dynamischen Skalierung Skalierungsrichtlinien zur Zielverfolgung zu verwenden.

  • Vergewissern Sie sich, dass Workload-Bereitstellungen sowohl Hoch- als auch Herunterskalierungsereignisse behandeln können. Erstellen Sie Testszenarien für Herunterskalierungsereignisse, um sich zu vergewissern, dass sich die Workload wie erwartet verhält und die Benutzererfahrung nicht beeinträchtigt wird (etwa durch den Verlust von Sticky Sessions). Sie können den Aktivitätsverlauf verwenden, um eine Skalierungsaktivität für eine Auto-Scaling-Gruppe zu überprüfen.

  • Überprüfen Sie Ihre Workload auf vorhersagbare Muster und skalieren Sie proaktiv, wenn Sie vorhergesagte und geplante Bedarfsänderungen erwarten. Mit der prädiktiven Skalierung können Sie die Notwendigkeit einer Überbereitstellung von Kapazitäten vermeiden. Weitere Einzelheiten finden Sie unter Prädiktive Skalierung mit Amazon EC2 Auto Scaling.

Ressourcen

Zugehörige Dokumente:

Zugehörige Videos:

Zugehörige Beispiele: