Menggunakan templat Azure Resource Manager untuk menyebarkan dan menghubungkan mesin virtual Azure ke Azure Arc

Artikel ini memberikan panduan untuk menggunakan template Azure Resource Manager (template ARM) untuk secara otomatis melakukan onboard mesin virtual Azure (Azure VM) yang berjalan Windows ke Azure Arc. Template ARM yang disediakan bertanggung jawab untuk menciptakan sumber daya Azure dan mengeksekusi skrip onboard Azure Arc pada VM.

Azure Virtual Machines menggunakan Azure Instance Metadata Service (IMDS) secara default. Dengan memproyeksikan Azure VM sebagai server dengan dukungan Azure Arc, konflik dibuat, yang tidak akan memungkinkan sumber daya server Azure Arc diwakili sebagai salah satu saat IMDS digunakan. Sebaliknya, server Azure Arc masih akan "bertindak" sebagai Azure VM asli.

Panduan ini akan memungkinkan Anda untuk menggunakan dan mengaktifkan mesin virtual Azure ke Azure Arc hanya untuk tujuan demo. Anda akan memiliki kemampuan untuk mensimulasikan server yang digunakan di luar Azure, misalnya, lokal atau di platform cloud lainnya.

Catatan

Azure VM tidak diharapkan menjadi server dengan dukungan Azure Arc. Skenario berikut tidak didukung dan hanya boleh digunakan untuk tujuan demo dan pengujian.

Prasyarat

  1. Kloning repositori Azure Arc Jumpstart.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Pasang atau perbarui Azure CLI ke versi 2.7 dan setelahnya. Gunakan perintah berikut untuk memeriksa versi terinstal Anda saat ini.

    az --version
    
  3. Langganan Azure: jika Anda tidak memiliki langganan Azure, Anda dapat membuat akun Azure gratis.

  4. Membuat Prinsipal Layanan Azure.

    Agar Anda dapat menggunakan sumber daya Azure menggunakan template ARM, prinsip layanan Azure yang ditetapkan dengan peran Kontributor diperlukan. Untuk membuatnya, masuk ke akun Azure Anda dan jalankan perintah berikut. Anda juga dapat menjalankan perintah ini di Azure Cloud Shell.

    az login
    az account set -s <Your Subscription ID>
    az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor --scopes "/subscriptions/<Your Subscription ID>"
    

    Misalnya:

    az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
    

    Output akan terlihat seperti ini:

    {
      "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "displayName": "http://AzureArcServers",
      "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    

    Catatan

    Kami sangat menyarankan agar Anda memasukkan prinsipal layanan ke langganan Azure dan grup sumber daya tertentu.

Aliran automasi

Agar Anda terbiasa dengan otomatisasi dan aliran penyebaran, di bawah ini adalah penjelasannya.

  1. Pengguna mengedit file parameter template ARM (pengeditan satu kali). Nilai parameter ini digunakan selama penyebaran.

  2. Templat ARM menyertakan ekstensi skrip kustom Azure VM, yang menyebarkan skrip PowerShell install_arc_agent.ps1.

  3. Agar memungkinkan Azure VM dapat diproyeksikan sebagai server dengan dukungan Azure Arc, skrip akan:

    1. Mengatur variabel lingkungan OS lokal.

    2. Menghasilkan skrip masuk OS lokal bernama LogonScript.ps1. Skrip akan:

      • Membuat file LogonScript.log.

      • Menghentikan dan menonaktifkan layanan agen tamu Windows Azure.

      • Membuat aturan Windows Firewall baru untuk memblokir lalu lintas keluar Azure IMDS ke alamat jarak jauh 169.254.169.254.

      • Membatalkan pendaftaran skrip masuk tugas terjadwal Windows sehingga tidak akan berjalan setelah masuk pertama.

    3. Menonaktifkan dan mencegah Windows Server Manager berjalan saat memulai.

  4. Pengguna terhubung melalui RDP ke VM Windows, yang mulai menjalankan LogonScript.ps1 dan onboard VM ke Azure Arc.

Penyebaran

Seperti yang disebutkan, penyebaran ini akan menggunakan template ARM. Anda akan menyebarkan satu templat, yang bertanggung jawab untuk membuat semua sumber daya Azure dalam satu grup sumber daya dan onboarding VM yang dibuat ke Azure Arc.

  1. Sebelum menyebarkan templat ARM, masuk ke Azure menggunakan Azure CLI dengan perintah az login.

  2. Penyebaran menggunakan file parameter template ARM. Sebelum memulai penyebaran, edit file azuredeploy.parameters.json yang terletak di folder repositori klon lokal Anda. Contoh file parameter terletak di sini.

  3. Untuk menerapkan template ARM, navigasikan ke folder penyebaran klon lokal dan jalankan perintah berikut:

    az group create --name <Name of the Azure resource group> --location <Azure Region> --tags "Project=jumpstart_azure_arc_servers"
    az deployment group create \
    --resource-group <Name of the Azure resource group> \
    --name <The name of this deployment> \
    --template-uri https://raw.githubusercontent.com/microsoft/azure-arc/main/azure_arc_servers_jumpstart/azure/windows/arm_template/azuredeploy.json \
    --parameters <The `azuredeploy.parameters.json` parameters file location>
    

    Catatan

    Pastikan Anda menggunakan nama grup sumber daya Azure yang sama dengan yang Anda gunakan dalam file azuredeploy.parameters.json.

    Misalnya:

    az group create --name Arc-Servers-Win-Demo --location "East US" --tags "Project=jumpstart_azure_arc_servers"
    az deployment group create \
    --resource-group Arc-Servers-Win-Demo \
    --name arcwinsrvdemo \
    --template-uri https://raw.githubusercontent.com/microsoft/azure-arc/main/azure_arc_servers_jumpstart/azure/windows/arm_template/azuredeploy.json \
    --parameters azuredeploy.parameters.json
    
  4. Setelah sumber daya Azure disediakan, Anda dapat melihatnya di portal Azure.

    A screenshot of an output from an ARM template.

    A screenshot resources in the resource group.

Masuk Windows dan pasca penyebaran

  1. Sekarang setelah Windows Server VM dibuat, langkah selanjutnya adalah menghubungkannya. Gunakan alamat IP publiknya, RDP ke VM.

    A screenshot of an Azure VM public IP address.

  2. Setelah masuk pertama, seperti yang disebutkan di bagian aliran Automation, skrip masuk akan dieksekusi. Skrip ini dibuat sebagai bagian dari proses penyebaran otomatis.

  3. Biarkan skrip berjalan dan jangan menutup sesi PowerShell. Sesi ditutup secara otomatis setelah selesai.

    Catatan

    Waktu skrip berjalan adalah sekitar 1-2 menit.

    A screenshot of one type of script output.

    A screenshot of a second type of script output.

    A screenshot of a third type of script output.

    A screenshot of a fourth type of script output.

  4. Setelah berhasil menyelesaikannya, server dengan dukungan Azure Arc baru akan ditambahkan ke grup sumber daya.

A screenshot of a resource group from an Azure Arc-enabled server.

A screenshot of details from an Azure Arc-enabled server.

Pembersihan

Untuk menghapus seluruh penyebaran, hapus grup sumber daya dari portal Azure.

A screenshot of how to delete the resource group.