Udostępnij za pośrednictwem


Szybki start: tworzenie i wdrażanie stosu wdrożenia przy użyciu Bicep

W tym przewodniku Szybki start opisano sposób tworzenia stosu wdrożenia.

Wymagania wstępne

Tworzenie pliku Bicep

Utwórz plik Bicep, aby utworzyć konto magazynu i sieć wirtualną.

param resourceGroupLocation string = resourceGroup().location
param storageAccountName string = 'store${uniqueString(resourceGroup().id)}'
param vnetName string = 'vnet${uniqueString(resourceGroup().id)}'

resource storageAccount 'Microsoft.Storage/storageAccounts@2023-04-01' = {
  name: storageAccountName
  location: resourceGroupLocation
  kind: 'StorageV2'
  sku: {
    name: 'Standard_LRS'
  }
}

resource virtualNetwork 'Microsoft.Network/virtualNetworks@2023-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'
        }
      }
    ]
  }
}

Zapisz plik Bicep jako main.bicep.

Tworzenie stosu wdrożenia

W tym przewodniku Szybki start utworzysz stos wdrożenia w zakresie grupy zasobów. Możesz również utworzyć stos wdrożenia w zakresie subskrypcji lub w zakresie grupy zarządzania. Aby uzyskać więcej informacji, zobacz Tworzenie stosów wdrażania.

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

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

Aby uzyskać więcej informacji o systemach action-on-unmanage i deny-setting-mode, zobacz Deployment stacks (Stosy wdrażania).

Weryfikowanie wdrożenia

Aby wyświetlić listę wdrożonych stosów wdrożenia na poziomie grupy zasobów:

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

Dane wyjściowe zawierają dwa zarządzane zasoby — jedno konto magazynu i jedną sieć wirtualną:

{
  "actionOnUnmanage": {
    "managementGroups": "detach",
    "resourceGroups": "detach",
    "resources": "detach"
  },
  "debugSetting": null,
  "deletedResources": [],
  "denySettings": {
    "applyToChildScopes": false,
    "excludedActions": null,
    "excludedPrincipals": null,
    "mode": "none"
  },
  "deploymentId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Resources/deployments/demoStack-24051714epybc",
  "deploymentScope": null,
  "description": null,
  "detachedResources": [],
  "duration": "PT32.5330364S",
  "error": null,
  "failedResources": [],
  "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Network/virtualNetworks/vnetthmimleef5fwk",
      "resourceGroup": "demoRg",
      "status": "managed"
    },
    {
      "denyStatus": "none",
      "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Storage/storageAccounts/storethmimleef5fwk",
      "resourceGroup": "demoRg",
      "status": "managed"
    }
  ],
  "systemData": {
    "createdAt": "2024-05-17T14:50:18.382948+00:00",
    "createdBy": "johndoe@contoso.com",
    "createdByType": "User",
    "lastModifiedAt": "2024-05-17T14:50:18.382948+00:00",
    "lastModifiedBy": "johndoe@contoso.com",
    "lastModifiedByType": "User"
  },
  "tags": {},
  "template": null,
  "templateLink": null,
  "type": "Microsoft.Resources/deploymentStacks"
}

Możesz również zweryfikować wdrożenie, wyświetlając listę zasobów zarządzanych w stosie wdrożenia:

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

Dane wyjściowe są podobne do następujących:

{
  "actionOnUnmanage": {
    "managementGroups": "detach",
    "resourceGroups": "detach",
    "resources": "detach"
  },
  "debugSetting": null,
  "deletedResources": [],
  "denySettings": {
    "applyToChildScopes": false,
    "excludedActions": null,
    "excludedPrincipals": null,
    "mode": "none"
  },
  "deploymentId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Resources/deployments/demoStack-24051714epybc",
  "deploymentScope": null,
  "description": null,
  "detachedResources": [],
  "duration": "PT32.5330364S",
  "error": null,
  "failedResources": [],
  "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Network/virtualNetworks/vnetthmimleef5fwk",
      "resourceGroup": "demoRg",
      "status": "managed"
    },
    {
      "denyStatus": "none",
      "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/demoRg/providers/Microsoft.Storage/storageAccounts/storethmimleef5fwk",
      "resourceGroup": "demoRg",
      "status": "managed"
    }
  ],
  "systemData": {
    "createdAt": "2024-05-17T14:50:18.382948+00:00",
    "createdBy": "johndoe@contoso.com",
    "createdByType": "User",
    "lastModifiedAt": "2024-05-17T14:50:18.382948+00:00",
    "lastModifiedBy": "johndoe@contoso.com",
    "lastModifiedByType": "User"
  },
  "tags": {},
  "template": null,
  "templateLink": null,
  "type": "Microsoft.Resources/deploymentStacks"
}

Po utworzeniu stosu można uzyskiwać dostęp do samego stosu i wyświetlać skojarzone z nim zasoby zarządzane za pośrednictwem witryny Azure Portal. Przejdź do grupy zasobów, w której wdrożono stos, i możesz uzyskać dostęp do wszystkich odpowiednich informacji i ustawień.

Zrzut ekranu przedstawiający stos wdrożenia w witrynie Azure Portal.

Aktualizowanie stosu wdrożenia

Aby zaktualizować stos wdrożenia, możesz zmodyfikować źródłowy plik Bicep i ponownie uruchomić polecenie tworzenia stosu wdrożenia.

Edytuj plik main.bicep , aby zmienić nazwę jednostki SKU na Standard_GRS z Standard_LRS:

Uruchom następujące polecenie:

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

W witrynie Azure Portal sprawdź właściwości konta magazynu, aby potwierdzić zmianę.

Przy użyciu tej samej metody można dodać zasób do stosu wdrożenia lub usunąć zasób zarządzany ze stosu wdrożenia. Aby uzyskać więcej informacji, zobacz Dodawanie zasobów do stosu wdrożenia i Usuwanie zarządzanych zasobów ze stosu wdrożenia.

Usuwanie stosu wdrożenia

Aby usunąć stos wdrożenia i zarządzane zasoby:

az stack group delete \
  --name 'demoStack' \
  --resource-group 'demoRg' \
  --action-on-unmanage 'deleteAll'

Aby usunąć stos wdrożenia, ale zachować zarządzane zasoby:

az stack group delete \
  --name 'demoStack' \
  --resource-group 'demoRg' \
  --action-on-unmanage 'detachAll'

Aby uzyskać więcej informacji, zobacz Usuwanie stosów wdrożeń.

Polecenie remove usuwa wyłącznie zarządzane zasoby i zarządzane grupy zasobów. Nadal ponosisz odpowiedzialność za usunięcie grup zasobów, które nie są zarządzane przez stos wdrożenia.

Czyszczenie zasobów

Usuń niezarządzaną grupę zasobów.

az group delete \
  --name 'demoRg'

Następne kroki