Risorse gestite
Le risorse di Azure gestite da uno stack di distribuzione vengono denominate risorse gestite. Le risorse vengono definite nel file modello usato nella creazione dello stack.
Quando ci si prepara allo sprint successivo per l'applicazione di depositi, si vuole conoscere meglio il modo in cui uno stack di distribuzione gestisce le risorse. Ci si aspetta che l'applicazione subisca modifiche rapide e frequenti mentre le funzionalità vengono testate durante lo sviluppo. Prima di aggiungere, modificare o eliminare risorse dall'applicazione, è necessario conoscere il modo in cui queste risorse vengono gestite.
In questa unità, vengono fornite informazioni sulle risorse gestite e sull'azione del parametro non gestito. Questo parametro determina il modo in cui Azure gestisce le risorse di cui lo stack di distribuzione non si occupa più.
Informazioni sulle risorse gestite
Prima di iniziare ad aggiornare gli stack di distribuzione, viene illustrato il modo in cui uno stack gestisce le risorse. Quando si crea uno stack di distribuzione, questo diventa responsabile della gestione delle risorse descritte nel file modello. Queste risorse sono note come risorse gestite. Le risorse definite nel file modello di uno stack di distribuzione vengono considerate risorse gestite. Gli stack di distribuzione possono essere considerati come una serie di puntatori che raggruppano le risorse dell'applicazione in una singola unità logica, a prescindere dalla loro posizione.
Gli stack di distribuzione possono essere creati in ambiti diversi, ad esempio gruppi di risorse, sottoscrizioni e gruppi di gestione. Le risorse che uno stack di distribuzione può gestire dipendono dall'ambito in cui lo stack viene creato. Ad esempio, se viene distribuito nell'ambito di una sottoscrizione, lo stack può gestire i gruppi di risorse all'interno della sottoscrizione, nonché le risorse appartenenti a qualsiasi gruppo all'interno della stessa sottoscrizione.
Cosa accade a una risorsa non più gestita dallo stack di distribuzione? Se una risorsa non è più definita in un file modello e lo stack viene aggiornato, è possibile che venga scollegata o eliminata. Una risorsa scollegata è una risorsa che non è più gestita dallo stack, ma continua a esistere all'interno di Azure. Una risorsa eliminata è una risorsa che viene rimossa da Azure e tutti i relativi dati vengono persi.
Azione sul parametro non gestito
È possibile controllare il modo in cui Azure gestisce le risorse scollegate, i gruppi di risorse e i gruppi di gestione con una proprietà nota come azione sul parametro non gestito . Questo parametro può essere impostato durante la creazione, la modifica o l'eliminazione di uno stack di distribuzione.
Tutte e tre le operazioni possono impostare il comportamento del parametro dell’azione sul parametro non gestito. Tenere presente che il valore impostato più di recente ha la precedenza.
Ad esempio, se uno stack di distribuzione viene creato con il parametro impostato come --action-on-unmanage detachAll
, Azure scollega tutte le risorse non più gestite dallo stack. Se viene eseguita un'operazione di aggiornamento successiva e il parametro viene impostato su --action-on-unmanage deleteAll
, il comportamento predefinito è deleteAll
.
Esistono tre valori possibili per il parametro --action-on-unmanage
:
deleteAll
: elimina risorse, gruppi di risorse e gruppi di gestionedeleteResources
: elimina risorse, ma scollega gruppi di risorse e gruppi di gestionedetachAll
: scollega tutte le risorse, i gruppi di risorse e i gruppi di gestione
Nota
In questo modulo vengono distribuiti stack di distribuzione con ambito gruppo di risorse. In questo caso, il gruppo di risorse non è gestito dallo stack. Il valore "elimina tutto" per l'azione sul parametro non gestito non elimina il gruppo di risorse in cui è presente lo stack. È necessario eliminare il gruppo di risorse dopo l'eliminazione dello stack e delle relative risorse.
Si esamini ora l'output JSON durante l'uso del comando az stack group show
dell’interfaccia della riga di comando di Azure con i valori impostati per il parametro--action-on-unmanage
. Si noti il comportamento delle risorse, dei gruppi di risorse e dei gruppi di gestione.
--action-on-unmanage deleteAll
"actionOnUnmanage": { "managementGroups": "delete", "resourceGroups": "delete", "resources": "delete" },
--action-on-unmanage deleteResources
"actionOnUnmanage": { "managementGroups": "detach", "resourceGroups": "detach", "resources": "delete" },
--action-on-unmanage detachAll
"actionOnUnmanage": { "managementGroups": "detach", "resourceGroups": "detach", "resources": "detach" },
Ad esempio, se uno stack di distribuzione viene creato con il parametro impostato come -ActionOnUnmanage DetachAll
, Azure scollega tutte le risorse non più gestite dallo stack. Se viene eseguita un'operazione di aggiornamento successiva e il parametro viene impostato su -ActionOnUnmanage DeleteAll
, il comportamento predefinito è DeleteAll
.
Esistono tre valori possibili per il parametro -ActionOnUnmanage
:
DeleteAll
: elimina risorse, gruppi di risorse e gruppi di gestioneDeleteResources
: elimina risorse, ma scollega gruppi di risorse e gruppi di gestioneDetachAll
: scollega tutte le risorse, i gruppi di risorse e i gruppi di gestione
Nota
In questo modulo vengono distribuiti stack di distribuzione con ambito gruppo di risorse. In questo caso, il gruppo di risorse non è gestito dallo stack. >Il valore "elimina tutto" per l'azione sul parametro non gestito non elimina il gruppo di risorse in cui è presente lo stack. È necessario eliminare il gruppo di risorse dopo l'eliminazione dello stack e delle relative risorse.
Si esamini ora l'output JSON durante l'uso del comando Get-AzResourceGroupDeploymentStack
di Azure PowerShell con i valori impostati per il parametro-ActionOnUnmanage
. Si noti il comportamento delle risorse, dei gruppi di risorse e dei gruppi di gestione.
-ActionOnUnmanage DeleteAll
resourcesCleanupAction : delete resourceGroupsCleanupAction : delete managementGroupsCleanupAction : delete
-ActionOnUnmanage DeleteResources
resourcesCleanupAction : delete resourceGroupsCleanupAction : detach managementGroupsCleanupAction : detach
-ActionOnUnmanage DetachAll
resourcesCleanupAction : detach resourceGroupsCleanupAction : detach managementGroupsCleanupAction : detach