Tutorial: Membuat beberapa instans sumber daya dengan templat ARM

Pelajari cara mengiterasi di templat Azure Resource Manager (templat ARM) Anda untuk membuat beberapa instans sumber daya Azure. Dalam tutorial ini, Anda memodifikasi template untuk membuat tiga instans akun penyimpanan.

Diagram memperlihatkan Azure Resource Manager membuat beberapa instans.

Tutorial ini mencakup tugas-tugas berikut:

  • Membuka templat Mulai Cepat
  • Mengedit templat
  • Menyebarkan templat

Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum memulai.

Untuk modul Microsoft Learn yang mencakup salinan sumber daya, lihat Mengelola penyebaran cloud yang kompleks dengan menggunakan fitur template ARM tingkat lanjut.

Prasyarat

Untuk menyelesaikan artikel ini, Anda perlu:

Buka templat Mulai Cepat

Templat Mulai Cepat Azure adalah repositori untuk templat ARM. Daripada membuat templat dari awal, Anda dapat menemukan sampel templat dan menyesuaikannya. Templat yang digunakan dalam mulai cepat ini disebut Membuat akun penyimpanan standar. Templat menentukan sumber daya akun Azure Storage.

  1. Dari Visual Studio Code, pilih File>Buka File.

  2. Di Nama file, tempelkan URL berikut:

    https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json
    
  3. Pilih Buka untuk membuka file.

  4. Ada sumber daya yang Microsoft.Storage/storageAccounts ditentukan dalam templat. Bandingkan templat dengan referensi templat. Sangat membantu untuk mendapatkan pemahaman mendasar tentang templat sebelum Anda menyesuaikannya.

  5. Pilih File>Simpan Sebagai untuk menyimpan file sebagai azuredeploy.json ke komputer lokal Anda.

Mengedit templat

Templat yang sudah ada membuat satu akun penyimpanan. Anda mengkustomisasi templat untuk membuat tiga akun penyimpanan.

Dari Visual Studio Code, lakukan empat perubahan berikut:

Cuplikan layar Visual Studio Code dengan Azure Resource Manager membuat beberapa instans.

  1. Tambahkan elemen copy ke definisi sumber daya akun penyimpanan. Dalam elemen copy, Anda menentukan jumlah iterasi dan variabel untuk perulangan ini. Nilai hitungan harus merupakan bilangan bulat positif dan tidak boleh melebihi 800.

    "copy": {
      "name": "storageCopy",
      "count": 3
    },
    
  2. Fungsi copyIndex() mengembalikan iterasi saat ini dalam perulangan. Anda menggunakan indeks sebagai prefiks nama. copyIndex() berbasis nol. Untuk mengimbangi nilai indeks, Anda dapat meneruskan nilai dalam fungsi copyIndex(). Contohnya:copyIndex(1)

    "name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
    
    
    
  3. storageAccountName Hapus definisi parameter, karena tidak digunakan lagi.

  4. Hapus elemen outputs. Tidak lagi diperlukan.

  5. Hapus elemen metadata.

Templat yang sudah jadi akan terlihat seperti:

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "storageAccountType": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Premium_LRS",
        "Premium_ZRS",
        "Standard_GRS",
        "Standard_GZRS",
        "Standard_LRS",
        "Standard_RAGRS",
        "Standard_RAGZRS",
        "Standard_ZRS"
      ],
      "metadata": {
        "description": "Storage Account type"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for the storage account."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-06-01",
      "name": "[format('{0}storage{1}', copyIndex(), uniqueString(resourceGroup().id))]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "[parameters('storageAccountType')]"
      },
      "kind": "StorageV2",
      "copy": {
        "name": "storageCopy",
        "count": 3
      },
      "properties": {}
    }
  ]
}

Simpan perubahan.

Untuk informasi selengkapnya tentang membuat beberapa instans, lihat Iterasi sumber daya di templat ARM

Menyebarkan templat

  1. Masuk ke Azure Cloud Shell

  2. Pilih lingkungan pilihan Anda dengan memilih PowerShell atau Bash (untuk CLI) di sudut kiri atas. Menghidupkan ulang shell diperlukan saat Anda beralih.

    File unggahan portal Azure Cloud Shell

  3. Pilih Unggah/unduh file, lalu pilih Unggah. Lihat cuplikan layar sebelumnya. Pilih file yang Anda simpan di bagian sebelumnya. Setelah mengunggah file, Anda dapat menggunakan perintah ls dan perintah cat untuk memverifikasi file berhasil diunggah.

  4. Dari Cloud Shell, jalankan perintah berikut. Pilih tab untuk menampilkan kode PowerShell atau kode CLI.

    echo "Enter a project name that is used to generate resource group name:" &&
    read projectName &&
    echo "Enter the location (i.e. centralus):" &&
    read location &&
    resourceGroupName="${projectName}rg" &&
    az group create --name $resourceGroupName --location "$location" &&
    az deployment group create --resource-group $resourceGroupName --template-file "$HOME/azuredeploy.json"
    

Setelah penyebaran templat berhasil, Anda dapat menampilkan tiga akun penyimpanan yang dibuat dalam grup sumber daya yang ditentukan. Bandingkan nama akun penyimpanan dengan definisi nama dalam templat.

echo "Enter a project name that is used to generate resource group name:" &&
read projectName &&
resourceGroupName="${projectName}rg" &&
az storage account list --resource-group $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Membersihkan sumber daya

Saat sumber daya Azure tidak lagi diperlukan, bersihkan sumber daya yang Anda sebarkan dengan menghapus grup sumber daya.

  1. Dari portal Microsoft Azure, pilih Grup sumber daya dari menu sebelah kiri.
  2. Masukkan nama grup sumber daya di bidang Filter menurut nama.
  3. Pilih nama grup sumber daya. Anda akan melihat total tiga sumber daya dalam grup sumber daya.
  4. Pilih Hapus grup sumber daya dari menu atas.

Langkah berikutnya

Dalam tutorial ini, Anda mempelajari cara membuat beberapa instans akun penyimpanan. Dalam tutorial berikutnya, Anda mengembangkan templat dengan beberapa sumber daya dan beberapa jenis sumber daya. Beberapa sumber daya memiliki sumber daya dependen.