Zasoby zarządzane

Ukończone

Zasoby platformy Azure zarządzane przez stos wdrożenia są nazywane zasobami zarządzanymi. Zasoby są definiowane w pliku szablonu używanym podczas tworzenia stosu.

Gdy przygotowujesz się do następnego przebiegu dla aplikacji depozytów, chcesz dowiedzieć się więcej o tym, jak stos wdrożenia zarządza zasobami. Oczekujesz szybkich i częstych zmian w aplikacji, ponieważ funkcje są testowane podczas opracowywania. Zanim dodasz, zmodyfikujesz lub usuniesz zasoby z aplikacji, musisz wiedzieć, jak te zasoby są zarządzane.

W tej lekcji dowiesz się więcej o zarządzanych zasobach i akcji dotyczącej parametru niezarządzania . Ten parametr określa, jak platforma Azure obsługuje zasoby, którymi nie zarządza już stos wdrożenia.

Omówienie zasobów zarządzanych

Zanim przejdziemy do aktualizowania stosów wdrażania, przyjrzyjmy się, jak stos zarządza zasobami. Podczas tworzenia stosu wdrożenia stos staje się odpowiedzialny za zarządzanie zasobami opisanymi w pliku szablonu. Te zasoby są nazywane zasobami zarządzanymi. Jeśli zasób jest zdefiniowany w pliku szablonu stosu wdrożenia, jest uważany za zasób zarządzany. Stosy wdrażania można traktować jako serię wskaźników, które grupują zasoby aplikacji w jedną jednostkę logiczną, niezależnie od tego, gdzie te zasoby mogą być wdrażane.

Stosy wdrażania można tworzyć w różnych zakresach, takich jak grupy zasobów, subskrypcje i grupy zarządzania. Zasoby, którymi może zarządzać stos wdrożenia, zależą od zakresu, w którym jest tworzony stos. Jeśli na przykład wdrożysz stos w zakresie subskrypcji, stos może zarządzać grupami zasobów w ramach subskrypcji, a także zasobami w dowolnej grupie zasobów w ramach tej samej subskrypcji.

Grafika przedstawiająca stos wdrożenia i zarządzane zasoby.

Co się stanie z zasobem, który nie jest już zarządzany przez stos wdrożenia? Jeśli zasób nie jest już zdefiniowany w pliku szablonu i stos jest aktualizowany, zasób może zostać odłączony lub usunięty. Odłączony zasób to zasób, który nie jest już zarządzany przez stos, ale zasób nadal istnieje na platformie Azure. Usunięty zasób to zasób usunięty z platformy Azure, a wszystkie jego dane zostaną utracone.

Akcja w przypadku niezarządzania

Możesz kontrolować, jak platforma Azure obsługuje odłączone zasoby, grupy zasobów i grupy zarządzania za pomocą właściwości znanej jako akcja dla parametru niezarządzanego . Ten parametr można ustawić podczas tworzenia, modyfikowania lub usuwania stosu wdrożenia.

Wszystkie trzy operacje mają możliwość ustawienia zachowania akcji dla parametru niezarządzanego . Należy pamiętać, że ostatnio zestaw wartości ma pierwszeństwo.

Jeśli na przykład stos wdrożenia zostanie utworzony z ustawionym parametrem jako --action-on-unmanage detachAll, platforma Azure odłącza wszystkie zasoby, które nie są już zarządzane przez stos. Jeśli zostanie uruchomiona kolejna operacja aktualizacji, a parametr jest ustawiony jako --action-on-unmanage deleteAll, zachowanie domyślnie ma wartość deleteAll.

Dla parametru --action-on-unmanage istnieją trzy możliwe wartości:

  • deleteAll — usuwa zasoby, grupy zasobów i grupy zarządzania
  • deleteResources — usuwa zasoby, ale odłącza grupy zasobów i grupy zarządzania
  • detachAll — odłącza wszystkie zasoby, grupy zasobów i grupy zarządzania

Uwaga

W tym module pracujemy z stosami wdrożenia w zakresie grupy zasobów. W takiej sytuacji sama grupa zasobów nie jest zarządzana przez stos. Wartość "Usuń wszystkie" akcji dla parametru niezarządzania nie powoduje usunięcia grupy zasobów, w której istnieje stos. Należy usunąć grupę zasobów po usunięciu stosu i jej zasobów.

Przyjrzyjmy się danych wyjściowych JSON podczas korzystania z polecenia interfejsu wiersza polecenia az stack group show platformy Azure z wartościami ustawionymi dla parametru --action-on-unmanage . Zwróć uwagę na zachowanie zasobów, grup zasobów i grup zarządzania.

  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"
    },
    

Jeśli na przykład stos wdrożenia zostanie utworzony z ustawionym parametrem jako -ActionOnUnmanage DetachAll, platforma Azure odłącza wszystkie zasoby, które nie są już zarządzane przez stos. Jeśli zostanie uruchomiona kolejna operacja aktualizacji, a parametr jest ustawiony jako -ActionOnUnmanage DeleteAll, zachowanie domyślnie ma wartość DeleteAll.

Dla parametru -ActionOnUnmanage istnieją trzy możliwe wartości:

  • DeleteAll — usuwa zasoby, grupy zasobów i grupy zarządzania
  • DeleteResources — usuwa zasoby, ale odłącza grupy zasobów i grupy zarządzania
  • DetachAll — odłącza wszystkie zasoby, grupy zasobów i grupy zarządzania

Uwaga

W tym module pracujemy z stosami wdrożeń w zakresie grupy resrouce. W takiej sytuacji grupa zasobów nie jest zarządzana przez stos. > Wartość "Usuń wszystkie" akcji dla parametru niezarządzania nie powoduje detele grupy zasobów, w której istnieje stos. Jego konieczność usunięcia grupy zasobów po usunięciu stosu i jej zasobów.

Przyjrzyjmy się danych wyjściowych json podczas korzystania z polecenia programu Azure PowerShell Get-AzResourceGroupDeploymentStack z wartościami ustawionymi dla parametru -ActionOnUnmanage . Zwróć uwagę na zachowanie zasobów, grup zasobów i grup zarządzania.

  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