Quickstart: Een implementatiestack maken en implementeren met Bicep
In deze quickstart wordt beschreven hoe u een implementatiestack maakt.
Vereisten
- Een Azure-account met een actief abonnement. Gratis een account maken
- Azure PowerShell versie 10.1.0 of hoger of Azure CLI versie 2.50.0 of hoger.
- Visual Studio Code met de Bicep-extensie.
Een Bicep-bestand maken
Maak een Bicep-bestand om een opslagaccount en een virtueel netwerk te maken.
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'
}
}
]
}
}
Sla het Bicep-bestand op als main.bicep.
Een implementatiestack maken
In deze quickstart maakt u de implementatiestack in het bereik van de resourcegroep. U kunt de implementatiestack ook maken in het abonnementsbereik of het bereik van de beheergroep. Zie Implementatiestacks maken voor meer informatie.
az group create \
--name 'demoRg' \
--location 'centralus'
az stack group create \
--name demoStack \
--resource-group 'demoRg' \
--template-file './main.bicep' \
--deny-settings-mode 'none'
De implementatie controleren
De geïmplementeerde implementatiestacks op het niveau van de resourcegroep weergeven:
az stack group show \
--resource-group 'demoRg' \
--name 'demoStack'
De uitvoer toont twee beheerde resources: één opslagaccount en één virtueel netwerk:
{
"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"
}
U kunt de implementatie ook controleren door de beheerde resources in de implementatiestack te vermelden:
az stack group show \
--name 'demoStack' \
--resource-group 'demoRg' \
--output 'json'
De uitvoer is vergelijkbaar met:
{
"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"
}
Zodra een stack is gemaakt, kunt u zowel de stack zelf als de beheerde resources die eraan zijn gekoppeld, openen en weergeven via de Azure Portal. Navigeer naar de resourcegroep waarin de stack is geïmplementeerd en u hebt toegang tot alle relevante informatie en instellingen.
De implementatiestack bijwerken
Als u een implementatiestack wilt bijwerken, kunt u het onderliggende Bicep-bestand wijzigen en de opdracht implementatiestack maken opnieuw uitvoeren.
Bewerk main.bicep om de SKU-naam te wijzigen in Standard_GRS
van Standard_LRS
:
Voer de volgende opdracht uit:
az stack group create \
--name 'demoStack' \
--resource-group 'demoRg' \
--template-file './main.bicep' \
--deny-settings-mode 'none'
Controleer in de Azure Portal de eigenschappen van het opslagaccount om de wijziging te bevestigen.
Met dezelfde methode kunt u een resource toevoegen aan de implementatiestack of een beheerde resource verwijderen uit de implementatiestack. Zie Resources toevoegen aan een implementatiestack en Beheerde resources verwijderen uit een implementatiestack voor meer informatie.
De implementatiestack verwijderen
De implementatiestack en de beheerde resources verwijderen:
az stack group delete \
--name 'demoStack' \
--resource-group 'demoRg' \
--delete-all
Als u de verwijderopdrachten uitvoert zonder de parameters Alle verwijderen , worden de beheerde resources losgekoppeld, maar niet verwijderd. Bijvoorbeeld:
az stack group delete \
--name 'demoStack' \
--resource-group 'demoRg'
De volgende parameters kunnen worden gebruikt om te bepalen tussen loskoppelen en verwijderen.
--delete-all
: verwijder zowel de resources als de resourcegroepen.--delete-resources
: Verwijder alleen de resources.--delete-resource-groups
: Verwijder alleen de resourcegroepen. Het is ongeldig om op zichzelf te gebruikendelete-resource-groups
.delete-resource-groups
moet worden gebruikt in combinatie metdelete-resources
.
Zie Implementatiestacks verwijderen voor meer informatie.
Met de opdracht remove worden uitsluitend beheerde resources en beheerde resourcegroepen verwijderd. U bent nog steeds verantwoordelijk voor het verwijderen van de resourcegroepen die niet worden beheerd door de implementatiestack.
Resources opschonen
Verwijder de niet-beheerde resourcegroep.
az group delete --name 'demoRg'