Share via


Snabbstart: Skapa och distribuera en distributionsstack med Bicep

Den här snabbstarten beskriver hur du skapar en distributionsstack.

Förutsättningar

Skapa en Bicep-fil

Skapa en Bicep-fil för att skapa ett lagringskonto och ett virtuellt nätverk.

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'
        }
      }
    ]
  }
}

Spara Bicep-filen som main.bicep.

Skapa en distributionsstack

I den här snabbstarten skapar du distributionsstacken i resursgruppens omfång. Du kan också skapa distributionsstacken i prenumerationsomfånget eller hanteringsgruppens omfång. Mer information finns i Skapa distributionsstackar.

az group create \
  --name 'demoRg' \
  --location 'centralus'

az stack group create \
  --name demoStack \
  --resource-group 'demoRg' \
  --template-file './main.bicep' \
  --deny-settings-mode 'none'

Verifiera distributionen

Så här listar du de distribuerade distributionsstackarna på resursgruppsnivå:

az stack group show \
  --resource-group 'demoRg' \
  --name 'demoStack'

Utdata visar två hanterade resurser – ett lagringskonto och ett virtuellt nätverk:

{
  "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"
}

Du kan också verifiera distributionen genom att lista de hanterade resurserna i distributionsstacken:

az stack group show \
  --name 'demoStack' \
  --resource-group 'demoRg' \
  --output 'json'

Utdatan liknar följande:

{
  "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"
}

När en stack har skapats kan du komma åt och visa både själva stacken och de hanterade resurser som är associerade med den via Azure Portal. Gå till den resursgrupp där stacken har distribuerats och du kan komma åt all relevant information och alla inställningar.

Skärmbild av en distributionsstack i Azure Portal.

Uppdatera distributionsstacken

Om du vill uppdatera en distributionsstack kan du ändra den underliggande Bicep-filen och köra kommandot skapa distributionsstack igen.

Redigera main.bicep för att ändra SKU-namnet till Standard_GRS från Standard_LRS:

Kör följande kommando:

az stack group create \
  --name 'demoStack' \
  --resource-group 'demoRg' \
  --template-file './main.bicep' \
  --deny-settings-mode 'none'

Kontrollera lagringskontots egenskaper från Azure Portal för att bekräfta ändringen.

Med samma metod kan du lägga till en resurs i distributionsstacken eller ta bort en hanterad resurs från distributionsstacken. Mer information finns i Lägga till resurser i en distributionsstack och Ta bort hanterade resurser från en distributionsstack.

Ta bort distributionsstacken

Så här tar du bort distributionsstacken och de hanterade resurserna:

az stack group delete \
  --name 'demoStack' \
  --resource-group 'demoRg' \
  --delete-all

Om du kör borttagningskommandona utan att ta bort alla parametrar kopplas de hanterade resurserna från men tas inte bort. Exempel:

az stack group delete \
  --name 'demoStack' \
  --resource-group 'demoRg'

Följande parametrar kan användas för att styra mellan frånkoppling och borttagning.

  • --delete-all: Ta bort både resurserna och resursgrupperna.
  • --delete-resources: Ta endast bort resurserna.
  • --delete-resource-groups: Ta endast bort resursgrupperna. Det är ogiltigt att använda delete-resource-groups sig själv. delete-resource-groups måste användas tillsammans med delete-resources.

Mer information finns i Ta bort distributionsstackar.

Kommandot ta bort tar exklusivt bort hanterade resurser och hanterade resursgrupper. Du ansvarar fortfarande för att ta bort de resursgrupper som inte hanteras av distributionsstacken.

Rensa resurser

Ta bort den ohanterade resursgruppen.

az group delete --name 'demoRg'

Nästa steg