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 op het bereik van de resourcegroep. U kunt ook de implementatiestack maken op 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 weergeven op het niveau van de resourcegroep:

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 weer te verlenen:

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 de stack zelf en de bijbehorende beheerde resources openen en weergeven via Azure Portal. Navigeer naar de resourcegroep waar de stack is geïmplementeerd en u hebt toegang tot alle relevante informatie en instellingen.

Schermopname van een implementatiestack in 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.

Edit main.bicep to change the sku name to Standard_GRS from 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 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 uit de implementatiestack verwijderen. 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 alle parameters te verwijderen, worden de beheerde resources losgekoppeld, maar niet verwijderd. Voorbeeld:

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 zelf te gebruiken delete-resource-groups . delete-resource-groups moet samen met delete-resources.

Zie Implementatiestacks verwijderen voor meer informatie.

Met de opdracht Verwijderen 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