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 10.1.0 oder höher, oder Azure CLI, Version 2.50.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@2022-09-01' = {
name: storageAccountName
location: resourceGroupLocation
kind: 'StorageV2'
sku: {
name: 'Standard_LRS'
}
}
resource virtualNetwork 'Microsoft.Network/virtualNetworks@2022-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' \
--deny-settings-mode 'none'
Ü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/00000000-0000-0000-0000-000000000000/demoRg/providers/Microsoft.Resources/deployments/demoStack-2023-06-08-14-58-28-fd6bb",
"deploymentScope": null,
"description": null,
"detachedResources": [],
"duration": "PT30.1685405S",
"error": null,
"failedResources": [],
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/demoRg/providers/Microsoft.Resources/deploymentStacks/demoStack",
"location": null,
"name": "demoStack",
"outputs": null,
"parameters": {},
"parametersLink": null,
"provisioningState": "succeeded",
"resourceGroup": "demoRg",
"resources": [
{
"denyStatus": "none",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/demoRg/providers/Microsoft.Network/virtualNetworks/vnetthmimleef5fwk",
"resourceGroup": "demoRg",
"status": "managed"
},
{
"denyStatus": "none",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/demoRg/providers/Microsoft.Storage/storageAccounts/storethmimleef5fwk",
"resourceGroup": "demoRg",
"status": "managed"
}
],
"systemData": {
"createdAt": "2023-06-08T14:58:28.377564+00:00",
"createdBy": "johndole@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2023-06-08T14:58:28.377564+00:00",
"lastModifiedBy": "johndole@contoso.com",
"lastModifiedByType": "User"
},
"tags": null,
"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/00000000-0000-0000-0000-000000000000/resourceGroups/demoRg/providers/Microsoft.Resources/deployments/demoStack-2023-06-05-20-55-48-38d09",
"deploymentScope": null,
"description": null,
"detachedResources": [],
"duration": "PT29.006353S",
"error": null,
"failedResources": [],
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/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/00000000-0000-0000-0000-000000000000/resourceGroups/demoRg/providers/Microsoft.Network/virtualNetworks/vnetzu6pnx54hqubm",
"resourceGroup": "demoRg",
"status": "managed"
},
{
"denyStatus": "none",
"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/demoRg/providers/Microsoft.Storage/storageAccounts/storezu6pnx54hqubm",
"resourceGroup": "demoRg",
"status": "managed"
}
],
"systemData": {
"createdAt": "2023-06-05T20:55:48.006789+00:00",
"createdBy": "johndole@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2023-06-05T20:55:48.006789+00:00",
"lastModifiedBy": "johndole@contoso.com",
"lastModifiedByType": "User"
},
"tags": null,
"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' \
--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' \
--delete-all
Wenn Sie die Löschbefehle ohne die delete all-Parameter ausführen, werden die verwalteten Ressourcen getrennt, aber nicht gelöscht. Beispiel:
az stack group delete \
--name 'demoStack' \
--resource-group 'demoRg'
Die folgenden Parameter können verwendet werden, um zu steuern, ob Trennen oder Löschen verwendet wird.
--delete-all
: Löscht sowohl die Ressourcen als auch die Ressourcengruppen.--delete-resources
: Löscht nur die Ressourcen.--delete-resource-groups
: Löscht nur die Ressourcengruppen. Die Verwendung vondelete-resource-groups
ist an sich ungültig.delete-resource-groups
muss zusammen mitdelete-resources
verwendet werden.
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'