Share via


Quickstart: Een implementatiestack maken en implementeren met Bicep

In deze quickstart wordt beschreven hoe u een implementatiestack maakt.

Vereisten

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.

Schermopname van een implementatiestack in de Azure Portal.

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 gebruiken delete-resource-groups . delete-resource-groups moet worden gebruikt in combinatie met delete-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'

Volgende stappen