Bagikan melalui


Tutorial: Sebarkan ekstensi komputer virtual dengan templat ARM

Pelajari cara menggunakan ekstensi komputer virtual Azure untuk melakukan konfigurasi pasca-penyebaran dan tugas otomatisasi di Azure VM. Banyak ekstensi VM berbeda yang tersedia untuk digunakan dengan Azure VM. Dalam tutorial ini, Anda menggunakan ekstensi Skrip Kustom dari templat Azure Resource Manager (templat ARM) untuk menjalankan skrip PowerShell pada Windows VM. Skrip menginstal Server Web pada VM.

Tutorial ini mencakup tugas-tugas berikut:

  • Menyiapkan skrip PowerShell
  • Membuka templat mulai cepat
  • Mengedit templat
  • Menyebarkan templat

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

Prasyarat

Untuk menyelesaikan artikel ini, Anda perlu:

  • Kode Visual Studio.

  • Untuk meningkatkan keamanan, gunakan kata sandi yang dihasilkan untuk akun administrator komputer virtual. Anda dapat menggunakan Azure Cloud Shell untuk menjalankan perintah berikut di PowerShell atau Bash:

    openssl rand -base64 32
    

    Untuk mempelajari lebih lanjut, jalankan man openssl rand untuk membuka halaman manual.

    Azure Key Vault dirancang untuk melindungi kunci kriptografi dan rahasia lainnya. Untuk informasi selengkapnya, lihat Tutorial: Integrasikan Azure Key Vault dalam penyebaran templat ARM Anda. Sebaiknya Anda perbarui kata sandi setiap tiga bulan.

Menyiapkan skrip PowerShell

Anda dapat menggunakan skrip PowerShell sebaris atau file skrip. Tutorial ini menunjukkan cara menggunakan file skrip. Skrip PowerShell dengan konten berikut dibagikan dari GitHub:

Install-WindowsFeature -Name Web-Server -IncludeManagementTools

Jika Anda memilih untuk mempublikasikan file ke lokasi Anda sendiri, perbarui elemen fileUri dalam templat nanti dalam tutorial.

Membuka templat mulai cepat

Templat Mulai Cepat Azure adalah repositori untuk templat ARM. Daripada membuat templat dari awal, Anda dapat menemukan contoh templat dan menyesuaikannya. Templat yang digunakan dalam tutorial ini disebut Menyebarkan Windows VM sederhana.

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

  2. Dalam kotak Nama file, tempelkan URL berikut ini:

    https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.compute/vm-simple-windows/azuredeploy.json
    
  3. Untuk membuka file, pilih Buka. Templat ini menentukan lima sumber daya:

  4. Simpan salinan file ke komputer lokal Anda dengan nama azuredeploy.json dengan memilih File> Simpan Sebagai.

Mengedit templat

Tambahkan sumber daya ekstensi komputer virtual ke templat yang sudah ada dengan konten berikut:

{
  "type": "Microsoft.Compute/virtualMachines/extensions",
  "apiVersion": "2025-04-01",
  "name": "[format('{0}/{1}', variables('vmName'), 'InstallWebServer')]",
  "location": "[parameters('location')]",
  "dependsOn": [
    "[format('Microsoft.Compute/virtualMachines/{0}',variables('vmName'))]"
  ],
  "properties": {
    "publisher": "Microsoft.Compute",
    "type": "CustomScriptExtension",
    "typeHandlerVersion": "1.7",
    "autoUpgradeMinorVersion": true,
    "settings": {
      "fileUris": [
        "https://raw.githubusercontent.com/Azure/azure-docs-json-samples/master/tutorial-vm-extension/installWebServer.ps1"
      ],
      "commandToExecute": "powershell.exe -ExecutionPolicy Unrestricted -File installWebServer.ps1"
    }
  }
}

Untuk informasi selengkapnya tentang definisi sumber daya ini, lihat referensi ekstensi. Berikut ini adalah beberapa elemen penting:

  • name: Karena sumber daya ekstensi adalah sumber daya anak dari objek komputer virtual, namanya harus memiliki awalan nama komputer virtual. Lihat Pengaturan nama dan jenis untuk sumber daya anak.
  • dependsOn: Buat sumber daya ekstensi setelah Anda membuat komputer virtual.
  • fileUris: Lokasi tempat file skrip disimpan. Jika Anda memilih untuk tidak menggunakan lokasi yang disediakan, Anda perlu memperbarui nilai.
  • commandToExecute: Perintah ini memanggil skrip.

Untuk menggunakan skrip sebaris, hapus fileUris, dan perbarui commandToExecute untuk:

powershell.exe Install-WindowsFeature -name Web-Server -IncludeManagementTools && powershell.exe remove-item 'C:\\inetpub\\wwwroot\\iisstart.htm' && powershell.exe Add-Content -Path 'C:\\inetpub\\wwwroot\\iisstart.htm' -Value $('Hello World from ' + $env:computername)

Skrip sebaris ini juga memperbarui konten iisstart.html.

Anda juga harus membuka port HTTP agar Anda dapat mengakses server web.

  1. Temukan securityRules di templat.

  2. Tambahkan aturan berikut di samping default-allow-3389.

    {
      "name": "AllowHTTPInBound",
      "properties": {
        "priority": 1010,
        "access": "Allow",
        "direction": "Inbound",
        "destinationPortRange": "80",
        "protocol": "Tcp",
        "sourcePortRange": "*",
        "sourceAddressPrefix": "*",
        "destinationAddressPrefix": "*"
      }
    }
    

Menyebarkan templat

Untuk prosedur penyebaran, lihat bagian Sebarkan templat dari Tutorial: Buat templat ARM dengan sumber daya dependen. Untuk meningkatkan keamanan, gunakan kata sandi yang dihasilkan untuk akun administrator komputer virtual. Lihat bagian Prasyarat artikel ini.

Dari Cloud Shell, jalankan perintah berikut untuk mengambil alamat IP publik VM:

(Get-AzPublicIpAddress -ResourceGroupName $resourceGroupName).IpAddress

Tempelkan alamat IP ke browser. Halaman selamat datang Layanan Informasi Internet (IIS) default terbuka:

Cuplikan layar halaman selamat datang Layanan Informasi Internet.

Membersihkan sumber daya

Saat Anda tidak lagi memerlukan sumber daya Azure yang Anda terapkan, bersihkan dengan menghapus grup sumber daya.

  1. Di portal Azure, di panel kiri, pilih Grup sumber daya.
  2. Dalam kotak Filter menurut nama, masukkan nama grup sumber daya.
  3. Pilih nama grup sumber daya. Enam sumber daya ditampilkan dalam grup sumber daya.
  4. Di menu atas, pilih Hapus grup sumber daya.

Langkah berikutnya

Dalam tutorial ini, Anda menerapkan komputer virtual dan ekstensi komputer virtual. Ekstensi ini menginstal server web IIS pada komputer virtual. Untuk mempelajari cara menggunakan ekstensi Azure SQL Database untuk mengimpor file BACPAC, lihat: