Mulai cepat: Membuat dan menyebarkan tumpukan penyebaran dengan Bicep

Mulai cepat ini menjelaskan cara membuat tumpukan penyebaran.

Prasyarat

Membuat file Bicep

Buat file Bicep untuk membuat akun penyimpanan dan jaringan virtual.

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

Simpan file Bicep sebagai main.bicep.

Membuat tumpukan penyebaran

Dalam mulai cepat ini, Anda membuat tumpukan penyebaran di cakupan grup sumber daya. Anda juga dapat membuat tumpukan penyebaran di cakupan langganan atau cakupan grup manajemen. Untuk informasi selengkapnya, lihat Membuat tumpukan penyebaran.

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

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

Memverifikasi penyebaran

Untuk mencantumkan tumpukan penyebaran yang disebarkan di tingkat grup sumber daya:

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

Output menunjukkan dua sumber daya terkelola - satu akun penyimpanan dan satu jaringan virtual:

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

Anda juga dapat memverifikasi penyebaran dengan mencantumkan sumber daya terkelola di tumpukan penyebaran:

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

Output mirip dengan:

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

Setelah tumpukan dibuat, Anda dapat mengakses dan melihat tumpukan itu sendiri dan sumber daya terkelola yang terkait dengannya melalui portal Azure. Navigasi ke grup sumber daya tempat tumpukan telah disebarkan, dan Anda dapat mengakses semua informasi dan pengaturan yang relevan.

Cuplikan layar tumpukan penyebaran di portal Azure.

Memperbarui tumpukan penyebaran

Untuk memperbarui tumpukan penyebaran, Anda dapat memodifikasi file Bicep yang mendasar dan menjalankan ulang perintah buat tumpukan penyebaran.

Edit main.bicep untuk mengubah nama sku menjadi Standard_GRS dari Standard_LRS:

Jalankan perintah berikut:

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

Dari portal Azure, periksa properti akun penyimpanan untuk mengonfirmasi perubahan.

Dengan menggunakan metode yang sama, Anda dapat menambahkan sumber daya ke tumpukan penyebaran atau menghapus sumber daya terkelola dari tumpukan penyebaran. Untuk informasi selengkapnya, lihat Menambahkan sumber daya ke tumpukan penyebaran dan Menghapus sumber daya terkelola dari tumpukan penyebaran.

Menghapus tumpukan penyebaran

Untuk menghapus tumpukan penyebaran, dan sumber daya terkelola:

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

Jika Anda menjalankan perintah hapus tanpa menghapus semua parameter, sumber daya terkelola dicopot tetapi tidak dihapus. Contohnya:

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

Parameter berikut dapat digunakan untuk mengontrol antara melepaskan dan menghapus.

  • --delete-all: Hapus sumber daya dan grup sumber daya.
  • --delete-resources: Hapus sumber daya saja.
  • --delete-resource-groups: Hapus grup sumber daya saja. Ini tidak valid untuk digunakan delete-resource-groups dengan sendirinya. delete-resource-groups harus digunakan bersama dengan delete-resources.

Untuk informasi selengkapnya, lihat Menghapus tumpukan penyebaran.

Perintah hapus secara eksklusif menghapus sumber daya terkelola dan grup sumber daya terkelola. Anda masih bertanggung jawab untuk menghapus grup sumber daya yang tidak dikelola oleh tumpukan penyebaran.

Membersihkan sumber daya

Hapus grup sumber daya yang tidak dikelola.

az group delete --name 'demoRg'

Langkah berikutnya