Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Faire pivoter un secret de cluster dans AWS PIÈCES
Faites pivoter le secret de votre cluster pour vous conformer aux exigences de sécurité et éviter les compromissions potentielles. Ce processus nécessite de mettre votre cluster en mode maintenance.
Note
Par défaut, AWS PCS chiffre le secret du cluster avec un Clé gérée par AWS. Si vous le chiffrez à l'aide d'une clé gérée par le client, assurez-vous que la politique de clé autorise le rôle lié au service AWS PCS à accéder à la clé. Sinon, le AWS PCS ne peut pas modifier le secret. Pour de plus amples informations, veuillez consulter Utiliser une clé gérée par le client pour chiffrer le secret du cluster.
Conditions préalables
-
Rôle IAM avec autorisation
secretsmanager:RotateSecret -
Cluster dans
ACTIVEnotreUPDATE_FAILEDétat
Procédure
-
Avertissez les utilisateurs du cluster de la prochaine fenêtre de maintenance.
-
Passez le cluster en mode maintenance en dimensionnant tous les groupes de nœuds de calcul à une capacité nulle.
-
Utilisez l' UpdateComputeNodeGroup API pour définir min InstanceCount et max sur 0 InstanceCount pour tous les groupes de nœuds de calcul.
-
Attendez que tous les nœuds s'arrêtent.
-
(Facultatif) Videz les files d'attente du planificateur à l'aide des commandes Slurm avant de mettre fin à la capacité pour une gestion fluide des tâches.
Note
La rotation ne nécessite aucune instance en cours d'exécution. Si les instances sont toujours en cours d'exécution lorsque vous démarrez la rotation, celle-ci échoue avec l'erreur suivante :
All instances must be terminated before you rotate a secret. Set the minimum instance count to 0 to terminate active instances.
Note
Un groupe de nœuds de calcul peut générer des rapports
ACTIVEalors que les instances sont toujours en train de s'arrêter pendant la réduction d'échelle. Il peut également générer des rapportsACTIVEavant l'existence d'une instance lors de la mise à l'échelle. La mise à l'échelle peut prendre plusieurs minutes, voire environ 30 minutes. Lorsqu'un groupe de nœuds de calcul existeUPDATING,get-compute-node-grouprenvoie les valeurs d'échelle antérieures à la mise à jour, et AWS PCS refuse les autres demandes de mise à jour jusqu'à ce que la mise à jour soit terminée. Ne considérez pas l'existence d'instancesACTIVEcomme une confirmation. -
-
Lancez la rotation via Secrets Manager.
-
Méthode de console :
-
Accédez à Secrets Manager, sélectionnez le secret de votre cluster, puis choisissez Rotation du secret.
-
-
Méthode API :
-
Utilisez l'
rotate-secretAPI Secrets Manager.
-
-
-
Vérifiez que la rotation a réussi.
Note
L'
rotate-secretappel renvoie HTTP 200 même si la rotation échoue ultérieurement. Le résultat arrive plus tard, sous la forme d'unRotationSucceededévénementRotationFailedou d'un événement distinct. La réponse 200 confirme uniquement que AWS PCS a accepté la demande, pas que la rotation a réussi.-
Exécutez
describe-secretet vérifiez que l'étiquetteAWSCURRENTintermédiaire a été déplacée vers la nouvelle version et qu'elle a étélastRotatedDatemise à jour. -
Vous pouvez également attendre un
RotationSucceededévénement dans AWS CloudTrail.
Note
Utilisez
describe-secretplutôt quelist-secret-version-idspour inspecter les versions.list-secret-version-idspeut omettre laAWSPENDINGversion même lorsque vous la spécifiez--include-deprecated. -
-
Une fois la rotation réussie, restaurez la capacité du cluster.
-
Utilisez l' UpdateComputeNodeGroup API pour réinitialiser les groupes de nœuds à la min/max capacité souhaitée.
-
Pour les nœuds de AWS PCS-managed connexion : aucune action supplémentaire n'est requise.
-
Pour les nœuds de connexion BYO :
-
Connectez-vous aux nœuds de connexion.
-
Mettez à jour
/etc/slurm/slurm.keyavec le nouveau secret de Secrets Manager. -
Redémarrez le démon Slurm Auth et Cred Kiosk (sackd).
-
-
Restaurer après une version en attente bloquée
Un échec de rotation peut bloquer une version sur l'étiquette AWSPENDING de test et bloquer les rotations ultérieures avec l'erreur suivante :
A previous rotation isn't complete. That rotation will be reattempted.
La cancel-rotate-secret commande à elle seule ne supprime pas AWSPENDING l'étiquette intermédiaire et elle est définie RotationEnabled surfalse. Pour effacer la version bloquée, supprimez l'étiquette AWSPENDING intermédiaire de la version en attente :
aws secretsmanager update-secret-version-stage \ --secret-idsecret-arn\ --version-stage AWSPENDING \ --remove-from-version-idpending-version-id
Vérifiez la rotation
Pour confirmer que le contrôleur Slurm est accessible et que les nœuds sont sains, utilisez scontrol ping et. scontrol show nodes Ne l'utilisez pas sinfo pour vérifier un cluster qui n'a pas de files d'attente, car cela ne sinfo montre rien dans ce cas et ce n'est pas une vérification valide.
Pour confirmer que les nœuds utilisent la clé actuelle, comparez le SHA-256 hachage du AWSCURRENT secret décodé en base64 avec le hachage de /etc/slurm/slurm.key sur les nœuds :
sha256sum /etc/slurm/slurm.key
Comparez également le hachage du nœud à la AWSPREVIOUS version pour prouver que les nœuds ne sont pas sur une clé obsolète. Nous vous recommandons de comparer les hachages plutôt que d'imprimer les informations clés.