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.
Sichere Canary-Updates durchführen
CloudWatch Synthetics Safe Canary Updates ermöglicht es Ihnen, die Updates auf Ihren vorhandenen Canaries zu testen, bevor Sie die Änderungen anwenden. Mit dieser Funktion können Sie die Kompatibilität von Canary mit neuen Laufzeiten und anderen Konfigurationsänderungen wie Code- oder Speicheränderungen überprüfen. Auf diese Weise können potenzielle Unterbrechungen der Überwachung, die durch fehlerhafte Updates verursacht werden, minimiert werden.
Indem Sie Canary Safe-Updates für Runtime-Versions-Updates, Konfigurationsänderungen und Codeskriptänderungen verwenden, können Sie Risiken minimieren, eine unterbrechungsfreie Überwachung aufrechterhalten, die Änderungen vor dem Commit überprüfen, aktualisieren und Ausfallzeiten reduzieren.
Voraussetzungen
Stellen Sie sicher, dass die Voraussetzungen erfüllt sind.
AWS Konto mit synthetischen Berechtigungen CloudWatch
Bestehender Canary auf den unterstützten Runtime-Versionen (Informationen zu kompatiblen Einschränkungen Laufzeiten finden Sie unter)
Schließe kompatible Laufzeiten ein, wenn du einen Probelauf durchführst (Informationen zu kompatiblen Laufzeiten Einschränkungen findest du unter)
Bewährte Methoden
Im Folgenden finden Sie einige bewährte Methoden, die Sie bei der Durchführung eines Canary-Programms beachten sollten.
Führen Sie einen Probelauf aus, um ein Runtime-Update zu validieren
Führen Sie Probeläufe durch, bevor Sie die Produktionsupdates auf Canary aktualisieren
Überprüfe Canary-Logs und Artefakte nach einem Probelauf
Verwenden Sie Testläufe, um Abhängigkeiten und Bibliothekskompatibilität zu überprüfen
Testen Sie Canary mit Probelauf
Du kannst das Canary-Update mit den folgenden Optionen testen:
Verwenden des Workflows „ AWS Management Console's Edit“
Gehen Sie zur CloudWatch Synthetics-Konsole.
Wähle den Canary aus, den du aktualisieren möchtest.
Wählen Sie im Drop-down-Menü „Aktionen“ die Option Bearbeiten aus.
Aktualisiere den Canary mit den Änderungen, die du testen möchtest. Zum Beispiel, wenn Sie die Runtime-Version ändern oder den Code des Skripts bearbeiten.
Wähle unter Canary-Skript die Option Testlauf starten, um den Test sofort zu testen und die Ergebnisse anzusehen, oder wähle unten auf der Seite die Option Validieren und später speichern, um den Test zu starten und die Ergebnisse später auf deiner Canary-Detailseite anzusehen.
Wenn der Probelauf erfolgreich war, wähle „Senden“, um deine Canary-Updates zu übernehmen.
Verwenden Sie das, AWS Management Console um Canaries stapelweise zu aktualisieren
Gehe zur CloudWatch Synthetics-Konsole.
Wählen Sie die Listenseite Synthetics aus.
Wählen Sie bis zu fünf Kanarienvögel aus, für die Sie die Laufzeit aktualisieren möchten.
Wählen Sie im Drop-down-Menü Aktionen die Option Runtime aktualisieren aus.
Wählen Sie Testlauf für neue Runtime starten, um den Probelauf zu starten und Ihre Änderungen vor einem Update zu testen.
Auf der Synthetics-Listenseite siehst du neben der Runtime-Version für den Canary einen Text, der den Fortschritt des Testlaufs anzeigt (dieser wird nur bei Testläufen angezeigt, die ein Runtime-Update beinhalten).
Sobald der Probelauf erfolgreich war, wird der Text Update initiieren angezeigt.
Wählen Sie „Update initiieren“, um das Runtime-Update zu übernehmen.
Wenn der Probelauf fehlschlägt, wird der Text Testlauf beim Aktualisieren fehlgeschlagen angezeigt. Wähle den Text aus, um den Debug-Link zur Canary-Detailseite anzuzeigen.
Verwenden der AWS CLI oder des SDK
Die API startet den Probelauf für den angegebenen Canary-Namen MyCanary
und aktualisiert die Runtime-Version aufsyn-nodejs-puppeteer-10.0
.
aws synthetics start-canary-dry-run \ --name MyCanary \ --runtime-version syn-nodejs-puppeteer-10.0 // Or if you wanted to update other configurations: aws synthetics start-canary-dry-run \ --name MyCanary \ --execution-role-arn arn:aws:iam::123456789012:role/NewRole
Die API gibt das DryRunId
Innere von zurückDryRunConfigOutput
.
Rufen Sie GetCanary
mit dem angegebenen DryRunId
an, um die Testlaufkonfigurationen des Canary sowie ein zusätzliches Feld zu erhaltenDryRunConfig
, das den Status des Testlaufs enthält, der als aufgeführt istLastDryRunExecutionStatus
.
aws synthetics get-canary \ --name MyCanary \ --dry-run-id XXXX-XXXX-XXXX-XXXX
Weitere Informationen erhalten Sie GetCanaryRuns
mit dem bereitgestellten Link, DryRunId
um den Testlauf und weitere Informationen abzurufen.
aws synthetics get-canary-runs \ --name MyCanary \ --dry-run-id XXXX-XXXX-XXXX-XXXX
Nach einem erfolgreichen Probelauf können Sie dann UpdateCanary
den bereitgestellten DryRunId
Code verwenden, um Ihre Änderungen zu übernehmen.
aws synthetics update-canary \ --name MyCanary \ --dry-run-id XXXX-XXXX-XXXX-XXXX
Wenn es aus irgendeinem Grund fehlschlägt (das Ergebnis von GetCanaryRuns enthält die Details), GetCanaryRuns
hat das Ergebnis von eine Artefaktposition, die Protokolle zum Debuggen enthält. Wenn keine Protokolle vorhanden sind, konnte der Probelauf nicht erstellt werden. Sie können dies mit dem Befehl überprüfenGetCanary
.
aws synthetics get-canary \ --name MyCanary \ --dry-run-id XXXX-XXXX-XXXX-XXXX
Der Status, StateReason, und StateReasonCodezeigt den Status des Probelaufs an.
Verwenden AWS CloudFormation
Geben Sie in Ihrer Vorlage für einen Synthetics Canary das Feld DryRunAndUpdate
an, das einen booleschen Wert akzeptiert oder. true
false
wenn der Wert true
jedes Update ist, wird ein Probelauf ausgeführt, um die Änderungen zu validieren, bevor der Canary automatisch aktualisiert wird. Wenn der Probelauf fehlschlägt, führt der Canary kein Update durch und schlägt die Bereitstellung und AWS CloudFormation Bereitstellung mit einem triftigen Grund fehl. Um dieses Problem zu beheben, verwenden Sie die AWS Synthetics-Konsole. Falls Sie eine API verwenden, laden Sie die ArtifactS3Location
API herunter und laden Sie die *-log.txt
Dateien herunter, um die GetCanaryRuns
Canary-Log-Ausführungen auf Fehler zu überprüfen. Ändern Sie nach der Validierung die AWS CloudFormation Vorlage und versuchen Sie es erneut mit der Bereitstellung oder verwenden Sie die obige API zur Validierung.
Wenn der Wert gleich istfalse
, führt Synthetics keinen Probelauf durch, um die Änderungen zu validieren, sondern überträgt Ihre Aktualisierungen direkt.
Informationen zur Fehlerbehebung bei einem ausgefallenen Canary finden Sie unterProblembehandlung bei fehlgeschlagenem Canary.
Eine Beispielvorlage.
SyntheticsCanary: Type: 'AWS::Synthetics::Canary' Properties: Name: MyCanary RuntimeVersion: syn-nodejs-puppeteer-10.0 Schedule: {Expression: 'rate(5 minutes)', DurationInSeconds: 3600} ... DryRunAndUpdate: true
Einschränkungen
Unterstützt Runtime-Versionen — syn-nodejs-puppeteer -10.0+, -2.0+ und syn-nodejs-playwright -5.1+ syn-python-selenium
Du kannst jeweils nur einen Probelauf pro Canary ausführen
Wenn ein Probelauf fehlschlägt, können Sie den Canary nicht aktualisieren
Bei einem Probelauf können keine Änderungen im Feld „Zeitplan“ getestet werden
Anmerkung
Wenn Sie einen Probelauf mit Codeänderungen für einen Playwright-Canary starten und den Canary aktualisieren möchten, ohne die zugehörigen Daten bereitzustellenDryRunId
, müssen Sie die Codeparameter explizit angeben.