

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.

# Durchführen sicherer Canary-Updates
<a name="performing-safe-canary-upgrades"></a>

CloudWatch Mit Synthetics Safe Canary Updates können Sie die Updates auf Ihren vorhandenen Canaries testen, bevor Sie die Änderungen anwenden. Mit diesem Feature 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 Updates von Laufzeitversionen, Konfigurationsänderungen und Codeskriptänderungen verwenden, können Sie Risiken minimieren, eine unterbrechungsfreie Überwachung aufrechterhalten, die Änderungen vor der Übernahme überprüfen, aktualisieren und Ausfallzeiten reduzieren.

**Topics**
+ [Voraussetzungen](#performing-safe-canary-upgrades-prereq)
+ [Bewährte Methoden](#performing-safe-canary-upgrades-best-practices)
+ [Testen von Canary mit Testlauf](#performing-safe-canary-upgrades-getting-started)
+ [Einschränkungen](#performing-safe-canary-upgrades-limitations)

## Voraussetzungen
<a name="performing-safe-canary-upgrades-prereq"></a>

Stellen Sie sicher, dass die Voraussetzungen erfüllt sind.
+ AWS Konto mit Synthetics-Berechtigungen CloudWatch 
+ Bestehender Canary auf den unterstützten Laufzeitversionen (Informationen zu kompatiblen Laufzeiten unter [Einschränkungen](#performing-safe-canary-upgrades-limitations))
+ Schließe kompatible Laufzeiten ein, wenn du einen Probelauf durchführst (Informationen zu kompatiblen Laufzeiten findest du unter [Einschränkungen](#performing-safe-canary-upgrades-limitations))

## Bewährte Methoden
<a name="performing-safe-canary-upgrades-best-practices"></a>

Im Folgenden finden Sie einige bewährte Methoden für die Durchführung eines Canarys.
+ Führen Sie einen Probelauf aus, um ein Laufzeit-Update zu validieren
+ Führen Sie Probeläufe durch, bevor Sie Produktions-Updates auf Canary durchführen
+ Überprüfen Sie Canary-Protokolle und Artefakte nach einem Testlauf
+ Verwenden Sie Testläufe, um Abhängigkeiten und Bibliothekskompatibilität zu überprüfen

## Testen von Canary mit Testlauf
<a name="performing-safe-canary-upgrades-getting-started"></a>

Sie können das Canary-Update mit den folgenden Optionen testen:

 **Verwenden des Workflows AWS-Managementkonsole„Bearbeiten“ ** 

1. Gehe zur CloudWatch Synthetics-Konsole.

1. Wählen Sie den Canary aus, den Sie aktualisieren möchten.

1. Wählen Sie im Dropdown-Menü **Aktionen** die Option **Bearbeiten** aus.

   Aktualisieren Sie den Canary mit den Änderungen, die Sie testen möchten. Zum Beispiel das Ändern der Runtime-Version oder das Bearbeiten des Skriptcodes.

1. Wählen Sie unter **Canary-Skript** die Option **Testlauf starten**, um den Test sofort auszuführen und die Ergebnisse anzusehen, oder wählen Sie unten auf der Seite die Option **Validieren und später speichern**, um den Test zu starten und die Ergebnisse später auf Ihrer **Canary-Detailseite** anzusehen.

1. Wenn der Testlauf erfolgreich war, wählen Sie **Senden** aus, um Ihre Canary-Updates zu übernehmen.

 **Verwenden Sie das, AWS-Managementkonsole um Canaries stapelweise zu aktualisieren ** 

1. Geh zur CloudWatch Synthetik-Konsole.

1. Wählen Sie die Listenseite **Synthetics** aus.

1. Wählen Sie bis zu fünf Canarys aus, für die Sie die Laufzeit aktualisieren möchten.

1. Wählen Sie im Dropdown-Menü **Aktionen** die Option **Laufzeit aktualisieren** aus.

1. Wählen Sie **Testlauf für neue Laufzeit starten**, um den Testlauf zu starten und Ihre Änderungen vor einem Update zu testen.

1. Auf der ** ** Synthetics-Listenseite siehst du neben der ** ** Runtime-Version für den Canary einen Text, der den Fortschritt des Probelaufs anzeigt (dieser wird nur bei Testläufen angezeigt, die ein Runtime-Update beinhalten).

   Nach erfolgreichem Probelauf wird der Text „Update ** ** initiieren“ angezeigt.

1. Wählen Sie **Update initiieren**, um das Laufzeit-Update zu übernehmen.

1. Wenn der Testlauf fehlschlägt, wird der Text **Aktualisieren-Testlauf fehlgeschlagen** angezeigt. Wählen Sie den Text aus, um den Debug-Link zur Canary-Detailseite anzuzeigen.

 **Verwenden Sie die AWS CLI oder das SDK ** 

Die API startet den Testlauf für den angegebenen Canary-Namen `MyCanary` und aktualisiert die Laufzeit-Version auf `syn-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` innerhalb von zurück`DryRunConfigOutput`.

Rufen Sie `GetCanary` mit dem bereitgestellten `DryRunId` auf, um die Probelauf-Konfigurationen des Canary sowie ein zusätzliches Feld`DryRunConfig`, das den Status des Probelaufs enthält, zu erhalten`LastDryRunExecutionStatus`.

```
aws synthetics get-canary \
    --name MyCanary \
    --dry-run-id XXXX-XXXX-XXXX-XXXX
```

Nutzen Sie für weitere Informationen `GetCanaryRuns` mit der bereitgestellten `DryRunId`, um die Ausführung und weitere Informationen abzurufen.

```
aws synthetics get-canary-runs \
    --name MyCanary \
    --dry-run-id XXXX-XXXX-XXXX-XXXX
```

Nach einem erfolgreichen Testlauf können Sie dann über `UpdateCanary` mit der bereitgestellten ` DryRunId` Ihre Änderungen ü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 einen Artefaktspeicherort, der Protokolle zum Debuggen enthält. Wenn keine Protokolle vorhanden sind, konnte der Testlauf nicht erstellt werden. Sie können dies über ` GetCanary` überprüfen.

```
aws synthetics get-canary \
    --name MyCanary \
    --dry-run-id XXXX-XXXX-XXXX-XXXX
```

Der * Status * * StateReason*, und * StateReasonCode * zeigt den Status des Probelaufs an.

 **Verwenden CloudFormation** 

Geben Sie in Ihrer Vorlage für einen Synthetics Canary das Feld `DryRunAndUpdate` an, das den booleschen Wert `true` oder `false` akzeptiert.

wenn der Wert `true` ist, führt jedes Update einen Testlauf durch, um die Änderungen zu validieren, bevor der Canary automatisch aktualisiert wird. Wenn der Probelauf fehlschlägt, wird der Canary nicht aktualisiert und die Bereitstellung und CloudFormation Bereitstellung schlagen aus einem triftigen Grund fehl. Um dieses Problem zu beheben, verwenden Sie die [AWS -Synthetics-Konsole](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Troubleshoot.html). Falls Sie eine API verwenden, rufen Sie die `ArtifactS3Location` über `GetCanaryRuns` ab und laden Sie die `*-log.txt`-Dateien herunter, um die Canary-Protokoll-Ausführungen auf Fehler zu überprüfen. Ändern Sie nach der Validierung die CloudFormation Vorlage und versuchen Sie die Bereitstellung erneut oder verwenden Sie die obige API zur Validierung.

Wenn der Wert `false` ist, führt Synthetics keinen Testlauf durch, um die Änderungen zu validieren, sondern überträgt Ihre Updates direkt.

Weitere Informationen zur Fehlerbehebung eines fehlgeschlagenen Canary finden Sie unter [Problembehandlung bei fehlgeschlagenem Canary](CloudWatch_Synthetics_Canaries_Troubleshoot.md).

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
<a name="performing-safe-canary-upgrades-limitations"></a>
+ Unterstützt die Laufzeitversionen — syn-nodejs-puppeteer-10.0\+, syn-nodejs-playwright-2.0\+, syn-python-selenium-5.1\+ und syn-nodejs-3.0\+
+ Sie können jeweils nur einen Testlauf pro Canary ausführen
+ Wenn ein Testlauf fehlschlägt, können Sie den Canary nicht aktualisieren
+ Bei einem Testlauf können keine Änderungen im Feld **Zeitplan** getestet werden

**Anmerkung**  
Wenn Sie einen Testlauf mit Codeänderungen für einen Playwright-Canary starten und den Canary aktualisieren möchten, ohne die zugehörige `DryRunId` bereitzustellen, müssen Sie die Codeparameter explizit angeben.