Co to jest usługa Azure Resource Manager?

Usługa Azure Resource Manager to usługa wdrażania i zarządzania dla platformy Azure. Zapewnia warstwę zarządzania, która umożliwia tworzenie, aktualizowanie i usuwanie zasobów na koncie platformy Azure. Za pomocą funkcji zarządzania, takich jak kontrola dostępu, blokady i tagi, można zabezpieczyć oraz zorganizować zasoby po wdrożeniu.

Aby dowiedzieć się więcej na temat szablonów usługi Azure Resource Manager (szablonów usługi ARM), zobacz Omówienie szablonu usługi ARM. Aby dowiedzieć się więcej o Bicep, zobacz Omówienie Bicep.

W poniższym filmie wideo omówiono podstawowe pojęcia dotyczące usługi Azure Resource Manager.

Spójna warstwa zarządzania

Po wysłaniu żądania za pośrednictwem dowolnego interfejsu API platformy Azure, narzędzi lub zestawów SDK usługa Resource Manager odbiera żądanie. Uwierzytelnia i autoryzuje żądanie przed przekazaniem go do odpowiedniej usługi platformy Azure. Ponieważ wszystkie żądania są obsługiwane przez ten sam interfejs API, użytkownik widzi spójne wyniki i możliwości w różnych narzędziach.

Na poniższym obrazie przedstawiono rolę, jaką odgrywa usługa Azure Resource Manager w obsłudze żądań platformy Azure.

Diagram that shows the role of Azure Resource Manager in handling Azure requests.

Wszystkie funkcje, które są dostępne w portalu są również dostępne za pośrednictwem programu PowerShell, interfejsu wiersza polecenia platformy Azure, interfejsów API REST oraz zestawów SDK klienta. Funkcje początkowo udostępniane za pośrednictwem interfejsów API są reprezentowane w portalu w ciągu 180 dni od wydania początkowego.

Ważne

Usługa Azure Resource Manager będzie obsługiwać tylko protokół Transport Layer Security (TLS) 1.2 lub nowszy do jesieni 2023 r. Aby uzyskać więcej informacji, zobacz Migrowanie do protokołu TLS 1.2 dla usługi Azure Resource Manager.

Terminologia

Jeśli dopiero zaczynasz korzystać z usługi Azure Resource Manager, oto kilka terminów, których możesz nie znać.

  • Zasób — dostępny za pośrednictwem platformy Azure element, którym można zarządzać. Przykładami zasobów są maszyny wirtualne, konta magazynu, aplikacje internetowe, bazy danych i sieci wirtualne. Grupy zasobów, subskrypcje, grupy zarządzania i tagi są również przykładami zasobów.
  • Grupa zasobów — kontener, który zawiera powiązane zasoby rozwiązania dla platformy Azure. Grupa zasobów zawiera zasoby, którymi chcesz zarządzać jako grupą. Należy zdecydować, które zasoby należą do grupy zasobów, w oparciu o to, co jest najrozsądniejsze dla Twojej organizacji. Zobacz Co to jest grupa zasobów?.
  • Dostawca zasobów — usługa dostarczająca zasoby platformy Azure. Na przykład typowym dostawcą zasobów jest Microsoft.Compute, który dostarcza zasób maszyny wirtualnej. Microsoft.Storage jest innym typowym dostawcą zasobów. Zobacz Dostawcy zasobów i typy.
  • składnia deklaratywna — składnia umożliwiająca określenie "Oto, co zamierzam utworzyć" bez konieczności pisania sekwencji poleceń programowania w celu jej utworzenia. Szablony usługi ARM i pliki Bicep to przykłady składni deklaratywnej. W tych plikach zdefiniujesz właściwości infrastruktury do wdrożenia na platformie Azure.
  • Szablon usługi ARM — plik JavaScript Object Notation (JSON), który definiuje co najmniej jeden zasób do wdrożenia w grupie zasobów, subskrypcji, grupie zarządzania lub dzierżawie. Szablon może służyć do spójnego i wielokrotnego wdrażania zasobów. Zobacz Omówienie wdrażania szablonu.
  • Plik Bicep — plik do deklaratywnego wdrażania zasobów platformy Azure. Bicep to język, który został zaprojektowany w celu zapewnienia najlepszego środowiska tworzenia infrastruktury jako rozwiązań kodu na platformie Azure. Zobacz Omówienie Bicep.
  • zasób rozszerzenia — zasób, który dodaje do możliwości innego zasobu. Na przykład przypisanie roli jest zasobem rozszerzenia. Aby określić dostęp, należy zastosować przypisanie roli do dowolnego innego zasobu. Zobacz Zasoby rozszerzenia.

Aby uzyskać więcej definicji terminologii platformy Azure, zobacz Podstawowe pojęcia dotyczące platformy Azure.

Zalety korzystania z usługi Resource Manager

Usługa Resource Manager udostępnia następujące możliwości:

  • Zarządzanie infrastrukturą przy użyciu szablonów deklaratywnych zamiast skryptów.

  • Wdrażanie i monitorowanie wszystkich zasobów rozwiązania jako grupy, a także zarządzania nimi, zamiast obsługi tych zasobów indywidualnie.

  • Ponowne wdrażanie rozwiązania w całym cyklu projektowania i zachowanie pewności, że zasoby są wdrażane w stanie spójności.

  • Definiowanie zależności między zasobami w celu wdrożenia w odpowiedniej kolejności.

  • Zastosuj kontrolę dostępu do wszystkich usług, ponieważ kontrola dostępu oparta na rolach (RBAC) platformy Azure jest natywnie zintegrowana z platformą zarządzania.

  • Zastosowanie tagów do zasobów w celu logicznej organizacji wszystkich zasobów w subskrypcji.

  • Wyjaśnienie rozliczeń organizacji, wyświetlając koszty dla grupy zasobów korzystających z tego samego tagu.

Objaśnienie zakresu

Platforma Azure oferuje cztery poziomy zakresu zarządzania: grupy zarządzania, subskrypcje, grupy zasobów i zasoby. Na poniższym obrazie przedstawiono przykład tych warstw.

Diagram that illustrates the four levels of scope in Azure: management groups, subscriptions, resource groups, and resources.

Ustawienia zarządzania są stosowane na każdym z tych poziomów zakresu. Wybrany poziom określa, jaki jest zasięg zastosowania tego ustawienia. Niższe poziomy dziedziczą ustawienia z wyższych poziomów. Na przykład w przypadku zastosowania zasad do subskrypcji zasady są stosowane do wszystkich grup zasobów i zasobów w ramach subskrypcji. Po zastosowaniu zasad w grupie zasobów te zasady są stosowane do grupy zasobów i wszystkich jej zasobów. Jednak inna grupa zasobów nie ma takiego przypisania zasad.

Aby uzyskać informacje na temat zarządzania tożsamościami i dostępem, zobacz Microsoft Entra ID.

Szablony można wdrażać w dzierżawach, grupach zarządzania, subskrypcjach lub grupach zasobów.

Co to jest grupa zasobów?

Grupa zasobów to kontener, który umożliwia zarządzanie powiązanymi zasobami dla rozwiązania platformy Azure. Za pomocą grupy zasobów można koordynować zmiany powiązanych zasobów. Na przykład można wdrożyć aktualizację w grupie zasobów i mieć pewność, że zasoby są aktualizowane w skoordynowanej operacji. Ewentualnie po zakończeniu pracy z rozwiązaniem możesz usunąć grupę zasobów i wiedzieć, że wszystkie zasoby zostaną usunięte.

Definiując grupę zasobów, należy wziąć pod uwagę pewne ważne czynniki:

  • Wszystkie zasoby w grupie zasobów powinny mieć ten sam cykl życia. Są one wdrażane, aktualizowane i usuwane razem. Jeśli jeden zasób, taki jak serwer, musi istnieć w innym cyklu wdrażania, powinien znajdować się w innej grupie zasobów.

  • Każdy zasób może znajdować się tylko w jednej grupie zasobów.

  • Zasoby w grupie można dodawać i usuwać w dowolnym momencie.

  • Zasoby można przenosić między poszczególnymi grupami. Aby uzyskać więcej informacji, zobacz Move resources to new resource group or subscription (Przenoszenie zasobów do nowej grupy lub subskrypcji).

  • Zasoby w grupie zasobów mogą znajdować się w różnych regionach niż grupa zasobów.

  • Podczas tworzenia grupy zasobów należy podać lokalizację dla tej grupy zasobów.

    Być może zastanawiasz się, „Dlaczego grupa zasobów wymaga określenia lokalizacji? Ponadto dlaczego lokalizacja grupy zasobów jest w ogóle istotna, skoro zasoby mogą znajdować się w innej lokalizacji niż grupa zasobów?”

    Grupa zasobów przechowuje metadane dotyczące zasobów. Po określeniu lokalizacji dla grupy zasobów określasz miejsce przechowywania tych metadanych. W celu zapewnienia zgodności może być konieczne upewnienie się, że dane są przechowywane w konkretnym regionie.

    Aby zapewnić spójność stanu dla grupy zasobów, wszystkie operacje płaszczyzny sterowania są kierowane przez lokalizację grupy zasobów. Podczas wybierania lokalizacji grupy zasobów zalecamy wybranie lokalizacji w pobliżu lokalizacji, z której pochodzą operacje sterowania. Zazwyczaj jest to lokalizacja znajdująca się najbliżej bieżącej lokalizacji. To wymaganie routingu dotyczy tylko operacji płaszczyzny sterowania dla grupy zasobów. Nie ma to wpływu na żądania wysyłane do aplikacji.

    Jeśli region grupy zasobów jest tymczasowo niedostępny, może nie być możliwe zaktualizowanie zasobów w grupie zasobów, ponieważ metadane są niedostępne. Zasoby w innych regionach nadal działają zgodnie z oczekiwaniami, ale może nie być możliwe ich zaktualizowanie. Ten warunek może mieć zastosowanie również do zasobów globalnych, takich jak Azure DNS, Azure DNS Private Zones, Azure Traffic Manager i Azure Front Door. Możesz wyświetlić, które typy mają metadane zarządzane przez usługę Azure Resource Manager, korzystając z listy typów dla tabeli zasobów usługi Azure Resource Graph.

    Aby uzyskać więcej informacji na temat tworzenia niezawodnych aplikacji, zobacz Projektowanie niezawodnych aplikacji platformy Azure.

  • Grupa zasobów może służyć do określania zakresu kontroli dostępu na potrzeby działań administracyjnych. Aby zarządzać grupą zasobów, możesz przypisać zasady platformy Azure, role platformy Azure lub blokady zasobów.

  • Tagi można stosować do grupy zasobów. Zasoby w grupie zasobów nie dziedziczą tych tagów.

  • Zasób może łączyć się z zasobami w innych grupach zasobów. Ten scenariusz jest typowy, gdy dwa zasoby są powiązane, ale nie mają tego samego cyklu życia. Na przykład możesz mieć aplikację internetową, która łączy się z bazą danych w innej grupie zasobów.

  • Po usunięciu grupy zasobów wszystkie zasoby w grupie zasobów również zostaną usunięte. Aby uzyskać informacje o sposobie organizowania tych operacji usuwania przez usługę Azure Resource Manager, zobacz Azure Resource Manager resource group and resource deletion (Usuwanie zasobów i grupa zasobów usługi Azure Resource Manager).

  • W każdej grupie zasobów można wdrożyć maksymalnie 800 wystąpień typu zasobu. Niektóre typy zasobów są wykluczone z limitu 800 wystąpień. Aby uzyskać więcej informacji, zobacz Limity grup zasobów.

  • Niektóre zasoby mogą istnieć poza grupą zasobów. Te zasoby są wdrażane w subskrypcji, grupie zarządzania lub dzierżawie. W tych zakresach są obsługiwane tylko określone typy zasobów.

  • Aby utworzyć grupę zasobów, możesz użyć portalu, programu PowerShell, interfejsu wiersza polecenia platformy Azure lub szablonu usługi ARM.

Odporność usługi Azure Resource Manager

Usługa Azure Resource Manager została zaprojektowana pod kątem odporności i ciągłej dostępności. Operacje usługi Resource Manager i płaszczyzny sterowania (żądania wysyłane do management.azure.com) w interfejsie API REST to:

  • Rozproszone między regionami. Usługa Azure Resource Manager ma oddzielne wystąpienie w każdym regionie świadczenia usługi Azure, co oznacza, że awaria wystąpienia usługi Azure Resource Manager w jednym regionie nie ma wpływu na dostępność usługi Azure Resource Manager ani innych usług platformy Azure w innym regionie. Chociaż usługa Azure Resource Manager jest dystrybuowana między regionami, niektóre usługi są regionalne. To rozróżnienie oznacza, że chociaż początkowa obsługa operacji płaszczyzny sterowania jest odporna, żądanie może być podatne na awarie regionalne po przesłaniu dalej do usługi.

  • Rozproszone między Strefy dostępności (i regionami) w lokalizacjach, które mają wiele Strefy dostępności. Ta dystrybucja gwarantuje, że gdy region utraci co najmniej jedną strefę, usługa Azure Resource Manager może przejść w tryb failover do innej strefy lub do innego regionu, aby nadal zapewniać możliwości płaszczyzny sterowania dla zasobów.

  • Nie zależy od pojedynczego logicznego centrum danych.

  • Nigdy nie zdjęte na potrzeby działań konserwacyjnych.

Ta odporność ma zastosowanie do usług odbierających żądania za pośrednictwem usługi Resource Manager. Na przykład usługa Key Vault korzysta z tej odporności.

Wyrównanie lokalizacji grupy zasobów

Aby zmniejszyć wpływ awarii regionalnych, zalecamy zlokalizowanie zasobów w tym samym regionie co grupa zasobów.

Lokalizacja grupy zasobów to miejsce, w którym usługa Azure Resource Manager przechowuje metadane dla zasobów w grupie zasobów. Usługa Azure Resource Manager używa tej lokalizacji do routingu i buforowania. Na przykład podczas wyświetlania listy zasobów w zakresach subskrypcji lub grupy zasobów usługa Azure Resource Manager pobiera informacje z pamięci podręcznej.

Gdy region grupy zasobów jest niedostępny, usługa Azure Resource Manager nie może zaktualizować metadanych zasobu i zablokować wywołań zapisu. Przeniesienie zasobu i regionu grupy zasobów zmniejsza ryzyko niedostępności regionu, ponieważ zasoby i metadane istnieją w jednym regionie zamiast w wielu regionach.

Rozwiązywanie problemów z operacjami współbieżnych

Gdy co najmniej dwa operacje próbują zaktualizować ten sam zasób w tym samym czasie, usługa Azure Resource Manager wykrywa konflikt i zezwala na pomyślne ukończenie tylko jednej operacji. Usługa Azure Resource Manager blokuje inne operacje i zwraca błąd.

Współbieżne aktualizacje zasobów mogą powodować nieoczekiwane wyniki. Ta rozdzielczość gwarantuje, że aktualizacje są deterministyczne i niezawodne. Znasz stan zasobów i uniknąć niespójności lub utraty danych.

Załóżmy, że masz dwa żądania (A i B), które próbują jednocześnie zaktualizować ten sam zasób. Jeśli żądanie A zakończy się przed żądaniem B, żądanie A zakończy się powodzeniem i żądanie B zakończy się niepowodzeniem. Żądanie B zwraca błąd 409. Po otrzymaniu tego kodu błędu możesz uzyskać zaktualizowany stan zasobu i określić, czy chcesz ponownie wysłać żądanie B.

Następne kroki