

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.

# Rotiert ein Cluster-Geheimnis in AWS 5 STÜCK
<a name="cluster-secret-rotation-procedure"></a>

Rotieren Sie Ihren Clusterschlüssel, um die Sicherheitsanforderungen zu erfüllen und potenzielle Sicherheitslücken zu vermeiden. Für diesen Vorgang muss Ihr Cluster in den Wartungsmodus versetzt werden.

**Anmerkung**  
Standardmäßig verschlüsselt AWS PCS das Cluster-Geheimnis mit einem Von AWS verwalteter Schlüssel. Wenn Sie es stattdessen mit einem vom Kunden verwalteten Schlüssel verschlüsseln, stellen Sie sicher, dass die Schlüsselrichtlinie der AWS PCS-Rolle Zugriff auf den Schlüssel gewährt. Andernfalls kann AWS PCS das Geheimnis nicht rotieren. Weitere Informationen finden Sie unter [Verwenden Sie einen vom Kunden verwalteten Schlüssel, um das Cluster-Geheimnis zu verschlüsseln](working-with_clusters_secrets_cmk.md).

## Voraussetzungen
<a name="cluster-secret-rotation-procedure-prerequisites"></a>
+ IAM-Rolle mit Genehmigung `secretsmanager:RotateSecret`
+ Cluster in unserem `ACTIVE` Bundesstaat `UPDATE_FAILED`

## Verfahren
<a name="cluster-secret-rotation-procedure-steps"></a>

1. Informieren Sie Cluster-Benutzer über das bevorstehende Wartungsfenster.

1. Versetzen Sie den Cluster in den Wartungsmodus, indem Sie alle Rechenknotengruppen auf die Kapazität 0 skalieren.

   1. Verwenden Sie die UpdateComputeNodeGroup API, um InstanceCount sowohl Min als auch Max für alle Rechenknotengruppen InstanceCount auf 0 zu setzen.

   1. Warten Sie, bis alle Knoten gestoppt sind.

   1. (Optional) Entleeren Sie die Scheduler-Warteschlangen mit Slurm-Befehlen, bevor Sie die Kapazität für eine reibungslose Auftragsabwicklung beenden.
**Anmerkung**  
Für die Rotation sind keine laufenden Instanzen erforderlich. Wenn die Instanzen noch laufen, wenn Sie die Rotation starten, schlägt die Rotation fehl und es wird der folgende Fehler angezeigt:  

   ```
   All instances must be terminated before you rotate a secret. Set the minimum instance count to 0 to terminate active instances.
   ```
**Anmerkung**  
Eine Compute-Knotengruppe kann einen Bericht erstellen`ACTIVE`, während die Instances beim Herunterskalieren noch beendet werden. Beim Hochskalieren kann sie auch Berichte erstellen, `ACTIVE` bevor eine Instanz existiert. Die Skalierung kann mehrere Minuten dauern, bis zu etwa 30 Minuten. Bei einer Compute-Knotengruppe werden die Skalierungswerte vor der Aktualisierung `get-compute-node-group` zurückgegeben`UPDATING`, und AWS PCS lehnt weitere Aktualisierungsanfragen ab, bis das Update abgeschlossen ist. Behandeln Sie das nicht `ACTIVE` als Bestätigung, dass Instanzen existieren.

1. Initiieren Sie die Rotation über Secrets Manager.
   + **Konsolen-Methode**:

     1. Navigieren Sie zum Secrets Manager, wählen Sie Ihr Cluster-Geheimnis aus und wählen Sie ** Rotate Secret aus**.
   + **API-Methode**:

     1. Verwenden Sie die Secrets `rotate-secret` Manager-API.

1. Bestätigen Sie, dass die Rotation erfolgreich war.
**Anmerkung**  
Der `rotate-secret` Aufruf gibt HTTP 200 zurück, auch wenn die Rotation später fehlschlägt. Das Ergebnis kommt später als separates `RotationFailed` `RotationSucceeded` OR-Ereignis. Die 200-Antwort bestätigt nur, dass AWS PCS die Anfrage akzeptiert hat, nicht, dass die Rotation erfolgreich war.

   1. Führen Sie den Befehl aus `describe-secret` und bestätigen Sie, dass das `AWSCURRENT` Staging-Label auf die neue Version verschoben und diese `lastRotatedDate` aktualisiert wurde.

   1. Warten Sie alternativ auf ein `RotationSucceeded` Ereignis in AWS CloudTrail.
**Anmerkung**  
Verwenden Sie Versionen`list-secret-version-ids`, `describe-secret` anstatt sie zu überprüfen. `list-secret-version-ids`kann die `AWSPENDING` Version weglassen, auch wenn Sie sie angeben`--include-deprecated`.

1. Stellen Sie nach erfolgreicher Rotation die Clusterkapazität wieder her.

   1. Verwenden Sie die UpdateComputeNodeGroup API, um Knotengruppen auf die gewünschte min/max Kapazität zurückzusetzen.

   1. Für AWS PCS-managed Anmeldeknoten: Keine zusätzliche Aktion erforderlich.

   1. Für BYO-Anmeldeknoten:

      1. Stellen Sie eine Verbindung zu den Anmeldeknoten her.

      1. Aktualisieren Sie `/etc/slurm/slurm.key` mit dem neuen Secret von Secrets Manager.

      1. Starten Sie den Slurm Auth and Cred Kiosk Daemon (sackd) neu.

## Stellen Sie eine ausstehende, gestrandete Version wieder her
<a name="cluster-secret-rotation-procedure-recover-pending"></a>

Eine fehlgeschlagene Rotation kann dazu führen, dass eine Version am `AWSPENDING` Staging-Label landet und spätere Rotationen blockiert werden. Der folgende Fehler tritt auf:

```
A previous rotation isn't complete. That rotation will be reattempted.
```

`cancel-rotate-secret`Mit dem Befehl allein wird das `AWSPENDING` Staging-Label nicht entfernt, sondern der Wert wird auf gesetzt. `RotationEnabled` `false` Um die ungenutzte Version zu löschen, entfernen Sie das `AWSPENDING` Staging-Label von der ausstehenden Version:

```
aws secretsmanager update-secret-version-stage \
    --secret-id {{secret-arn}} \
    --version-stage AWSPENDING \
    --remove-from-version-id {{pending-version-id}}
```

## Überprüfen Sie die Rotation
<a name="cluster-secret-rotation-procedure-verify"></a>

Um zu bestätigen, dass der Slurm-Controller erreichbar ist und die Knoten fehlerfrei sind, verwenden Sie `scontrol ping` und`scontrol show nodes`. Verwenden Sie es nicht`sinfo`, um einen Cluster zu überprüfen, der keine Warteschlangen hat, da in diesem Fall nichts `sinfo` angezeigt wird und keine gültige Prüfung ist.

Um zu bestätigen, dass Knoten den aktuellen Schlüssel verwenden, vergleichen Sie den SHA-256 Hash des Base64-dekodierten `AWSCURRENT` Geheimnisses mit dem Hash von `/etc/slurm/slurm.key` auf den Knoten:

```
sha256sum /etc/slurm/slurm.key
```

Vergleichen Sie auch den Node-Hash mit der `AWSPREVIOUS` Version, um zu beweisen, dass die Knoten keinen veralteten Schlüssel verwenden. Wir empfehlen, Hashes zu vergleichen, anstatt das Schlüsselmaterial auszudrucken.