View a markdown version of this page

Rotiert ein Cluster-Geheimnis in AWS 5 STÜCK - AWS STCK

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

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.

Voraussetzungen

  • IAM-Rolle mit Genehmigung secretsmanager:RotateSecret

  • Cluster in unserem ACTIVE Bundesstaat UPDATE_FAILED

Verfahren

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

  2. 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.

    2. Warten Sie, bis alle Knoten gestoppt sind.

    3. (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 erstellenACTIVE, 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ückgegebenUPDATING, und AWS PCS lehnt weitere Aktualisierungsanfragen ab, bis das Update abgeschlossen ist. Behandeln Sie das nicht ACTIVE als Bestätigung, dass Instanzen existieren.

  3. 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.

  4. 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.

    2. Warten Sie alternativ auf ein RotationSucceeded Ereignis in AWS CloudTrail.

    Anmerkung

    Verwenden Sie Versionenlist-secret-version-ids, describe-secret anstatt sie zu überprüfen. list-secret-version-idskann die AWSPENDING Version weglassen, auch wenn Sie sie angeben--include-deprecated.

  5. 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.

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

    3. Für BYO-Anmeldeknoten:

      1. Stellen Sie eine Verbindung zu den Anmeldeknoten her.

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

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

Stellen Sie eine ausstehende, gestrandete Version wieder her

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-secretMit 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

Um zu bestätigen, dass der Slurm-Controller erreichbar ist und die Knoten fehlerfrei sind, verwenden Sie scontrol ping undscontrol show nodes. Verwenden Sie es nichtsinfo, 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.