View a markdown version of this page

Validierung von Abhängigkeiten - AWS Resilience Hub

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Validierung von Abhängigkeiten

Der Test zur Überprüfung von Abhängigkeiten blockiert Abhängigkeiten innerhalb der Region, um zu sehen, wie sich Ihr Service verhält, wenn sie nicht verfügbar sind. Er kann Ihnen dabei helfen, zu überprüfen, ob Ihr Service einwandfrei funktioniert, wenn weiche Abhängigkeiten beeinträchtigt werden und Abhängigkeiten an der Oberfläche auftreten, von denen Sie vielleicht nicht gewusst haben, dass sie schwierig sind. Sie können auch bekannte harte Abhängigkeiten einbeziehen, um deren Auswirkungen zu verstehen.

Was macht diesen Test einzigartig
  • Konzentriert sich auf regionsinterne Abhängigkeitsfehler.

  • Sie wählen aus, auf welche Abhängigkeiten Sie abzielen möchten.

  • Wenn Sie die Abhängigkeitserkennung in der nächsten Generation von Resilience Hub aktiviert haben, können Sie aus den erkannten Abhängigkeiten auswählen. Wenn nicht, können Sie DNS-Endpunkte manuell eingeben.

Wie besteht man diesen Test
  • Dies ist ein anhaltender Test. Der Test ist erfolgreich, wenn alle Erfolgsalarme so lange bestehen bleiben, bis die Testaktionen beendet sind. OK Verwenden Sie dies, um zu überprüfen, ob es sich bei weichen Abhängigkeiten um wirklich weiche Abhängigkeiten handelt. Wenn Ihre Alarme nicht eingehalten werden, kann die Abhängigkeit tatsächlich schwierig sein.

Dinge, über die man nachdenken sollte
  • Beginne mit einer einzigen weichen Abhängigkeit und baue sie auf — validiere eine nach der anderen, bevor du viele blockierst.

  • Wenn Sie eine starke Abhängigkeit mit einbeziehen, müssen Sie damit rechnen, dass Ihre Alarme durchbrechen und der Test fehlschlägt — harte Abhängigkeiten haben erhebliche Auswirkungen, wenn sie blockiert werden. Dies ist nützlich, um zu bestätigen, dass eine Abhängigkeit wirklich schwierig ist.

  • Wählen Sie Erfolgsalarme, die den allgemeinen Zustand des Dienstes messen, nicht den Zustand der Abhängigkeit selbst.

  • Stellen Sie sicher, dass Ihre Abhängigkeiten während des Tests aktiv genutzt werden (der Datenverkehr fließt zu ihnen) — das bestätigt, dass der Block Wirkung zeigt. Erwägen Sie, Alarme oder Metriken hinzuzufügen, die die Nutzung von Abhängigkeiten verfolgen (z. B. die Anzahl der Anfragen oder Verbindungsfehler), um zu überprüfen, ob die Abhängigkeit während des Tests ausgeübt wird.

  • Bei Abhängigkeiten muss es sich um auflösbare DNS-Endpunkte handeln. Wenn das DNS nicht aufgelöst wird, schlägt die Aktion fehl.

  • Das Blockieren von Abhängigkeiten, die Fehlschläge bei der Systemdiagnose auslösen, kann dazu führen, dass Rechenleistung (z. B. Amazon ECS-Aufgaben) ersetzt wird. Die Aktion zum Verlust von Paketen gilt nicht erneut für Ersatzaufgaben und wird möglicherweise als fehlgeschlagen gemeldet.

Wichtige Testparameter
  • Dauer — Die Dauer der Ausführung der Testaktionen. Danach dauert es noch einige Minuten, bis die endgültigen Ergebnisse erfasst sind, bevor der Test endet. Die Standardeinstellung ist 30 Minuten, wenn Sie den Test zum ersten Mal erstellen.

  • Zu blockierende Abhängigkeiten — Standardmäßig ist die erkannte weiche Abhängigkeit mit dem höchsten Abfragevolumen vorausgewählt. Wenn keine Abhängigkeiten als weich eingestuft wurden, werden keine ausgewählt. Sie können Anpassungen vornehmen, um auf einzelne Abhängigkeiten oder bestimmte Gruppen abzuzielen, oder Abhängigkeiten manuell anhand des DNS-Domänennamens hinzufügen. Zusätzliche Abhängigkeiten, die hier hinzugefügt werden, werden nur für diesen Test verwendet und nicht in der Abhängigkeitserkennung des Dienstes gespeichert. Diese Standardwerte gelten für die Konsole. Wenn Sie die API verwenden, geben Sie die Abhängigkeiten explizit an.

Aktionen

Bei diesem Test werden die folgenden AWS FIS Aktionen ausgeführt, um den Datenverkehr zu den von Ihnen ausgewählten Abhängigkeiten abzuleiten. Aktionen führen zu einem Paketverlust von 100% bei Amazon EC2-Instances, Amazon ECS-Aufgaben (Amazon EC2 und Fargate) und Amazon EKS-Pods (Amazon EC2). Wenn Ihr Service keine Ressourcen hat, die dem Zieltyp einer Aktion entsprechen, wird diese Aktion übersprungen.

Anmerkung

Die Aktionen, die zum Blockieren von Abhängigkeiten verwendet werden, erfordern eine zusätzliche Einrichtung: Der SSM Agent ist auf Amazon EC2-Instances installiert, ein SSM Agent-Container in Ihrer Amazon ECS-Aufgabendefinition oder ein Kubernetes-Dienstkonto für Amazon EKS-Pods.

Action Description
aws:ssm:send-command Leitet den Datenverkehr von Amazon EC2-Instances zu den ausgewählten Abhängigkeiten ab.
aws:ecs:task-network-packet-loss Leitet den Datenverkehr von Amazon ECS-Aufgaben zu den ausgewählten Abhängigkeiten ab.
aws:eks:pod-network-packet-loss Leitet den Datenverkehr von Amazon EKS-Pods zu den ausgewählten Abhängigkeiten ab.

Um die Parameter dieses Tests und ihre Standardwerte anzuzeigen, verwenden Sieget-test-template.