View a markdown version of this page

Rotar un secreto de clúster en AWS PIEZAS - AWS PIEZAS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Rotar un secreto de clúster en AWS PIEZAS

Cambie el secreto de su clúster para cumplir con los requisitos de seguridad y abordar posibles riesgos. Este proceso requiere poner el clúster en modo de mantenimiento.

nota

De forma predeterminada, AWS PCS cifra el secreto del clúster con un Clave administrada de AWS. Si, en cambio, lo cifra con una clave gestionada por el cliente, asegúrese de que la política de claves conceda a la función vinculada al servicio de AWS PCS acceso a la clave. De lo contrario, AWS PCS no puede cambiar el secreto. Para obtener más información, consulte Utilice una clave gestionada por el cliente para cifrar el secreto del clúster.

Requisitos previos

  • Función de IAM con permiso secretsmanager:RotateSecret

  • Clúster en ACTIVE nuestro estado UPDATE_FAILED

Procedimiento

  1. Notifique a los usuarios del clúster sobre la próxima ventana de mantenimiento.

  2. Pon el clúster en modo de mantenimiento escalando todos los grupos de nodos de procesamiento a su capacidad cero.

    1. Usa la UpdateComputeNodeGroup API para establecer el mínimo InstanceCount y el máximo en 0 InstanceCount para todos los grupos de nodos de procesamiento.

    2. Espera a que se detengan todos los nodos.

    3. (Opcional) Elimine las colas del programador con los comandos de Slurm antes de agotar la capacidad para gestionar correctamente los trabajos.

    nota

    La rotación no requiere ninguna instancia en ejecución. Si las instancias siguen ejecutándose cuando se inicia la rotación, se produce un error en la rotación y se produce el siguiente error:

    All instances must be terminated before you rotate a secret. Set the minimum instance count to 0 to terminate active instances.
    nota

    Un grupo de nodos de procesamiento puede generar informes ACTIVE mientras las instancias siguen finalizándose durante la reducción de escala. También puede informar ACTIVE antes de que exista ninguna instancia durante la ampliación. El escalado puede tardar varios minutos, hasta unos 30 minutos. Si un grupo de nodos de procesamiento lo estáUPDATING, get-compute-node-group devuelve los valores de escalado anteriores a la actualización y AWS PCS rechaza más solicitudes de actualización hasta que se complete la actualización. No lo tomes ACTIVE como una confirmación de la existencia de instancias.

  3. Inicia la rotación a través de Secrets Manager.

    • Método de consola:

      1. Dirígete al Gestor de secretos, selecciona el secreto de tu clúster y elige Rotar secreto.

    • Método de API:

      1. Usa la rotate-secret API de Secrets Manager.

  4. Confirme que la rotación se ha realizado correctamente.

    nota

    La rotate-secret llamada devuelve HTTP 200 incluso si la rotación posterior falla. El resultado llega más tarde, como un RotationSucceeded evento RotationFailed o separado. La respuesta 200 solo confirma que AWS PCS aceptó la solicitud, no que la rotación se realizó correctamente.

    1. Ejecute describe-secret y confirme que la AWSCURRENT etiqueta provisional se trasladó a la nueva versión y que se lastRotatedDate actualizó.

    2. También puede esperar a que se RotationSucceeded produzca un evento en AWS CloudTrail.

    nota

    Úselo describe-secret en lugar de list-secret-version-ids inspeccionar las versiones. list-secret-version-idspuede omitir la AWSPENDING versión incluso si la especifica--include-deprecated.

  5. Tras una rotación correcta, restaure la capacidad del clúster.

    1. Usa la UpdateComputeNodeGroup API para restablecer los grupos de nodos a la min/max capacidad deseada.

    2. Para los nodos de inicio de AWS PCS-managed sesión: no se requiere ninguna acción adicional.

    3. Para los nodos de inicio de sesión de BYO:

      1. Conéctese a los nodos de inicio de sesión.

      2. Actualiza /etc/slurm/slurm.key con el nuevo secreto de Secrets Manager.

      3. Reinicia Slurm Auth y Cred Kiosk Daemon (sackd).

Recupérate de una versión pendiente abandonada

Una rotación fallida puede dejar una versión en la AWSPENDING etiqueta provisional y bloquear las rotaciones posteriores con el siguiente error:

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

El cancel-rotate-secret comando por sí solo no elimina la AWSPENDING etiqueta provisional y se establece en. RotationEnabled false Para borrar la versión suspendida, elimina la AWSPENDING etiqueta provisional de la versión pendiente:

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

Verifique la rotación

Para confirmar que se puede acceder al mando Slurm y que los nodos están en buen estado, usa y. scontrol ping scontrol show nodes No lo utilices sinfo para comprobar un clúster que no tiene colas, ya que en ese caso no sinfo muestra nada y no es una comprobación válida.

Para confirmar que los nodos utilizan la clave actual, compara el SHA-256 hash del código AWSCURRENT secreto decodificado en base64 con el hash de /etc/slurm/slurm.key los nodos:

sha256sum /etc/slurm/slurm.key

Compara también el hash del nodo con la AWSPREVIOUS versión para demostrar que los nodos no están en una clave obsoleta. Le recomendamos que compare los hashes en lugar de imprimir el material clave.