

# Continuación de la restauración de una actualización
<a name="using-cfn-updating-stacks-continueupdaterollback"></a>

A veces, cuando CloudFormation intenta revertir una actualización de pila, no puede revertir todos los cambios que realizó durante el proceso de actualización. Esto se denomina estado `UPDATE_ROLLBACK_FAILED`. Por ejemplo, puede tener una pila que comience a restaurar una antigua instancia de base de datos que se eliminó fuera de CloudFormation. Dado que CloudFormation no sabe que la base de datos se ha eliminado, asume que la instancia de base de datos aún existe e intenta restaurarla, lo que provoca que la restauración de la actualización falle.

Una pila en el estado `UPDATE_ROLLBACK_FAILED` no se puede actualizar, pero se puede revertir a un estado de funcionamiento (`UPDATE_ROLLBACK_COMPLETE`). Luego de devolver la pila a su configuración originar, puede tratar de volver a actualizarla.

En la mayoría de los casos, debe solucionar el error que hace que la restauración de la actualización genere un error antes de continuar la restauración de la pila. En otros casos, puede continuar la restauración de la actualización sin ningún cambio, por ejemplo cuando se agota el tiempo de espera de una operación de pila.

**nota**  
Si utiliza pilas anidadas, al restaurar la pila principal se intentará restaurar también todas las pilas secundarias.

**Para continuar la restauración de una actualización (consola)**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. En la barra de navegación de la parte superior de la pantalla, elija la Región de AWS en donde se encuentra la pila.

1. En la página **Pilas**, seleccione la pila que desea actualizar, elija **Acciones de pila** y, a continuación, elija **Continuar la restauración de la actualización**.

   Si no funciona ninguna de las soluciones de [Solución de errores](troubleshooting.md#troubleshooting-errors), puede utilizar la opción avanzada para omitir los recursos que CloudFormation no puede restaurar correctamente. Debe [buscar](cfn-console-view-stack-data-resources.md) y escribir los ID lógicos de los recursos que desea omitir. Especifique únicamente los recursos que han pasado al estado `UPDATE_FAILED` durante la operación `UpdateRollback` y no durante la actualización de reenvío.
**aviso**  
CloudFormation establece el estado de los recursos especificados como `UPDATE_COMPLETE` y continúa restaurando la pila. Después de que la restauración se haya completado, el estado de los recursos omitidos será incompatible con el estado de los recursos de la plantilla de pila. Antes de realizar otra actualización de pila, debe actualizar la pila o los recursos para que sean coherentes entre sí. De lo contrario, las actualizaciones de pilas posteriores podrían fallar y la pila será irrecuperable.

   Especifique el número mínimo de recursos necesarios para restaurar correctamente la pila. Por ejemplo, una actualización de recursos incorrecta podría provocar que los recursos dependientes fallaran. En este caso, no sería necesario omitir los recursos dependientes.

   Para omitir los recursos que forman parte de pilas anidadas, utilice el siguiente formato: `{{NestedStackName}}.{{ResourceLogicalID}}`. Si desea especificar el ID lógico de un recurso de pila (`Type: AWS::CloudFormation::Stack`) en la lista `ResourcesToSkip`, su pila integrada correspondiente debe estar en uno de los siguientes estados: `DELETE_IN_PROGRESS`, `DELETE_COMPLETE` o `DELETE_FAILED`.

**Para continuar con la restauración de una actualización (AWS CLI)**
+ Utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/continue-update-rollback.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/continue-update-rollback.html) con la opción `--stack-name` para especificar el ID de la pila que desea seguir restaurando.

## Continúe con la reversión de las actualizaciones con fallas de la pila anidada
<a name="nested-stacks"></a>

Cuando tiene varias pilas anidadas dentro de cada una, es posible que tenga que omitir los recursos entre varios niveles anidados para que toda la jerarquía de pilas vuelva a funcionar correctamente. 

Por ejemplo, tiene una pila raíz llamada `WebInfra` que contiene dos pilas más pequeñas en su interior: `WebInfra-Compute` y `WebInfra-Storage`. Estas dos pilas también tienen sus propias pilas anidadas dentro de ellas.

Si algo sale mal durante una actualización y el proceso de actualización falla, es posible que toda la jerarquía de pilas acabe con el estado `UPDATE_ROLLBACK_FAILED`, como se muestra en el siguiente diagrama. 

![Un diagrama muestra una jerarquía de tres niveles de pilas anidadas.](http://docs.aws.amazon.com/es_es/AWSCloudFormation/latest/UserGuide/images/cfn-update-stack-continue-update-rollback_nested-stacks.png)


**nota**  
Los nombres de pilas de este ejemplo se han cortado para simplificar. CloudFormation suele generar nombres de pila secundarios, que contienen cadenas aleatorias únicas, por lo que es posible que los nombres reales no sean intuitivos.

Para poner la pila raíz en un estado de funcionamiento con el comando `continue-update-rollback`, debe utilizar la opción `--resources-to-skip` para omitir recursos que no se pudieron restaurar.

El ejemplo de **continue-update-rollback** a continuación reanuda una operación de reversión a partir de un intento fallido previo de una actualización de pila. En este ejemplo, la opción `--resources-to-skip` incluye los siguientes elementos:
+ `{{myCustom}}`
+ `{{WebInfra-Compute-Asg.myAsg}}`
+ `{{WebInfra-Compute-LB.myLoadBalancer}}`
+ `{{WebInfra-Storage.DB}}`

Para los recursos de la pila raíz, solo debe proporcionar el ID lógico, por ejemplo, `{{myCustom}}`. Sin embargo, para los recursos que se encuentran en las pilas anidadas, debe proporcionar el nombre de la pila anidada y su ID lógico, separados por un punto. Por ejemplo, `{{WebInfra-Compute-Asg.myAsg}}`.

```
aws cloudformation continue-update-rollback --stack-name {{WebInfra}} \
    --resources-to-skip {{myCustom WebInfra-Compute-Asg.myAsg WebInfra-Compute-LB.myLoadBalancer WebInfra-Storage.DB}}
```

**Búsqueda del nombre de pila de una pila anidada**  
Puede ubicarlo dentro del ID de pila o Nombre de recurso de Amazon (ARN) de una pila secundaria.

El siguiente ejemplo de ARN refiere a una pila denominada `WebInfra-Storage-Z2VKC706XKXT`.

```
arn:aws:cloudformation:us-east-1:123456789012:stack/WebInfra-Storage-Z2VKC706XKXT/ea9e7f90-54f7-11e6-a032-028f3d2330bd
```

**Búsqueda del ID lógico de una pila anidada**  
Puede encontrar el ID lógico de una pila secundaria en la definición de plantilla de su principal. En el diagrama, el `LogicalId` de la pila secundaria `WebInfra-Storage-DB` es `DB` en su principal `WebInfra-Storage`.

En la consola de CloudFormation, también puede encontrar el ID lógico en la columna **Logical ID (ID lógico)** del recurso de pila en la pestaña **Resources (Recursos)** o la pestaña **Events (Eventos)**. Para obtener más información, consulte [Visualización de la información de la pila desde la consola de CloudFormation](cfn-console-view-stack-data-resources.md).