Omówienie specyfikacji szablonu
Do tej pory używasz do wdrażania szablonów usługi Azure Resource Manager (szablonów usługi ARM) na platformie Azure przy użyciu kodu Bicep lub JSON. Utworzysz plik szablonu, a następnie prześlesz go na platformę Azure, tworząc wdrożenie. Usługa Azure Resource Manager organizuje tworzenie lub ponowne konfigurowanie zasobów.
Podczas pracy ze specyfikacjami szablonu nadal wysyłasz szablon na platformę Azure. Jednak zamiast go wdrażać, platforma Azure zapisuje ją do użycia w przyszłości. Następnie możesz wrócić później i poinformować platformę Azure o wdrożeniu specyfikacji szablonu. Możesz nawet wielokrotnie używać tej samej specyfikacji szablonu, aby wdrożyć więcej środowisk.
Dlaczego warto używać specyfikacji szablonu?
W twojej firmie z zabawkami utworzyłeś wiele szablonów wielokrotnego użytku, w tym:
Nazwa szablonu | Opis |
---|---|
Konto magazynu | Wdraża konto magazynowe i wymusza uwierzytelnianie w usłudze Microsoft Entra. |
Konto usługi Cosmos DB | Wdraża konto usługi Azure Cosmos DB z włączoną ciągłą kopią zapasową. |
Sieć wirtualna | Wdraża sieć wirtualną, która ma właściwą konfigurację do peerowania z główną siecią huba. |
Witryna internetowa dotycząca uruchamiania produktu | Wdraża plan, aplikację i konto magazynu usługi Azure App Service dla witryn internetowych, które udostępniają nowe zabawki. |
Specyfikacje szablonu są doskonałym sposobem na tworzenie biblioteki szablonów ARM uniwersalnego użycia dla typowych scenariuszy w organizacji. Ekspert może utworzyć szablon ze wstępnie skonfigurowanym zasobem lub zestawem zasobów. Ten ekspert może następnie opublikować go jako specyfikację szablonu, umożliwiając innym osobom w organizacji jego wdrożenie.
Możesz użyć specyfikacji szablonu, aby upewnić się, że zasoby tworzone przez zespół są skonfigurowane zgodnie z wymaganiami. Można na przykład opublikować specyfikację szablonu, takiego jak szablon konta przechowywania, który opisano wcześniej. Następnie, za każdym razem, gdy ktoś w organizacji wdroży specyfikację szablonu, możesz mieć pewność, że utworzy konto magazynowe z odpowiednimi ustawieniami uwierzytelniania.
Specyfikacje szablonów są przechowywane na platformie Azure, więc nie musisz samodzielnie obsługiwać udostępnionych plików szablonów. Możesz zarządzać osobami, które mogą używać i modyfikować specyfikacje szablonu za pomocą kontroli dostępu opartej na rolach platformy Azure. Bez specyfikacji szablonu musisz wybrać lokalizację magazynu, na przykład usługę Azure Storage, aby zachować pliki szablonów. Musisz również samodzielnie kontrolować dostęp.
Jak porównać specyfikacje szablonu z modułami Bicep?
Podczas pracy z aplikacją Bicep możesz utworzyć moduły wielokrotnego użytku w celu zdefiniowania zestawów zasobów w jednym pliku. Specyfikacje szablonów i moduły Bicep to oba sposoby dodawania możliwości ponownego użycia szablonów, ale są one zoptymalizowane pod kątem różnych celów.
- Specyfikacje szablonów są przeznaczone do wdrożenia jako kompletny szablon. Specyfikacje szablonu można wdrożyć przy użyciu witryny Azure Portal i narzędzi, takich jak interfejs wiersza polecenia platformy Azure i program Azure PowerShell. Moduły Bicep są przeznaczone do łączenia w większe wdrożenie. Jednak jeśli tworzysz specyfikację szablonu, Bicep umożliwia również używanie go jako modułu, jeśli chcesz.
- Specyfikacje szablonu zapewniają możliwości kontroli dostępu i przechowywania wersji. Musisz samodzielnie zarządzać wersjami i zabezpieczeniami kodu Bicep.
- Specyfikacje szablonów są przechowywane na platformie Azure jako zasób. Musisz przechowywać moduły Bicep w dowolnym miejscu, które kontrolujesz, na przykład system kontroli wersji, taki jak Git lub system plików.
- Moduły Bicep zachowują cały oryginalny kod Bicep, w tym komentarze, nazwy symboliczne i białe znaki. Podczas tworzenia specyfikacji szablonu przy użyciu Bicep kod Bicep jest konwertowany na kod JSON, a niektóre z tych informacji zostaną utracone. Dlatego musisz również przechować źródłowy plik Bicep w innym miejscu.
Podczas podejmowania decyzji między specyfikacjami szablonu a modułami Bicep, dobrą zasadą jest: jeśli szablon ma być wdrożony bez zmian w całej organizacji, specyfikacje szablonu są prawdopodobnie dobrym wyborem. Jeśli jednak planujesz użyć tego szablonu w wielu szablonach nadrzędnych, moduły Bicep mogą lepiej odpowiadać Twoim potrzebom.
Jak działają specyfikacje szablonu
Specyfikacja szablonu to zasób platformy Azure, podobnie jak konto magazynowe lub maszyna wirtualna. Należy go utworzyć w grupie zasobów, chociaż sam szablon może wdrażać zasoby w ramach subskrypcji, zarządzania lub zakresu dzierżawy.
Podczas pracy ze specyfikacjami szablonu tworzone są dwa zasoby:
- Specyfikacja szablonu to zasób kontenera. Zawiera jedną lub wiele wersji.
- wersje specyfikacji szablonu zawierają rzeczywisty szablon przeznaczony do wdrożenia.
Pracujesz ze specyfikacjami i wersjami szablonu przy użyciu ich identyfikatorów zasobów. Przykładowy identyfikator zasobu dla specyfikacji szablonu to:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SharedTemplates/providers/Microsoft.Resources/templateSpecs/StorageWithoutSAS
Wersja to zasób podrzędny specyfikacji szablonu. Ma on identyfikator zasobu podobny do następującego przykładu:
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/SharedTemplates/providers/Microsoft.Resources/templateSpecs/StorageWithoutSAS/versions/1.0
Podczas wdrażania specyfikacji szablonu należy określić identyfikator zasobu wersji specyfikacji szablonu.
Oto ilustracja przepływu pracy, który jest obserwowany podczas korzystania ze specyfikacji szablonu:
Utworzysz szablon w sposób, do którego jesteś przyzwyczajony. Nie ma żadnych specjalnych informacji na temat szablonu utworzonego dla specyfikacji szablonu. Zadeklarujesz zasoby, tworzysz parametry i zmienne, używasz funkcji itd.
Gdy szablon jest gotowy, należy utworzyć zasób specyfikacji szablonu. Następnie opublikujesz swój szablon w specyfikacji szablonu jako nową wersję. Narzędzia używane do tworzenia specyfikacji szablonu umożliwiają wykonanie tych kroków w ramach jednej operacji. Specyfikacja szablonu jest przechowywana na platformie Azure jako zasób po jego opublikowaniu. Możesz go wyświetlać, edytować i kontrolować dostęp do niego tak samo jak każdy inny zasób platformy Azure. Specyfikację szablonu można opublikować na komputerze lokalnym lub z pipeline'u wdrożeniowego.
Za każdym razem, gdy chcesz wdrożyć specyfikację szablonu, należy odwołać się do identyfikatora zasobu wersji specyfikacji szablonu z wdrożenia. Można go wdrożyć w dowolnej grupie zasobów, a nawet w innej subskrypcji lub zakresie. Platforma Azure odczytuje specyfikację szablonu i używa jej jako szablonu wdrożenia.