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
Kloning repositori Azure Arc Jumpstart.
git clone https://github.com/microsoft/azure_arc.git
Pasang atau perbarui Azure CLI ke versi 2.7 dan setelahnya. Gunakan perintah berikut untuk memeriksa versi terinstal Anda saat ini.
az --version
Langganan Azure: jika Anda tidak memiliki langganan Azure, Anda dapat membuat akun Azure gratis.
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.
Pengguna mengedit file parameter template ARM (pengeditan satu kali). Nilai parameter ini digunakan selama penyebaran.
Templat ARM menyertakan ekstensi skrip kustom Azure VM, yang menyebarkan skrip PowerShell
install_arc_agent.ps1
.Agar memungkinkan Azure VM dapat diproyeksikan sebagai server dengan dukungan Azure Arc, skrip akan:
Mengatur variabel lingkungan OS lokal.
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.
Menonaktifkan dan mencegah Windows Server Manager berjalan saat memulai.
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.
Sebelum menyebarkan templat ARM, masuk ke Azure menggunakan Azure CLI dengan perintah
az login
.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.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
Setelah sumber daya Azure disediakan, Anda dapat melihatnya di portal Azure.
Masuk Windows dan pasca penyebaran
Sekarang setelah Windows Server VM dibuat, langkah selanjutnya adalah menghubungkannya. Gunakan alamat IP publiknya, RDP ke VM.
Setelah masuk pertama, seperti yang disebutkan di bagian aliran Automation, skrip masuk akan dieksekusi. Skrip ini dibuat sebagai bagian dari proses penyebaran otomatis.
Biarkan skrip berjalan dan jangan menutup sesi PowerShell. Sesi ditutup secara otomatis setelah selesai.
Catatan
Waktu skrip berjalan adalah sekitar 1-2 menit.
Setelah berhasil menyelesaikannya, server dengan dukungan Azure Arc baru akan ditambahkan ke grup sumber daya.
Pembersihan
Untuk menghapus seluruh penyebaran, hapus grup sumber daya dari portal Azure.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk