Latihan - Mengontrol urutan penyebaran sumber daya

Selesai

Di bagian ini, Anda mulai dengan melakukan beberapa tugas penyiapan dasar. Di Visual Studio Code, Anda menyambungkan sesi terminal ke langganan Azure yang disediakan oleh lingkungan kotak pasir Azure gratis. Melakukannya memungkinkan Anda untuk mengautentikasi perintah ke Azure.

Kemudian, Anda menjalankan templat ARM dasar yang menyediakan komputer virtual Linux (VM). Setelah penyebaran selesai, Anda memverifikasi bahwa VM berjalan dan dapat disambungkan.

Meskipun bekerja dengan VM adalah tugas umum, Anda menemukan bahwa sumber daya VM memerlukan komponen jaringan dan penyimpanan yang harus ada sebelum VM dapat dibuat. Anda melihat cara konstruksi dependsOn memungkinkan Anda untuk mengatur urutan sumber daya yang disediakan.

Penyiapan

Di sini, Anda membuka Visual Studio Code, membuat sesi PowerShell, dan menyambungkan ke langganan Azure yang disediakan oleh lingkungan kotak pasir Azure gratis.

Anda perlu melakukan tugas penyiapan ini satu kali selama modul ini. Anda dapat merujuk kembali ke langkah-langkah ini jika Anda keluar atau terputus dalam latihan selanjutnya.

Buka PowerShell di Visual Studio Code

  1. Buka Visual Studio Code.

  2. Buka jendela terminal dengan menggunakan menu Terminal.

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

    Screenshot of Terminal window, terminal type.

  4. Jika tidak, pilih drop-down dan pilih Pilih Shell Default.

  5. Pilih pwsh.

    Screenshot that shows selecting a shell from the drop-down menu.

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

Masuk ke Azure

  1. Jalankan Connect-AzAccount untuk masuk ke akun Anda.

    Connect-AzAccount
    

    Jendela browser muncul.

  2. Pilih akun yang Anda gunakan untuk mengaktifkan kotak pasir, dan tutup jendela browser ketika diminta.

Mengatur langganan aktif

  1. Jalankan Get-AzSubscription untuk mendapatkan ID langganan untuk lingkungan kotak pasir.

    Get-AzSubscription
    

    Cari Concierge Subscription, dan salin kolom kedua. Ini akan terlihat seperti cf49fbbc-217c-4eb6-9eb5-a6a6c68295a0.

  2. Jalankan Set-AzContext untuk mengubah langganan aktif Anda ke Langganan Concierge.

    Catatan

    Pastikan untuk mengganti {ID langganan Anda} dengan ID Langganan Concierge yang baru saja Anda dapatkan di perintah terakhir.

    $subscription = Get-AzSubscription -SubscriptionId {Your subscription ID}
    Set-AzContext $subscription
    

Tetapkan grup sumber daya default

Biasanya, ketika Anda menjalankan perintah Azure CLI, Anda perlu menentukan grup sumber daya.

Kotak pasir menyediakan grup sumber daya default untuk Anda. Untuk membuat perintah Azure CLI yang mengikuti agar lebih mudah dijalankan, di sini Anda mengatur grup sumber daya default.

Jalankan cmdlet Set-AzDefault untuk menetapkan grup sumber daya default.

Set-AzDefault -ResourceGroupName <rgn>resource group name</rgn>

Catatan

Biasanya, ketika Anda menggunakan PowerShell untuk menyebarkan sumber daya di Azure, Anda perlu menentukan grup sumber daya. Anda melewati persyaratan ini dengan mengatur konteks penyebaran Anda, menggunakan Set-AzDefault.

Apa yang ada dalam penyebaran VM biasa

Ketika Anda menyebarkan VM, perlu diingat bahwa ada beberapa sumber daya yang perlu disebarkan bersama agar VM berfungsi.

Berikut ringkasan singkat tentang jenis sumber daya yang biasanya perlu disebarkan bersama VM:

  • Microsoft.Storage/storageAccounts. Akun penyimpanan menyediakan ruang disk untuk sistem operasi dan file.
  • Microsoft.Network/publicIPAddresses. Alamat IP publik mengaktifkan Anda untuk tersambung ke VM dari internet.
  • Microsoft.Network/networkSecurityGroups. Grup keamanan jaringan memuat aturan untuk menangani lalu lintas masuk dan keluar ke jaringan virtual Anda.
  • Microsoft.Network/virtualNetworks. VM Anda perlu ditempatkan dalam jaringan virtual. Sumber daya ini memerlukan grup keamanan jaringan untuk disebarkan sebelumnya.
  • Microsoft.Network/networkInterfaces. Sumber daya ini bergantung pada dua sumber daya lain: alamat IP publik dan jaringan virtual.
  • Microsoft.Compute/virtualMachines. Komputer virtual adalah sumber daya utama yang ingin Anda sebarkan. Hal ini bergantung pada dua sumber daya yang berbeda: akun penyimpanan dan antarmuka jaringan.

Sebarkan VM Linux

Di sini, Anda mengunduh templat ARM dari repositori GitHub yang kami sediakan untuk Anda. Templat menyediakan VM Linux dan semua sumber daya yang diperlukan untuk menjalankannya.

  1. Jalankan perintah curl berikut untuk mengunduh templat ARM:

    curl -O 'https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.compute/vm-simple-linux/azuredeploy.json'
    
  2. Jalankan cmdlet ConvertTo-SecureString, dan tetapkan hasilnya ke variabel PowerShell bernama $secure:

    $secure = "insecurepassword123!" | ConvertTo-SecureString -AsPlainText -Force
    

    Sekarang, Anda memiliki versi terenkripsi kata sandi Anda sehingga Anda dapat meneruskan skrip penyebaran berikutnya.

  3. Jalankan perintah New-AzResourceGroupDeployment untuk menyebarkan templat:

    New-AzResourceGroupDeployment `
      -TemplateFile "./azuredeploy.json" `
      -adminUsername "azureuser" `
      -vmName "vm1" `
      -adminPasswordOrKey $secure
    

    Perintah dapat memerlukan waktu beberapa menit untuk dijalankan. Ketika perintah dijalankan, Anda dapat memeriksa templat ARM dari tab browser terpisah jika Anda ingin.

    Perhatikan dependensi sumber daya dengan mencari kunci dependsOn. Contohnya, sumber daya komputer virtual bergantung pada antarmuka jaringan:

    "type": "Microsoft.Compute/virtualMachines",
    "apiVersion": "2020-06-01",
    "name": "[parameters('vmName')]",
    "location": "[parameters('location')]",
    "dependsOn": [
      "[resourceId('Microsoft.Network/networkInterfaces/', variables('networkInterfaceName'))]"
    ],
    

Verifikasi penyebaran

Verifikasi bahwa VM disediakan dan dapat disambungkan melalui SSH. Untuk melakukannya:

  1. Jalankan perintah Invoke-Expression untuk menyambungkan ke VM melalui SSH:

    Invoke-Expression (Get-AzResourceGroupDeployment -Name azuredeploy -ResourceGroupName <rgn>your resource group</rgn>).outputs.sshCommand.value
    

    Ketika diminta, masukkan yes untuk lanjut menyambungkan. Kemudian, masukkan kata sandi administrator, insecurepassword123!.

    Penting

    Dalam praktiknya, jaga keamanan kata sandi. Anda juga dapat menggunakan autentikasi kunci umum, yang biasanya lebih aman daripada menggunakan kata sandi.

  2. Dari koneksi SSH Anda ke VM, jalankan hostname untuk mencetak nama host VM:

    hostname
    

    Anda melihat nama host internal VM, vm1:

    vm1
    
  3. Jalankan exit untuk meninggalkan sesi SSH Anda.

    exit
    

Selamat, Anda sudah berhasil menyebarkan VM Linux dengan menggunakan templat ARM. VM adalah jenis sumber daya umum yang mencakup sumber daya dependen.

Penyiapan

Di sini, Anda membuka Visual Studio Code, membuat sesi terminal, dan menyambungkan ke langganan Azure yang disediakan oleh lingkungan kotak pasir Azure gratis.

Anda perlu melakukan tugas penyiapan ini satu kali selama modul ini. Anda dapat merujuk kembali ke langkah-langkah ini jika Anda keluar atau terputus dalam latihan selanjutnya.

Buka shell di Visual Studio Code

  1. Buka Visual Studio Code.

  2. Buka jendela terminal dengan menggunakan menu Terminal.

  3. Jika menu drop-down menampilkan shell pilihan Anda (bash atau zsh, contohnya), Anda dapat melompat ke bagian berikutnya.

  4. Jika tidak, pilih drop-down dan pilih Pilih Shell Default.

  5. Pilih jenis shell yang Anda inginkan.

    Screenshot that shows selecting a shell from the drop-down menu.

  6. Pilih + di terminal untuk membuat terminal baru dengan jenis shell yang Anda pilih.

Masuk ke Azure

  1. Dari terminal, jalankan az login:

    az login
    

    Jendela browser muncul.

  2. Pilih akun yang Anda gunakan untuk mengaktifkan kotak pasir dan tutup jendela browser ketika diminta.

Mengatur langganan aktif

Jalankan perintah az account set berikut untuk mengatur lingkungan kotak pasir Azure sebagai langganan aktif Anda:

az account set -s "Concierge Subscription"

Catatan

Jika perintah gagal, jalankan az account list --refresh --all, lalu jalankan kembali perintah az account set.

Menetapkan grup sumber daya default

Biasanya, ketika Anda menjalankan perintah Azure CLI, Anda perlu menentukan grup sumber daya.

Kotak pasir menyediakan grup sumber daya default untuk Anda. Untuk membuat perintah Azure CLI yang mengikuti agar lebih mudah dijalankan, di sini Anda mengatur grup sumber daya default.

Jalankan perintah az configure berikut untuk mengatur grup sumber daya default:

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

Apa yang ada dalam penyebaran VM biasa

Ketika Anda menyebarkan VM, perlu diingat bahwa ada beberapa sumber daya yang perlu disebarkan bersama agar VM berfungsi.

Berikut ringkasan singkat tentang jenis sumber daya yang biasanya perlu disebarkan bersama VM:

  • Microsoft.Storage/storageAccounts. Akun penyimpanan menyediakan ruang disk untuk sistem operasi dan file.
  • Microsoft.Network/publicIPAddresses. Alamat IP publik mengaktifkan Anda untuk tersambung ke VM dari internet.
  • Microsoft.Network/networkSecurityGroups. Grup keamanan jaringan memuat aturan untuk menangani lalu lintas masuk dan keluar ke jaringan virtual Anda.
  • Microsoft.Network/virtualNetworks. VM Anda perlu ditempatkan dalam jaringan virtual. Sumber daya ini memerlukan grup keamanan jaringan untuk disebarkan sebelumnya.
  • Microsoft.Network/networkInterfaces. Sumber daya ini bergantung pada dua sumber daya lain: alamat IP publik dan jaringan virtual.
  • Microsoft.Compute/virtualMachines. Komputer virtual adalah sumber daya utama yang ingin Anda sebarkan. Hal ini bergantung pada dua sumber daya yang berbeda: akun penyimpanan dan antarmuka jaringan.

Sebarkan VM Linux

Di sini, Anda mengunduh templat Azure Resource Manager (ARM) dari repositori GitHub yang kami sediakan untuk Anda. Templat menyediakan VM Linux dan semua sumber daya yang diperlukan untuk menjalankannya.

  1. Jalankan perintah wget berikut untuk mengunduh templat ARM:

    wget https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.compute/vm-simple-linux/azuredeploy.json
    

    Jika belum menginstal wget, Anda dapat menjalankan perintah curl ini:

    curl https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.compute/vm-simple-linux/azuredeploy.json > azuredeploy.json
    
  2. Jalankan perintah az deployment group create untuk menyebarkan templat:

    az deployment group create \
      --template-file azuredeploy.json \
      --parameters adminUsername=azureuser vmName=vm1 adminPasswordOrKey='insecurepassword123!'
    

    Perintah dapat memerlukan waktu beberapa menit untuk dijalankan. Ketika perintah dijalankan, Anda dapat memeriksa templat ARM dari tab browser terpisah jika Anda ingin.

    Perhatikan dependensi sumber daya dengan mencari kunci dependsOn. Contohnya, sumber daya komputer virtual bergantung pada antarmuka jaringan:

    "type": "Microsoft.Compute/virtualMachines",
    "apiVersion": "2020-06-01",
    "name": "[parameters('vmName')]",
    "location": "[parameters('location')]",
    "dependsOn": [
      "[resourceId('Microsoft.Network/networkInterfaces/', variables('networkInterfaceName'))]"
    ],
    

Verifikasi penyebaran

Verifikasi bahwa VM disediakan dan dapat disambungkan melalui SSH. Untuk melakukannya:

  1. Jalankan perintah az deployment group list berikut untuk mencantumkan grup penyebaran di langganan Anda:

    az deployment group list --output table
    

    Anda melihat satu grup penyebaran, bernama azuredeploy:

    Name         ResourceGroup                               State      Timestamp                         Mode
    -----------  ------------------------------------------  ---------  --------------------------------  -----------
    azuredeploy  learn-1ef901aa-3f6a-46aa-8e93-a7f11e5192b8  Succeeded  2020-11-24T17:55:39.762517+00:00  Incremental
    
  2. Jalankan perintah az deployment group show berikut untuk memperlihatkan perintah SSH yang dapat Anda gunakan untuk menyambungkan ke VM:

    az deployment group show \
      --name azuredeploy \
      --query properties.outputs.sshCommand.value \
      --output tsv
    

    Templat ARM mendefinisikan properti ini di bagian output. Berikut contohnya:

    ssh azureuser@simplelinuxvm-a33zb3sc332ue.westus.cloudapp.azure.com
    
  3. Jalankan kembali perintah, kali ini menggunakan sintaks $() untuk menjalankan perintah SSH:

    $(az deployment group show \
      --name azuredeploy \
      --query properties.outputs.sshCommand.value \
      --output tsv)
    

    Ketika diminta, masukkan yes untuk lanjut menyambungkan. Kemudian, masukkan kata sandi administrator, insecurepassword123!.

    Penting

    Dalam praktiknya, jaga keamanan kata sandi. Anda juga dapat menggunakan autentikasi kunci umum, yang biasanya lebih aman daripada menggunakan kata sandi.

  4. Dari koneksi SSH Anda ke VM, jalankan hostname untuk mencetak nama host VM:

    hostname
    

    Anda melihat nama host internal VM, vm1:

    vm1
    
  5. Jalankan exit untuk meninggalkan sesi SSH Anda.

    exit
    

Selamat, Anda sudah berhasil menyebarkan VM Linux dengan menggunakan templat ARM. VM adalah jenis sumber daya umum yang mencakup sumber daya dependen.