

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Ruota un cluster segreto in AWS 2 PEZZI
<a name="cluster-secret-rotation-procedure"></a>

Cambia il segreto del tuo cluster per soddisfare i requisiti di sicurezza e risolvere potenziali compromessi. Questo processo richiede l'attivazione della modalità di manutenzione del cluster.

**Nota**  
Per impostazione predefinita, AWS PCS crittografa il segreto del cluster con un Chiave gestita da AWS. Se invece lo crittografi con una chiave gestita dal cliente, assicurati che la policy chiave conceda al ruolo collegato al servizio AWS PCS l'accesso alla chiave. Altrimenti, AWS PCS non può ruotare il segreto. Per ulteriori informazioni, consulta [Usa una chiave gestita dal cliente per crittografare il segreto del cluster](working-with_clusters_secrets_cmk.md).

## Prerequisiti
<a name="cluster-secret-rotation-procedure-prerequisites"></a>
+ Ruolo IAM con autorizzazione `secretsmanager:RotateSecret`
+ Cluster nel `ACTIVE` nostro `UPDATE_FAILED` stato

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

1. Notifica agli utenti del cluster la prossima finestra di manutenzione.

1. Metti il cluster in modalità di manutenzione scalando tutti i gruppi di nodi di calcolo a 0 capacità.

   1. Usa l' UpdateComputeNodeGroup API per impostare sia il valore minimo InstanceCount che quello massimo InstanceCount su 0 per tutti i gruppi di nodi di calcolo.

   1. Attendi che tutti i nodi si fermino.

   1. (Facoltativo) Elimina le code di pianificazione con i comandi Slurm prima di interrompere la capacità per una gestione agevole dei lavori.
**Nota**  
La rotazione richiede zero istanze in esecuzione. Se le istanze sono ancora in esecuzione quando si avvia la rotazione, la rotazione ha esito negativo e viene visualizzato il seguente errore:  

   ```
   All instances must be terminated before you rotate a secret. Set the minimum instance count to 0 to terminate active instances.
   ```
**Nota**  
Un gruppo di nodi di calcolo può generare report `ACTIVE` mentre le istanze continuano a terminare durante lo scale-down. Può inoltre generare report `ACTIVE` prima che esista un'istanza durante lo scale-up. Il ridimensionamento può richiedere diversi minuti, fino a circa 30 minuti. Mentre è presente un gruppo di nodi di calcolo`UPDATING`, `get-compute-node-group` restituisce i valori di ridimensionamento precedenti all'aggiornamento e AWS PCS rifiuta ulteriori richieste di aggiornamento fino al completamento dell'aggiornamento. Non consideratela una conferma dell'esistenza di `ACTIVE` istanze.

1. Avvia la rotazione tramite Secrets Manager.
   + **Metodo della console: **

     1. Accedi a Secrets Manager, seleziona il segreto del cluster e scegli ** Ruota segreto**.
   + **Metodo API: **

     1. Usa l'`rotate-secret`API Secrets Manager.

1. Conferma che la rotazione è avvenuta.
**Nota**  
La `rotate-secret` chiamata restituisce HTTP 200 anche se la rotazione successiva fallisce. Il risultato arriva più tardi, come `RotationSucceeded` evento separato`RotationFailed`. La risposta 200 conferma solo che AWS PCS ha accettato la richiesta, non che la rotazione è riuscita.

   1. Esegui `describe-secret` e conferma che l'etichetta `AWSCURRENT` di staging è passata alla nuova versione e che `lastRotatedDate` è stata aggiornata.

   1. In alternativa, attendi un `RotationSucceeded` evento in AWS CloudTrail.
**Nota**  
Usa `describe-secret` piuttosto `list-secret-version-ids` che ispezionare le versioni. `list-secret-version-ids`può omettere la `AWSPENDING` versione anche se specificata. `--include-deprecated`

1. Una volta completata la rotazione, ripristina la capacità del cluster.

   1. Utilizza l' UpdateComputeNodeGroup API per reimpostare i gruppi di nodi alla min/max capacità desiderata.

   1. Per i nodi di AWS PCS-managed accesso: non è richiesta alcuna azione aggiuntiva.

   1. Per i nodi di accesso BYO:

      1. Connettiti ai nodi di accesso.

      1. Aggiorna `/etc/slurm/slurm.key` con il nuovo segreto di Secrets Manager.

      1. Riavvia Slurm Auth and Cred Kiosk Daemon (sackd).

## Effettua il ripristino da una versione bloccata in sospeso
<a name="cluster-secret-rotation-procedure-recover-pending"></a>

Una rotazione non riuscita può bloccare una versione sull'etichetta di `AWSPENDING` staging e bloccare le rotazioni successive con il seguente errore:

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

Il `cancel-rotate-secret` comando da solo non rimuove l'etichetta di `AWSPENDING` staging e viene impostato su. `RotationEnabled` `false` Per cancellare la versione bloccata, rimuovi l'etichetta di `AWSPENDING` staging dalla versione in sospeso:

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

## Verificate la rotazione
<a name="cluster-secret-rotation-procedure-verify"></a>

Per confermare che il controller Slurm sia raggiungibile e che i nodi siano integri, usa e. `scontrol ping` `scontrol show nodes` Non usatelo `sinfo` per controllare un cluster che non ha code, perché in tal caso non `sinfo` mostra nulla e non è un controllo valido.

Per confermare che i nodi utilizzino la chiave corrente, confronta l' SHA-256 hash del `AWSCURRENT` segreto decodificato in base64 con l'hash dei nodi: `/etc/slurm/slurm.key`

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

Confronta anche l'hash del nodo con la `AWSPREVIOUS` versione per dimostrare che i nodi non si trovano su una chiave obsoleta. Ti consigliamo di confrontare gli hash anziché stampare il materiale della chiave.