¿Cómo puedo resolver el error «El volumen vol-XXXXXXXXXX no se puede modificar en el estado de modificación OPTIMIZANDO» en CloudFormation cuando intento actualizar mi tipo de volumen de Amazon EBS (AWS::EC2::Volume)?

5 minutos de lectura
0

Recibo el error «El volumen vol-XXXXXXXXXX no se puede modificar en el estado de modificación OPTIMIZANDO» o un error similar en AWS CloudFormation. Este error se produce cuando intento actualizar mi tipo de volumen de Amazon Elastic Block Store (Amazon EBS). Mi volumen de EBS (AWS::EC2::Volume) se queda bloqueado en el estado UPDATE_IN_PROGRESS durante mucho tiempo y, finalmente, no actualiza el tipo de volumen. Mi pila no se actualiza y la posterior restauración de la actualización también falla. A continuación, la pila termina en el estado UPDATE_ROLLBACK_FAILED.

Breve descripción

Si utiliza credenciales cuando su pila de CloudFormation modifica un volumen de EBS, el período de espera del volumen es de aproximadamente siete horas. En cambio, si ejecuta la pila utilizando un rol de servicio de AWS Identity and Access Management (IAM), CloudFormation aumenta el período de espera a 36 horas.

Nota: El período de tiempo de espera del volumen se aplica únicamente a la modificación del volumen mediante CloudFormation. El período de tiempo de espera varía según los diferentes tipos de recursos y acciones.

Por lo general, un volumen de EBS de 1 tebibyte (TiB) completamente utilizado tarda unas seis horas en migrar a una nueva configuración de rendimiento. Para obtener más información, consulteSupervisar el progreso de las modificaciones de volumen.

Importante: Si ya ha iniciado una actualización de pila con CloudFormation, debe esperar unas siete horas hasta que la pila se estabilice antes de completar los siguientes pasos. La pila se estabiliza cuando entra en el estado UPDATE_ROLLBACK_FAILED.

Resolución

Nota: Si recibe errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), asegúrese de utilizar la versión más reciente de AWS CLI.

Recupere su pila después de esperar a que se estabilice

Tenga en cuenta el siguiente ejemplo. Si cambia el tipo de volumen de EBS de st1 a gp3, es posible que su pila no actualice el tipo de volumen debido al tamaño del volumen. En esta situación, puede recuperar la pila realizando la operación continue-update-rollback en la pila. Para la operación de recuperación, debe omitir el identificador lógico del recurso que no se pudo actualizar. Su pila termina en estado UPDATE_ROLLBACK_COMPLETE.

Recupere su pila mediante la AWS CLI o la consola de CloudFormation.

AWS CLI:

aws cloudformation continue-update-rollback --stack-name your-stack-name --resources-to-skip logical-ID-of-EBS-volume

Consola de CloudFormation:

1.    Abra la consola de CloudFormation.

2.    En el panel de navegación, seleccione Pilas.

3.    En la columna Nombre de pila, seleccione la pila que está bloqueada en el estado UPDATE_ROLLBACK_FAILED.

4.    Seleccione Acciones de pila, y, a continuación, seleccione Continuar la restauración de la actualización.

5.    En el cuadro de diálogo Continuar la restauración de la actualización, expanda Resolución de problemas avanzada.

6.    En la sección Recursos que omitir (opcional), seleccione los recursos que desee omitir.

Nota: Asegúrese de seleccionar el identificador lógico del volumen que no se ha podido actualizar.

7.    Seleccione Continuar la restauración de la actualización.

Actualice su pila para que coincida con el estado actual de su volumen de EBS

Debe actualizar la pila para que coincida con el estado actual de su volumen de EBS. La plantilla de CloudFormation se actualiza con la actualización de la pila y la pila cambia al estado UPDATE_COMPLETE.

Por ejemplo, puede modificar el tipo de volumen (AWS::EC2::Volume) de st1 a gp3. Sin embargo, el tipo de volumen de CloudFormation sigue siendo st1 debido a la operación de restauración, incluso si la actualización a gp3 se refleja con precisión en Amazon EBS.

1.    Para supervisar el estado del volumen de EBS, utilice la consola de Amazon EC2 o ejecute el siguiente comando:

aws ec2 describe-volumes-modifications --volume-ids your-volume-ID

2.    Cuando el tipo de volumen cambie a gp3 en Amazon EBS, actualice la pila de CloudFormation con el tipo de volumen (AWS::EC2::Volume) como gp3.

Nota: Puede modificar la plantilla de CloudFormation cambiando el tipo de volumen a gp3. A continuación, realice la operación de actualización.

3.    Utilice la detección de desviaciones para comprobar que su recurso de volumen de EBS (AWS::EC2::Volume) esté sincronizado con su pila.

Importante: La actualización de la pila puede tardar más de 36 horas si no utiliza un rol de servicio o si el tamaño del volumen es alto (aproximadamente 8 TiB). En estos casos, la actualización de la pila podría fallar incluso después de usar un rol de servicio con 36 horas de estabilización. A continuación, debe esperar hasta que su pila se estabilice. Durante este período, no puede modificar ningún otro tipo de recurso. Para resolver este problema, siga estos pasos:

1.    Utilice una política de eliminación de Retener para eliminar el volumen de EBS de la pila sin eliminarlo.

2.    Actualice su volumen de EBS fuera de CloudFormation mediante la consola de Amazon EBS en su lugar.

3.    Vuelva a importar su volumen de EBS a su pila.

Si desea mantener el volumen en la pila en todo momento, debe mantener el tamaño del volumen por debajo de un umbral. Por ejemplo, si 8 TiB de datos tardan 64 horas, puede estimar el tamaño máximo para 36 horas y reducir el tamaño de los datos a 4 TiB. Este ajuste de umbral permite que se complete la actualización.


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 3 años