Recursos administrados

Completado

Los recursos de Azure administrados por una pila de implementación se denominan recursos administrados. Los recursos se definen en el archivo de plantilla usado en la creación de la pila.

A medida que se prepara para el siguiente sprint para la aplicación de depósitos, quiere obtener más información sobre cómo una pila de implementación administra los recursos. Espera cambios rápidos y frecuentes en la aplicación a medida que se prueban las características en el desarrollo. Antes de agregar, modificar o eliminar recursos de la aplicación, debe saber cómo se administran estos recursos.

En esta unidad, obtendrá información sobre los recursos administrados y el parámetro action on unmanage. Este parámetro determina cómo Azure controla los recursos que ya no administra la pila de implementación.

Descripción de los recursos administrados

Antes de empezar a actualizar las pilas de implementación, echemos un vistazo a cómo una pila administra los recursos. Al crear una pila de implementación, la pila se hace responsable de administrar los recursos descritos en el archivo de plantilla. Estos recursos se conocen como recursos administrados. Siempre que un recurso se defina en el archivo de plantilla de una pila de implementación, se considera un recurso administrado. Piense en las pilas de implementación como una serie de punteros que agrupan los recursos de la aplicación en una sola unidad lógica, independientemente de dónde se puedan implementar esos recursos.

Las pilas de implementación se pueden crear en distintos ámbitos, como grupos de recursos, suscripciones y grupos de administración. Los recursos que puede administrar una pila de implementación dependen del ámbito en el que se crea la pila. Por ejemplo, si implementa una pila en el ámbito de una suscripción, la pila puede administrar grupos de recursos dentro de la suscripción, así como recursos de cualquier grupo de recursos dentro de esa misma suscripción.

Gráfico que representa una pila de implementación y recursos administrados.

¿Qué le sucede a un recurso que ya no está administrado por la pila de implementación? Si ya no se define un recurso en un archivo de plantilla y la pila se actualiza, el recurso puede desasociarse o eliminarse. Un recurso desasociado es un recurso que ya no está administrado por la pila, pero el recurso sigue existiendo en Azure. Un recurso eliminado es un recurso que se elimina de Azure y se pierden todos sus datos.

Action on unmanage

Puede controlar cómo Azure controla los recursos desasociados, los grupos de recursos y los grupos de administración con una propiedad conocida como el parámetro de acción que deja de administrar. Este parámetro se puede establecer al crear, modificar o eliminar una pila de implementación.

Las tres operaciones tienen la capacidad de establecer el comportamiento del parámetro action on unmanage. Recuerde que el valor establecido más recientemente tiene prioridad.

Por ejemplo, si se crea una pila de implementación con el parámetro establecido como --action-on-unmanage detachAll, Azure desasocia los recursos que ya no administra la pila. Si se ejecuta una operación de actualización posterior y el parámetro se establece como --action-on-unmanage deleteAll, el comportamiento tiene como valor predeterminado deleteAll.

Hay tres valores posibles para el parámetro --action-on-unmanage:

  • deleteAll: elimina los recursos, grupos de recursos y grupos de administración
  • deleteResources: elimina los recursos, pero desasocia los grupos de recursos y los grupos de administración
  • detachAll: desasocia todos los recursos, grupos de recursos y grupos de administración

Nota:

En este módulo, estamos trabajando con pilas de implementación con ámbito de grupo de recursos. En esta situación, la pila no administra el grupo de recursos. El valor "eliminar todo" del parámetro action on unmanage no elimina el grupo de recursos donde existe la pila. Es necesario eliminar el grupo de recursos después de eliminar la pila y sus recursos.

Echemos un vistazo a la salida JSON al usar el comando az stack group show de la CLI de Azure con valores establecidos para el parámetro --action-on-unmanage. Observe el comportamiento de los recursos, los grupos de recursos y los grupos de administración.

  1. --action-on-unmanage deleteAll

    "actionOnUnmanage": {
        "managementGroups": "delete",
        "resourceGroups": "delete",
        "resources": "delete"
    },
    
  2. --action-on-unmanage deleteResources

    "actionOnUnmanage": {
        "managementGroups": "detach",
        "resourceGroups": "detach",
        "resources": "delete"
    },
    
  3. --action-on-unmanage detachAll

    "actionOnUnmanage": {
        "managementGroups": "detach",
        "resourceGroups": "detach",
        "resources": "detach"
    },
    

Por ejemplo, si se crea una pila de implementación con el parámetro establecido como -ActionOnUnmanage DetachAll, Azure desasocia los recursos que ya no administra la pila. Si se ejecuta una operación de actualización posterior y el parámetro se establece como -ActionOnUnmanage DeleteAll, el comportamiento tiene como valor predeterminado DeleteAll.

Hay tres valores posibles para el parámetro -ActionOnUnmanage:

  • DeleteAll: elimina los recursos, grupos de recursos y grupos de administración
  • DeleteResources: elimina los recursos, pero desasocia los grupos de recursos y los grupos de administración
  • DetachAll: desasocia todos los recursos, grupos de recursos y grupos de administración

Nota:

En este módulo, estamos trabajando con pilas de implementación con ámbito de grupo de recursos. En esta situación, la pila no administra el grupo de recursos. > El valor "eliminar todo" del parámetro action on unmanage no elimina el grupo de recursos donde existe la pila. Es necesario eliminar el grupo de recursos después de eliminar la pila y sus recursos.

Echemos un vistazo a la salida json al usar el comando Get-AzResourceGroupDeploymentStack de Azure PowerShell con valores establecidos para el parámetro -ActionOnUnmanage. Observe el comportamiento de los recursos, los grupos de recursos y los grupos de administración.

  1. -ActionOnUnmanage DeleteAll

    resourcesCleanupAction        : delete
    resourceGroupsCleanupAction   : delete
    managementGroupsCleanupAction : delete
    
  2. -ActionOnUnmanage DeleteResources

    resourcesCleanupAction        : delete
    resourceGroupsCleanupAction   : detach
    managementGroupsCleanupAction : detach
    
  3. -ActionOnUnmanage DetachAll

    resourcesCleanupAction        : detach
    resourceGroupsCleanupAction   : detach
    managementGroupsCleanupAction : detach