Schnellstart: Erstellen und Bereitstellen eines Bereitstellungsstapels mit Bicep
In diesem Schnellstart wird beschrieben, wie Sie einen Bereitstellungsstapel erstellen.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Azure PowerShell Version 12.0.0 oder höher oder Azure CLI Version 2.61.0 oder höher.
- Visual Studio Code mit der Bicep-Erweiterung.
Erstellen einer Bicep-Datei
Erstellen Sie eine Bicep-Datei, um ein Speicherkonto und ein virtuelles Netzwerk zu erstellen.
param resourceGroupLocation string = resourceGroup().location
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
param vnetName string = 'vnet${uniqueString(resourceGroup().id)}'
resource storageAccount 'Microsoft.Storage/storageAccounts@2023-04-01' = {
name: storageAccountName
location: resourceGroupLocation
kind: 'StorageV2'
sku: {
name: 'Standard_LRS'
}
}
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-11-01' = {
name: vnetName
location: resourceGroupLocation
properties: {
addressSpace: {
addressPrefixes: [
'10.0.0.0/16'
]
}
subnets: [
{
name: 'Subnet-1'
properties: {
addressPrefix: '10.0.0.0/24'
}
}
{
name: 'Subnet-2'
properties: {
addressPrefix: '10.0.1.0/24'
}
}
]
}
}
Speichern Sie die Bicep-Datei als main.bicep.
Erstellen eines Bereitstellungsstapels
In dieser Schnellstartanleitung erstellen Sie den Bereitstellungsstapel im Ressourcengruppenbereich. Sie können den Bereitstellungsstapel auch im Abonnementbereich oder im Verwaltungsgruppenbereich erstellen. Weitere Informationen finden Sie unter Erstellen von Bereitstellungsstapeln.
az group create \
--name 'demoRg' \
--location 'centralus'
az stack group create \
--name demoStack \
--resource-group 'demoRg' \
--template-file './main.bicep' \
--action-on-unmanage 'detachAll' \
--deny-settings-mode 'none'
Weitere Informationen zu action-on-unmanage
und deny-setting-mode
finden Sie unter Bereitstellungsstapel.
Überprüfen der Bereitstellung
So listen Sie die bereitgestellten Bereitstellungsstapel auf Ressourcengruppenebene auf:
az stack group show \
--resource-group 'demoRg' \
--name 'demoStack'
Die Ausgabe zeigt zwei verwaltete Ressourcen – ein Speicherkonto und ein virtuelles Netzwerk:
{
"actionOnUnmanage": {
"managementGroups": "detach",
"resourceGroups": "detach",
"resources": "detach"
},
"debugSetting": null,
"deletedResources": [],
"denySettings": {
"applyToChildScopes": false,
"excludedActions": null,
"excludedPrincipals": null,
"mode": "none"
},
"deploymentId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Resources/deployments/demoStack-24051714epybc",
"deploymentScope": null,
"description": null,
"detachedResources": [],
"duration": "PT32.5330364S",
"error": null,
"failedResources": [],
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Resources/deploymentStacks/demoStack",
"location": null,
"name": "demoStack",
"outputs": null,
"parameters": {},
"parametersLink": null,
"provisioningState": "succeeded",
"resourceGroup": "demoRg",
"resources": [
{
"denyStatus": "none",
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Network/virtualNetworks/vnetthmimleef5fwk",
"resourceGroup": "demoRg",
"status": "managed"
},
{
"denyStatus": "none",
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Storage/storageAccounts/storethmimleef5fwk",
"resourceGroup": "demoRg",
"status": "managed"
}
],
"systemData": {
"createdAt": "2024-05-17T14:50:18.382948+00:00",
"createdBy": "johndoe@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2024-05-17T14:50:18.382948+00:00",
"lastModifiedBy": "johndoe@contoso.com",
"lastModifiedByType": "User"
},
"tags": {},
"template": null,
"templateLink": null,
"type": "Microsoft.Resources/deploymentStacks"
}
Sie können die Bereitstellung auch überprüfen, indem Sie die verwalteten Ressourcen im Bereitstellungsstapel auflisten:
az stack group show \
--name 'demoStack' \
--resource-group 'demoRg' \
--output 'json'
Die Ausgabe sieht in etwa wie folgt aus:
{
"actionOnUnmanage": {
"managementGroups": "detach",
"resourceGroups": "detach",
"resources": "detach"
},
"debugSetting": null,
"deletedResources": [],
"denySettings": {
"applyToChildScopes": false,
"excludedActions": null,
"excludedPrincipals": null,
"mode": "none"
},
"deploymentId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Resources/deployments/demoStack-24051714epybc",
"deploymentScope": null,
"description": null,
"detachedResources": [],
"duration": "PT32.5330364S",
"error": null,
"failedResources": [],
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Resources/deploymentStacks/demoStack",
"location": null,
"name": "demoStack",
"outputs": null,
"parameters": {},
"parametersLink": null,
"provisioningState": "succeeded",
"resourceGroup": "demoRg",
"resources": [
{
"denyStatus": "none",
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Network/virtualNetworks/vnetthmimleef5fwk",
"resourceGroup": "demoRg",
"status": "managed"
},
{
"denyStatus": "none",
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Storage/storageAccounts/storethmimleef5fwk",
"resourceGroup": "demoRg",
"status": "managed"
}
],
"systemData": {
"createdAt": "2024-05-17T14:50:18.382948+00:00",
"createdBy": "johndoe@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2024-05-17T14:50:18.382948+00:00",
"lastModifiedBy": "johndoe@contoso.com",
"lastModifiedByType": "User"
},
"tags": {},
"template": null,
"templateLink": null,
"type": "Microsoft.Resources/deploymentStacks"
}
Nachdem ein Stapel erstellt wurde, können Sie über das Azure-Portal sowohl auf den Stapel selbst als auch auf die ihm zugeordneten verwalteten Ressourcen zugreifen und diese anzeigen. Navigieren Sie zu der Ressourcengruppe, in der der Stapel bereitgestellt wurde, und Sie können auf alle relevanten Informationen und Einstellungen zugreifen.
Aktualisieren des Bereitstellungsstapels
Um einen Bereitstellungsstapel zu aktualisieren, können Sie die zugrunde liegende Bicep-Datei ändern und den Befehl zum Erstellen des Bereitstellungsstapels erneut ausführen.
Bearbeiten Sie main.bicep, um den SKU-Namen von Standard_LRS
in Standard_GRS
zu ändern:
Führen Sie den folgenden Befehl aus:
az stack group create \
--name 'demoStack' \
--resource-group 'demoRg' \
--template-file './main.bicep' \
--action-on-unmanage 'detachAll' \
--deny-settings-mode 'none'
Überprüfen Sie im Azure-Portal die Eigenschaften des Speicherkontos, um die Änderung zu bestätigen.
Mit derselben Methode können Sie dem Bereitstellungsstapel eine Ressource hinzufügen oder eine verwaltete Ressource aus dem Bereitstellungsstapel entfernen. Weitere Informationen finden Sie unter Hinzufügen von Ressourcen zu einem Bereitstellungsstapel und Löschen von verwalteten Ressourcen aus einem Bereitstellungsstapel.
Löschen des Bereitstellungsstapels
So löschen Sie den Bereitstellungsstapel und die verwalteten Ressourcen
az stack group delete \
--name 'demoStack' \
--resource-group 'demoRg' \
--action-on-unmanage 'deleteAll'
So löschen Sie den Bereitstellungsstapel, erhalten aber die verwalteten Ressourcen bei:
az stack group delete \
--name 'demoStack' \
--resource-group 'demoRg' \
--action-on-unmanage 'detachAll'
Weitere Informationen finden Sie unter Löschen von Bereitstellungsstapeln.
Mit dem remove-Befehl entfernen Sie ausschließlich verwaltete Ressourcen und verwaltete Ressourcengruppen. Sie sind weiterhin für das Löschen der Ressourcengruppen verantwortlich, die nicht vom Bereitstellungsstapel verwaltet werden.
Bereinigen von Ressourcen
Löschen Sie die nicht verwaltete Ressourcengruppe.
az group delete \
--name 'demoRg'