0Pricing
Cloud & IT Cert Prep · Lekcja

Jak działa Azure Resource Manager

Prześledź żądanie utworzenia zasobu w warstwie ARM, poznaj grupy zasobów jako kontenery logiczne oraz dowiedz się o dostępie opartym na rolach i ścieżce audytu ARM.

Jak działa Azure Resource Manager to bezpłatna lekcja Cloud & IT Cert Prep na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cloud & IT Cert Prep, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.

Czym jest Azure Resource Manager?

Azure Resource Manager (ARM) to usługa wdrażania i zarządzania platformą Azure. Każda operacja wykonywana w portalu Azure, za pomocą interfejsu wiersza poleceń, programu PowerShell lub interfejsu REST API przechodzi przez usługę ARM. Działa ona jako scentralizowana płaszczyzna sterowania, która uwierzytelnia, autoryzuje i kieruje każdą operacją na zasobach.

Przepływ żądań ARM

Gdy wysyła Pan/Pani żądanie utworzenia zasobu, ARM przechwytuje je, weryfikuje Pana/Pani tożsamość za pomocą Microsoft Entra ID, sprawdza uprawnienia RBAC, stosuje odpowiednie reguły Azure Policy, a następnie przekazuje zweryfikowane żądanie do właściwego dostawcy zasobów. Dostawca zasobów (np. Microsoft.Compute) wykonuje właściwą operację i zwraca wynik do ARM.

# Example: creating a VM via Azure CLI (routed through ARM)
az vm create \
  --resource-group MyRG \
  --name MyVM \
  --image UbuntuLTS \
  --admin-username azureuser

Dostawcy zasobów i typy zasobów

Usługi Azure są udostępniane za pośrednictwem dostawców zasobów, z których każdy jest identyfikowany przez przestrzeń nazw, taką jak Microsoft.Storage lub Microsoft.Network. Każdy typ zasobu (np. Microsoft.Storage/storageAccounts) musi zostać zarejestrowany w subskrypcji, zanim będzie można utworzyć jego wystąpienia. Większość dostawców jest rejestrowana automatycznie przy pierwszym użyciu powiązanej usługi.

# List registered resource providers
az provider list --query "[?registrationState=='Registered'].namespace" -o table

# Register a provider manually
az provider register --namespace Microsoft.Insights

Grupy zasobów jako kontenery logiczne

Grupa zasobów to logiczny kontener zawierający powiązane zasoby Azure. Wszystkie zasoby w grupie mają ten sam cykl życia — można je wdrażać, aktualizować i usuwać razem. Grupy zasobów służą również jako domyślny zakres przypisań RBAC i śledzenia kosztów. Każdy zasób Azure musi należeć dokładnie do jednej grupy zasobów.

# Create a resource group
az group create --name MyResourceGroup --location eastus

# List all resources in a resource group
az resource list --resource-group MyResourceGroup -o table

ARM i kontrola dostępu oparta na rolach

ARM wymusza kontrolę dostępu opartą na rolach (RBAC) w każdym zakresie: grupy zarządzania, subskrypcji, grupy zasobów lub pojedynczego zasobu. Wbudowane role, takie jak Owner, Contributor i Reader, obejmują większość scenariuszy. ARM ocenia przypisania ról od najszerszego zakresu w dół, a przypisania odmowy mogą blokować dziedziczone uprawnienia.

# Assign Contributor role at resource group scope
az role assignment create \
  --assignee user@contoso.com \
  --role 'Contributor' \
  --resource-group MyResourceGroup

Ślad audytowy ARM

Każda operacja przekierowana przez ARM jest rejestrowana w Azure Activity Log. Dziennik aktywności rejestruje, kto wykonał operację, którego zasobu dotyczyła, kiedy została wykonana oraz czy zakończyła się powodzeniem, czy niepowodzeniem. Dzienniki aktywności są domyślnie przechowywane przez 90 dni i można je archiwizować na koncie Storage Account lub przesyłać strumieniowo do Log Analytics w celu dłuższego przechowywania.

# Query recent ARM operations in activity log
az monitor activity-log list \
  --resource-group MyResourceGroup \
  --max-events 10 \
  --query '[].{time:eventTimestamp, caller:caller, operation:operationName.value, status:status.value}' \
  -o table

Wdrożenia deklaratywne a imperatywne

ARM obsługuje zarówno deklaratywny, jak i imperatywny styl wdrażania. Wdrożenia deklaratywne używają szablonów ARM lub Bicep do opisania pożądanego stanu końcowego; ARM ustala operacje potrzebne do jego osiągnięcia. Wdrożenia imperatywne wykorzystują polecenia interfejsu wiersza polecenia lub PowerShell wykonywane krok po kroku. Wdrożenia deklaratywne są preferowane ze względu na powtarzalność, kontrolę wersji i idempotencję.

# Imperative: create storage account step-by-step
az storage account create \
  --name mystorageaccount \
  --resource-group MyRG \
  --location eastus \
  --sku Standard_LRS

# Declarative: deploy via ARM template
az deployment group create \
  --resource-group MyRG \
  --template-file azuredeploy.json \
  --parameters @azuredeploy.parameters.json

Tryby wdrażania: Complete a Incremental

Wdrożenia szablonów ARM mogą działać w dwóch trybach. Tryb Incremental (domyślny) dodaje lub aktualizuje zasoby zdefiniowane w szablonie, pozostawiając bez zmian zasoby znajdujące się już w grupie, ale nieuwzględnione w szablonie. Tryb Complete usuwa z grupy zasobów wszystkie zasoby, które nie zostały zdefiniowane w szablonie, dzięki czemu grupa dokładnie odpowiada szablonowi — należy używać go ostrożnie.

# Incremental deployment (default)
az deployment group create \
  --resource-group MyRG \
  --template-file azuredeploy.json \
  --mode Incremental

# Complete deployment (deletes unlisted resources!)
az deployment group create \
  --resource-group MyRG \
  --template-file azuredeploy.json \
  --mode Complete

Struktura szablonu ARM

Szablon ARM to dokument JSON z sześcioma głównymi sekcjami: $schema (wersja szablonu), contentVersion, parameters (dane wejściowe), variables (wartości obliczane), resources (elementy do wdrożenia) oraz outputs (wartości zwracane). Tablica resources zawiera po jednym obiekcie dla każdego zasobu Azure, a każdy obiekt określa typ, wersję interfejsu API, nazwę, lokalizację i właściwości.

{
  '$schema': 'https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#',
  'contentVersion': '1.0.0.0',
  'parameters': {},
  'variables': {},
  'resources': [
    {
      'type': 'Microsoft.Storage/storageAccounts',
      'apiVersion': '2023-01-01',
      'name': 'mystorageaccount',
      'location': '[resourceGroup().location]',
      'sku': { 'name': 'Standard_LRS' },
      'kind': 'StorageV2'
    }
  ],
  'outputs': {}
}

Zarządzanie zależnościami w ARM

Podczas wdrażania wielu zasobów ARM może domyślnie wdrażać niezależne zasoby równolegle, przyspieszając wdrożenia. Gdy jeden zasób zależy od innego (np. maszyna wirtualna wymaga interfejsu NIC, a interfejs NIC wymaga sieci VNet), zależność należy zadeklarować jawnie za pomocą dependsOn. ARM rozwiązuje graf zależności i odpowiednio ustala kolejność operacji.

{
  'type': 'Microsoft.Network/networkInterfaces',
  'name': 'myNic',
  'dependsOn': [
    '[resourceId("Microsoft.Network/virtualNetworks", "myVNet")]'
  ],
  'properties': {
    'ipConfigurations': [{
      'name': 'ipconfig1',
      'properties': {
        'subnet': {
          'id': '[resourceId("Microsoft.Network/virtualNetworks/subnets", "myVNet", "mySubnet")]'
        }
      }
    }]
  }
}

Analiza wdrożenia What-If

Przed uruchomieniem wdrożenia należy użyć operacji what-if, aby wyświetlić podgląd zmian, które ARM wprowadzi, bez faktycznego ich zastosowania. Dane wyjściowe zawierają listę zasobów, które zostaną utworzone, zmodyfikowane lub usunięte, oznaczonych kolorami według typu zmiany. Jest to szczególnie przydatne przed uruchomieniem wdrożenia w trybie Complete lub wprowadzeniem zmian w środowiskach produkcyjnych.

# Preview changes before deploying
az deployment group what-if \
  --resource-group MyRG \
  --template-file azuredeploy.json \
  --parameters @params.json

Szybki test

Sprawdź swoją wiedzę na temat zagadnień Microsoft Azure Fundamentals (AZ-900) omówionych w tej lekcji.

Podsumowanie lekcji

W tej lekcji nauczył(a) się Pan/Pani, że Azure Resource Manager to centralna warstwa zarządzania wszystkimi zasobami Azure, grupy zasobów to logiczne kontenery grupujące zasoby o wspólnym cyklu życia, a wdrożenia ARM mogą działać w trybie Incremental lub Complete i obsługują podgląd zmian za pomocą what-if. Następnie zajmiemy się tworzeniem szablonów ARM.

Często zadawane pytania

Czy lekcja „Jak działa Azure Resource Manager” jest bezpłatna?

Tak — pełny tekst „Jak działa Azure Resource Manager” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cloud & IT Cert Prep, przejdź na CoddyKit PRO. Kurs Cloud & IT Cert Prep zawiera 4 lekcji w sumie.

Co nauczysz się w „Jak działa Azure Resource Manager”?

Prześledź żądanie utworzenia zasobu w warstwie ARM, poznaj grupy zasobów jako kontenery logiczne oraz dowiedz się o dostępie opartym na rolach i ścieżce audytu ARM. Ćwiczysz Cloud & IT Cert Prep z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cloud & IT Cert Prep?

Nie wymagamy żadnego doświadczenia. Cloud & IT Cert Prep w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „Jak działa Azure Resource Manager”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cloud & IT Cert Prep?

Tak. Każda lekcja Cloud & IT Cert Prep zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Jak działa Azure Resource Manager
  2. Pisanie szablonów ARM
  3. Bicep: nowoczesna infrastruktura Azure jako kod
  4. Terraform na platformie Azure
← Powrót do Cloud & IT Cert Prep