Wdrażanie szablonów w różnych zakresach
Teraz rozumiesz różne zakresy, w których można wdrażać zasoby. W tej lekcji dowiesz się, jak rozpocząć pisanie plików Bicep w celu wdrożenia w tych zakresach.
Określanie zakresu docelowego dla pliku Bicep
Bicep musi znać zakres, w którym jest wdrażany plik. Te informacje są ważne, ponieważ Bicep musi upewnić się, że wdrażane zasoby są prawidłowe dla używanego zakresu. Na przykład rozszerzenie Bicep dla programu Visual Studio Code wyświetli ostrzeżenie, jeśli spróbujesz zdefiniować zasób w nieobsługiwanym zakresie.
Użyj słowa kluczowego targetScope
, aby poinformować Bicep, że zasoby w pliku dotyczą określonego zakresu. Oto przykład pliku Bicep, który wdraża zasoby w zakresie grupy zarządzania:
targetScope = 'managementGroup'
resource policyDefinition 'Microsoft.Authorization/policyDefinitions@2024-05-01' = {
// ...
}
Zwróć uwagę, że mówisz Bicepowi, aby wdrożyć zasoby w zakresie grupy zarządzania, ale nie określasz grupy zarządzania. Podczas wdrażania szablonu należy poinformować Bicep dokładnie, do której grupy zarządzania chcesz wdrożyć zasoby. Interfejs wiersza polecenia platformy Azure i polecenia cmdlet programu Azure PowerShell zawierają argumenty określające te informacje.
Dla pliku można ustawić targetScope
wartość , , subscription
managementGroup
lub tenant
.resourceGroup
Jeśli nie określisz zakresu docelowego, Bicep zakłada resourceGroup
zakres.
Utwórz grupy zasobów
Teraz, gdy już wiesz, jak tworzyć wdrożenia w różnych zakresach, spróbuj zastosować tę wiedzę do utworzenia grupy zasobów, która jest zasobem o zakresie subskrypcji:
targetScope = 'subscription'
resource resourceGroup 'Microsoft.Resources/resourceGroups@2024-07-01' = {
name: 'example-resource-group'
location: 'westus'
}
W tym przykładzie zwróć uwagę, że plik Bicep ma targetScope
wartość subscription
, co oznacza, że Bicep uwzględnia wszystkie zasoby w pliku, które mają być domyślnie objęte zakresem subskrypcji.
Uwaga
W dalszej części tego modułu zobaczysz, jak używać platformy Bicep do tworzenia subskrypcji platformy Azure i grup zarządzania.
Przesyłanie wdrożenia
Podczas inicjowania wdrożenia należy poinformować platformę Azure o zakresie, w którym chcesz go wdrożyć. Oznacza to, że używasz innego polecenia interfejsu wiersza polecenia platformy Azure dla każdego zakresu wdrożenia, jak pokazano poniżej:
Aby wdrożyć w tym zakresie: | Uruchom następujące polecenie interfejsu wiersza polecenia platformy Azure: |
---|---|
Grupa zasobów | az deployment group create |
Subskrypcja | az deployment sub create |
Grupa zarządzania | az deployment mg create |
Dzierżawa | az deployment tenant create |
Podczas inicjowania wdrożenia należy poinformować platformę Azure o zakresie, w którym chcesz go wdrożyć. Oznacza to, że używasz innego polecenia cmdlet programu PowerShell dla każdego zakresu wdrożenia, jak pokazano poniżej:
Aby wdrożyć w tym zakresie: | Użyj tego polecenia cmdlet programu PowerShell: |
---|---|
Grupa zasobów | New-AzResourceGroupDeployment |
Subskrypcja | New-AzSubscriptionDeployment |
Grupa zarządzania | New-AzManagementGroupDeployment |
Dzierżawa | New-AzTenantDeployment |
Platforma Azure przechowuje metadane dotyczące każdego wdrożenia. W przeciwieństwie do wdrożeń w zakresie grupy zasobów istnieją pewne informacje, które należy podać podczas wdrażania w innych zakresach, aby platforma Azure mogła poprawnie przechowywać metadane:
Lokalizacja: metadane wdrożenia muszą być przechowywane w określonej lokalizacji. Nie musisz określać lokalizacji dla wdrożeń zakresu grupy zasobów, ponieważ metadane wdrożenia używają tej samej lokalizacji co grupa zasobów. Jednak podczas tworzenia wdrożenia w ramach subskrypcji, grupy zarządzania lub zakresu dzierżawy należy określić region świadczenia usługi Azure, w którym są przechowywane metadane wdrożenia. Zasoby wdrożenia w tych zakresach nie zawsze są tworzone w tej samej lokalizacji, w której określono metadane.
Nazwa: wszystkie wdrożenia na platformie Azure mają nazwę. Możesz poprosić platformę Azure o informacje o wdrożeniu przy użyciu jego nazwy. Jeśli używasz interfejsu wiersza polecenia platformy Azure lub programu Azure PowerShell do przesyłania wdrożenia, nie musisz określać nazwy. Jeśli jednak tego nie zrobisz, nazwa pliku szablonu jest używana jako nazwa wdrożenia.
Kombinacja zakresu, lokalizacji i nazwy wdrożenia musi być unikatowa. Załóżmy na przykład, że utworzysz wdrożenie subskrypcji o nazwie my-deployment
i użyjesz lokalizacji Wschodnie stany USA do przechowywania metadanych. Nie można utworzyć innego wdrożenia w tej samej subskrypcji o nazwie my-deployment
, nawet jeśli znajduje się w innej lokalizacji, takiej jak Europa Zachodnia. Jeśli utworzysz inne wdrożenie o nazwie my-deployment
w regionie Wschodnie stany USA, zastąpi istniejące wdrożenie.