Latihan - Mengontrol urutan penyebaran sumber daya
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
Buka Visual Studio Code.
Buka jendela terminal dengan menggunakan menu Terminal.
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.
Jika tidak, pilih drop-down dan pilih Pilih Shell Default.
Pilih pwsh.
Pilih + di terminal untuk membuat terminal baru dengan pwsh sebagai shell.
Masuk ke Azure
Jalankan
Connect-AzAccount
untuk masuk ke akun Anda.Connect-AzAccount
Jendela browser muncul.
Pilih akun yang Anda gunakan untuk mengaktifkan kotak pasir, dan tutup jendela browser ketika diminta.
Mengatur langganan aktif
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.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.
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'
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.
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:
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.
Dari koneksi SSH Anda ke VM, jalankan
hostname
untuk mencetak nama host VM:hostname
Anda melihat nama host internal VM,
vm1
:vm1
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
Buka Visual Studio Code.
Buka jendela terminal dengan menggunakan menu Terminal.
Jika menu drop-down menampilkan shell pilihan Anda (bash atau zsh, contohnya), Anda dapat melompat ke bagian berikutnya.
Jika tidak, pilih drop-down dan pilih Pilih Shell Default.
Pilih jenis shell yang Anda inginkan.
Pilih + di terminal untuk membuat terminal baru dengan jenis shell yang Anda pilih.
Masuk ke Azure
Dari terminal, jalankan
az login
:az login
Jendela browser muncul.
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.
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 perintahcurl
ini:curl https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.compute/vm-simple-linux/azuredeploy.json > azuredeploy.json
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:
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
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
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.
Dari koneksi SSH Anda ke VM, jalankan
hostname
untuk mencetak nama host VM:hostname
Anda melihat nama host internal VM,
vm1
:vm1
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.