Latihan - Menggunakan fungsi Azure Resource Manager untuk membuat ekspresi

Selesai

Catatan

Saat Anda pertama kali mengaktifkan kotak pasir dan menerima persyaratan, akun Microsoft Anda dikaitkan dengan direktori Azure baru bernama Microsoft Learn Sandbox. Anda ditambahkan ke langganan khusus bernama Langganan Concierge.

Dalam latihan ini, Anda membuat ekspresi dengan menggunakan fungsi templat Azure Resource Manager (ARM). Ekspresi membuat nama unik untuk setiap grup sumber daya dengan menggabungkan input awalan dengan hash ID grup sumber daya. Ini menghasilkan nama akun penyimpanan Azure seperti dev2hu6sbtr5 dan staging5his8hgr67.

Dalam latihan ini, Anda menggunakan Alat Azure Resource Manager untuk Visual Studio Code. Pastikan untuk menginstal ekstensi ini di Visual Studio Code.

Membuat file template ARM

Di modul sebelumnya, Anda membuat templat ARM yang menerapkan akun penyimpanan. Anda menambahkan parameter dan sebuah output ke file ini. Di sini, Anda mulai dengan file tersebut, tetapi output dihapus untuk mengurangi overhead.

  1. Membuka Visual Studio Code dan membuat file baru yang disebut azuredeploy.json. Jika Anda memiliki file ini dari modul sebelumnya, Anda dapat menggunakan file tersebut.

  2. Ganti isi file dengan kode berikut:

    {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
           "storageName": {
               "type": "string",
               "minLength": 3,
               "maxLength": 24
           },
            "storageSKU": {
                "type": "string",
                "defaultValue": "Standard_LRS",
                "allowedValues": [
                    "Standard_LRS",
                    "Standard_GRS",
                    "Standard_RAGRS",
                    "Standard_ZRS",
                    "Premium_LRS",
                    "Premium_ZRS",
                    "Standard_GZRS",
                    "Standard_RAGZRS"
                ]
            }
       },
        "functions": [],
        "variables": {},
        "resources": [{
            "name": "[parameters('storageName')]",
            "type": "Microsoft.Storage/storageAccounts",
            "apiVersion": "2019-06-01",
            "tags": {
                "displayName": "[parameters('storageName')]"
            },
            "location": "[resourceGroup().location]",
            "kind": "StorageV2",
            "sku": {
             "name": "[parameters('storageSKU')]"
           }
        }],
         "outputs": {}
    }
    
  3. Jika Anda tidak menyelesaikan modul sebelumnya, luangkan waktu sejenak untuk meninjau file ini. Perhatikan storageName parameternya. Parameter ini digunakan untuk meneruskan nama unik untuk akun penyimpanan.

Membuat ekspresi untuk mengatur nama akun penyimpanan unik

Alih-alih meneruskan nama akun penyimpanan, ubah parameter untuk mengambil awalan untuk nama akun penyimpanan. Parameter ini diteruskan ke concat fungsi dalam ekspresi Anda.

  1. Di bagian parameters, ubah storageName ke storagePrefix.

  2. Ubah nilai atribut maxLength: dari storagePrefix parameter menjadi 11. Panjang maksimum untuk nama akun penyimpanan adalah 24 karakter, jadi Anda ingin memastikan hash yang ditambahkan dari fungsi yang Anda buat tidak menyebabkan nama lebih panjang dari 24.

  3. Membuat ekspresi untuk mengatur nama akun penyimpanan unik. Di bagian resources, ubah nilai atribut name: dan displayName: dari "[parameters('storageName')]" ke "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]". Anda mempelajari tentang ekspresi ini di unit sebelumnya. File tersebut sekarang akan terlihat seperti file ini:

    {
        "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
        "contentVersion": "1.0.0.0",
        "parameters": {
           "storagePrefix": {
               "type": "string",
               "minLength": 3,
               "maxLength": 11
           },
            "storageSKU": {
                "type": "string",
                "defaultValue": "Standard_LRS",
                "allowedValues": [
                    "Standard_LRS",
                    "Standard_GRS",
                    "Standard_RAGRS",
                    "Standard_ZRS",
                    "Premium_LRS",
                    "Premium_ZRS",
                    "Standard_GZRS",
                    "Standard_RAGZRS"
                ]
            }
       },
        "functions": [],
        "variables": {},
        "resources": [{
            "name": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]",
            "type": "Microsoft.Storage/storageAccounts",
            "apiVersion": "2019-06-01",
            "tags": {
                "displayName": "[toLower(concat(parameters('storagePrefix'),uniqueString(resourceGroup().id)))]"
            },
            "location": "[resourceGroup().location]",
            "kind": "StorageV2",
            "sku": {
             "name": "[parameters('storageSKU')]"
           }
        }],
        "outputs": {}
    }
    

Menyebarkan templat ARM ke Azure

Untuk menyebarkan templat ini ke Azure, Anda harus masuk ke akun Azure Anda dari terminal Visual Studio Code. Pastikan Anda memiliki alat CLI Azure yang terinstal. Pastikan juga, Anda masuk ke akun yang sama yang mengaktifkan kotak pasir.

  1. Buka jendela terminal dengan menggunakan menu Terminal.

  2. Jika menu drop-down di sebelah kanan jendela terminal menampilkan bash, Anda memiliki shell yang tepat untuk bekerja. Anda dapat melompat ke bagian berikutnya.

    A screenshot that shows the Visual Studio Code terminal window with bash in the drop-down menu.

  3. Jika Anda tidak memiliki shell yang tepat, pilih Pilih Shell Default di menu drop-down.

  4. Pilih bash:

    Screenshot that shows the select shell list in the Visual Studio Code terminal window.

  5. Pilih + di terminal untuk membuat terminal baru dengan bash sebagai shell.

Masuk ke Azure

  1. Dari terminal di Visual Studio Code, jalankan perintah berikut untuk masuk ke Azure. Menjalankan perintah ini membuka browser yang memungkinkan Anda masuk ke akun Anda:

    az login
    
  2. Setelah masuk, Anda akan melihat daftar langganan yang terkait dengan akun ini di terminal. Jika Anda mengaktifkan sandbox, Anda akan melihat yang disebut Langganan Concierge. Gunakan sandbox ini untuk latihan yang tersisa.

  3. Tetapkan langganan default untuk semua perintah Azure CLI yang Anda jalankan dalam sesi ini:

    az account set --subscription "Concierge Subscription"
    

    Catatan

    Jika baru-baru ini Anda telah menggunakan lebih dari satu sandbox, mungkin ada lebih dari satu Langganan Concierge yang tercantum. Jika demikian, gunakan dua langkah berikutnya untuk menetapkan langganan default. Jika perintah sebelumnya berhasil, lewati dua langkah berikutnya.

  4. Mendapatkan ID Langganan Concierge:

     az account list \
       --refresh \
       --query "[?contains(name, 'Concierge Subscription')].id" \
       --output table
    
  5. Tetapkan langganan default menggunakan ID langganan. Mengganti {your subscription ID} dengan ID Langganan Concierge terbaru.

    az account set --subscription {your subscription ID}
    

Menetapkan grup sumber daya default

  • Menetapkan grup sumber daya default untuk grup sumber daya yang dibuat untuk Anda di lingkungan sandbox. Melakukannya memungkinkan Anda untuk menghilangkan parameter tersebut dari perintah Azure CLI lainnya dalam latihan ini.

    az configure --defaults group=<rgn>[sandbox resource group name]</rgn>
    

Menyebarkan templat ke Azure

Anda mempelajari tentang perintah penerapan di modul sebelumnya. Di sini, kita menggunakan az deployment group createperintah Azure CLI.

  • Menerapkan templat menggunakan perintah Azure CLI di terminal Visual Studio Code. Ingatlah untuk mengganti {your-prefix} dengan string yang berbeda. Misalnya, Anda dapat menggunakan penyimpanan.

    templateFile="azuredeploy.json"
    today=$(date +"%d-%b-%Y")
    DeploymentName="addfunction-"$today
    
    az deployment group create \
      --name $DeploymentName \
      --template-file $templateFile \
      --parameters storagePrefix={your-prefix}
    

    Di bagian pertama kode ini, Anda mengatur variabel Azure CLI untuk jalur ke file templat yang ingin Anda terapkan dan nama penerapan. Anda kemudian menggunakan perintah az deployment group create untuk menyebarkan templat ke Azure.

    Anda akan melihat pesan Running... di terminal.

Untuk menyebarkan templat ini ke Azure, Anda harus masuk ke akun Azure Anda dari terminal Visual Studio Code. Pastikan Anda memiliki alat Azure PowerShell yang terinstal dan Anda masuk ke akun yang sama yang mengaktifkan kotak pasir.

  1. Buka jendela terminal dengan menggunakan menu Terminal.

  2. Jika menu drop-down di sebelah kanan jendela terminal menampilkan pwsh, Anda memiliki shell yang tepat untuk bekerja. Anda dapat melompat ke bagian berikutnya.

    A screenshot that shows the Visual Studio Code terminal window with pwsh in the drop-down menu.

  3. Jika Anda tidak memiliki shell yang tepat, pilih Pilih Shell Default di menu drop-down.

  4. Pilih pwsh.

    Screenshot that shows the select shell list in the Visual Studio Code terminal window.

  5. Pilih + di terminal untuk membuat terminal baru dengan pwsh sebagai shell.

Masuk ke Azure menggunakan Azure PowerShell

  1. Dari terminal di Visual Studio Code, jalankan perintah berikut untuk masuk ke Azure. Saat menjalankan perintah ini, Anda diminta untuk membuka browser ke URL yang memungkinkan Anda masuk ke akun Anda. Gunakan kode yang ada di prompt. Pastikan untuk masuk dengan akun yang sama dengan yang Anda gunakan untuk mengaktifkan kotak pasir.

    Connect-AzAccount
    
  2. Setelah masuk, Anda akan melihat daftar langganan yang terkait dengan akun ini di terminal. Jika Anda mengaktifkan sandbox, Anda akan melihat yang disebut Langganan Concierge. Gunakan sandbox ini untuk latihan yang tersisa.

    Tetapkan langganan default untuk semua perintah Azure CLI yang Anda jalankan dalam sesi ini.

  3. Dapatkan ID langganan. Perintah mencantumkan langganan Anda dan ID mereka. ID langganan adalah kolom kedua. Cari Concierge Subscription dan salin kolom kedua. Ini terlihat seperti ini: cf49fbbc-217c-4eb6-9eb5-a6a6c68295a0.

    Get-AzSubscription
    
  4. Ubah langganan aktif Anda menjadi Langganan Concierge. Pastikan untuk mengganti {Your subscription ID} dengan ID yang Anda salin.

    $context = Get-AzSubscription -SubscriptionId {Your subscription ID}
    Set-AzContext $context
    
  5. Menetapkan grup sumber daya default untuk grup sumber daya yang dibuat untuk Anda di lingkungan sandbox. Melakukannya memungkinkan Anda untuk menghilangkan parameter tersebut dari perintah Azure PowerShell dalam latihan ini.

    Set-AzDefault -ResourceGroupName <rgn>[sandbox resource group name]</rgn>
    

Menyebarkan templat ke Azure

Anda mempelajari tentang perintah penerapan di modul sebelumnya. Di sini, kita menggunakan perintah New-AzResourceGroupDeployment Azure PowerShell.

  • Menerapkan templat menggunakan perintah Azure PowerShell di terminal Visual Studio Code. Ingatlah untuk mengganti {your-prefix} dengan string yang berbeda. Misalnya, Anda dapat menggunakan penyimpanan.

    $templateFile = "azuredeploy.json"
    $today=Get-Date -Format "MM-dd-yyyy"
    $deploymentName="addfunction-"+"$today"
    New-AzResourceGroupDeployment `
      -Name $deploymentName `
      -TemplateFile $templateFile `
      -storagePrefix {your-prefix}
    

Di bagian pertama kode ini, Anda mengatur variabel Azure PowerShell untuk jalur ke file templat yang ingin Anda gunakan dan nama penyebaran. Anda kemudian menggunakan perintah New-AzResourceGroupDeployment untuk menyebarkan templat ke Azure.

Memeriksa penyebaran Anda

Saat penyebaran selesai, buka portal Azure dan pastikan Anda berlangganan kotak pasir. Untuk memeriksa langganan, pilih avatar Anda di sudut kanan atas halaman. Lalu pilih Beralih direktori. Dalam daftar, pilih direktori Microsoft Learn Sandbox.

  1. Di menu sebelah kiri, pilih Grup sumber daya.

  2. Pilih [nama grup sumber daya kotak pasir].

  3. Di bagian Ringkasan, Anda melihat bahwa satu penerapan berhasil:

    Screenshot of the Azure portal that shows the resource group overview. The Deployments section shows that one deployment succeeded.

  4. Pilih 1 Berhasil untuk melihat detail penerapan:

    Screenshot of the Azure portal that shows deployments. One deployment is listed and has a status of Succeeded.

  5. Pilih addfunction untuk melihat sumber daya apa yang diterapkan:

    Screenshot of the Azure portal that shows that the storage account deployed.

  6. Biarkan halaman terbuka di browser Anda sehingga Anda dapat memeriksa penyebaran lagi nanti di modul.