Pengenalan handler ekstensi Konfigurasi Status yang Diinginkan Azure

Ekstensi Azure VM untuk komputer virtual (VM) Azure dan ekstensi terkait adalah bagian dari layanan infrastruktur Microsoft Azure. Ekstensi Azure VM adalah komponen perangkat lunak yang memperluas fungsionalitas VM dan menyederhanakan berbagai operasi manajemen VM.

Penggunaan utama untuk ekstensi Azure Desired State Configuration (DSC) untuk Windows PowerShell adalah melakukan bootstrap VM ke layanan Azure Automation State Configuration (DSC). Layanan ini memberikan manfaat yang mencakup manajemen konfigurasi dan integrasi VM yang sedang berlangsung dengan alat operasional lainnya, seperti Azure Monitor. Anda dapat menggunakan ekstensi untuk mendaftarkan VM Anda ke layanan dan mendapatkan solusi fleksibel yang berfungsi di seluruh langganan Azure.

Anda dapat menjalankan ekstensi DSC secara independen dari layanan DSC Automation, tetapi metode ini hanya mendorong konfigurasi ke VM. Tidak ada pelaporan berkelanjutan yang tersedia, selain secara lokal di VM. Sebelum Anda mengaktifkan ekstensi DSC, tinjau versi DSC yang tersedia, dan pilih versi yang mendukung persyaratan konfigurasi Anda.

Artikel ini menjelaskan cara menggunakan ekstensi DSC untuk orientasi Automation, atau menggunakannya sebagai alat untuk menetapkan konfigurasi ke VM dengan Azure SDK.

Versi DSC yang tersedia

Beberapa versi Konfigurasi Status yang Diinginkan tersedia untuk implementasi. Sebelum Anda mengaktifkan ekstensi DSC, pilih versi DSC yang paling mendukung konfigurasi dan tujuan bisnis Anda.

Versi Ketersediaan Deskripsi
2.0 Ketersediaan Umum Konfigurasi Status yang Diinginkan 2.0 didukung untuk digunakan dengan fitur Konfigurasi Mesin Azure Automanage. Fitur konfigurasi komputer menggabungkan fitur handler ekstensi DSC, Konfigurasi Status Azure Automation, dan fitur yang paling umum diminta dari umpan balik pelanggan. Konfigurasi komputer juga mencakup dukungan komputer hibrid melalui server yang diaktifkan Arc.
1.1 Ketersediaan Umum Jika implementasi Anda tidak menggunakan fitur konfigurasi komputer Azure Automanage, Anda harus memilih Konfigurasi Status yang Diinginkan 1.1. Untuk informasi selengkapnya, lihat PSDesiredStateConfiguration v1.1.
3.0 Pratinjau umum Konfigurasi Status yang Diinginkan 3.0 tersedia dalam beta publik. Versi ini harus digunakan hanya dengan konfigurasi komputer Azure, atau untuk lingkungan nonproduksi untuk menguji migrasi dari Konfigurasi Status yang Diinginkan 1.1.

Prasyarat

  • Komputer lokal: Untuk berinteraksi dengan ekstensi Azure DSC, Anda harus menggunakan portal Azure atau Azure PowerShell SDK di komputer lokal.

  • Agen tamu: Azure VM yang disiapkan oleh konfigurasi DSC harus menggunakan sistem operasi yang mendukung Windows Management Framework (WMF) 4.0 atau yang lebih baru. Untuk daftar lengkap versi sistem operasi yang didukung, lihat riwayat versi ekstensi Azure DSC.

Syarat dan konsep

Artikel ini mengasumsikan keakraban dengan konsep berikut:

  • Konfigurasi mengacu pada dokumen konfigurasi DSC.

  • Node mengidentifikasi target untuk konfigurasi DSC. Dalam artikel ini, simpul selalu merujuk ke Azure VM.

  • Data konfigurasi disimpan dalam file format PowerShell DSC (.psd1) yang memiliki data lingkungan untuk konfigurasi.

Arsitektur

Ekstensi Azure DSC menggunakan kerangka kerja Ekstensi Azure VM untuk mengirimkan, memberlakukan, dan melaporkan konfigurasi DSC yang berjalan di Azure VM. Ekstensi DSC menerima dokumen konfigurasi dan sekumpulan parameter. Jika tidak ada file yang disediakan, skrip konfigurasi default disematkan bersama ekstensi. Skrip konfigurasi default hanya digunakan untuk mengatur metadata di Local Configuration Manager.

Ketika ekstensi dipanggil pertama kali, ekstensi menginstal versi WMF dengan menggunakan logika berikut:

  • Jika sistem operasi Azure VM adalah Windows Server 2016, tidak ada tindakan yang diambil. Windows Server 2016 sudah memiliki versi terbaru PowerShell yang terinstal.

  • wmfVersion Jika properti ditentukan, versi WMF yang ditentukan diinstal, kecuali versi yang ditentukan tidak kompatibel dengan sistem operasi pada VM.

  • Jika tidak ada wmfVersion properti yang ditentukan, versi WMF terbaru yang berlaku diinstal.

Proses penginstalan WMF memerlukan mulai ulang. Setelah Anda memulai ulang, ekstensi mengunduh file .zip yang ditentukan dalam modulesUrl properti , jika disediakan. Jika lokasi ini berada di Azure Blob Storage, Anda dapat menentukan token SAS di sasToken properti untuk mengakses file. Setelah .zip mengunduh dan membuka kemasan, fungsi konfigurasi yang ditentukan dalam configurationFunction eksekusi untuk menghasilkan file Managed Object Format (MOF) (.mof). Ekstensi kemudian menjalankan Start-DscConfiguration -Force perintah dengan menggunakan file .mof yang dihasilkan. Ekstensi menangkap output dan menulisnya ke saluran status Azure.

Konfigurasi skrip default

Ekstensi Azure DSC menyertakan skrip konfigurasi default yang dimaksudkan untuk digunakan saat Anda melakukan onboarding VM ke layanan Konfigurasi Status Azure Automation. Parameter skrip diselaraskan dengan properti Local Configuration Manager yang dapat dikonfigurasi. Untuk parameter skrip, lihat Skrip konfigurasi default di ekstensi Konfigurasi Status yang Diinginkan dengan templat Azure Resource Manager (ARM). Untuk skrip lengkapnya, lihat Templat Mulai Cepat Azure di GitHub.

Pendaftaran Konfigurasi Status Azure Automation

Saat Anda menggunakan ekstensi Azure DSC untuk mendaftarkan simpul dengan layanan Konfigurasi Status Azure Automation, Anda memberikan nilai berikut:

  • RegistrationUrl: Alamat https akun Azure Automation.
  • RegistrationKey: Rahasia bersama yang digunakan untuk mendaftarkan simpul dengan layanan.
  • NodeConfigurationName: Nama konfigurasi node (MOF) untuk menarik dari layanan untuk mengonfigurasi peran server. Nilainya adalah nama konfigurasi simpul dan bukan nama Konfigurasi.

Anda dapat mengumpulkan nilai-nilai ini dari portal Azure, atau menjalankan perintah berikut di Windows PowerShell:

(Get-AzAutomationRegistrationInfo -ResourceGroupName <resourcegroupname> -AutomationAccountName <accountname>).Endpoint
(Get-AzAutomationRegistrationInfo -ResourceGroupName <resourcegroupname> -AutomationAccountName <accountname>).PrimaryKey

Nama konfigurasi node

NodeConfigurationName Untuk parameter , pastikan untuk memberikan nama konfigurasi node dan bukan Konfigurasi.

Konfigurasi ditentukan dalam skrip yang digunakan untuk mengkompilasi konfigurasi simpul (file MOF). Nama konfigurasi simpul selalu merupakan nama Konfigurasi diikuti oleh titik . dan atau localhost nama komputer tertentu.

Peringatan

Pastikan konfigurasi node ada di Konfigurasi Status Azure Automation. Jika nilai ini tidak ada, penyebaran ekstensi mengembalikan kegagalan.

Penyebaran templat ARM

Pendekatan paling umum untuk menyebarkan ekstensi DSC adalah menggunakan templat Azure Resource Manager. Untuk informasi selengkapnya dan untuk contoh cara menyertakan ekstensi DSC dalam templat ARM, lihat Ekstensi Konfigurasi Status yang Diinginkan dengan templat ARM.

Penyebaran cmdlet PowerShell

Cmdlet PowerShell untuk mengelola ekstensi DSC sangat ideal untuk skenario pemecahan masalah interaktif dan pengumpulan informasi. Anda dapat menggunakan cmdlet untuk mengemas, menerbitkan, dan memantau penyebaran ekstensi DSC. Cmdlet untuk ekstensi DSC saat ini tidak diperbarui untuk bekerja dengan skrip konfigurasi default.

Berikut adalah beberapa cmdlet PowerShell yang tersedia:

  • Cmdlet Publish-AzVMDscConfiguration mengambil file konfigurasi, memindainya untuk sumber daya DSC dependen, lalu membuat file .zip baru. File .zip berisi konfigurasi dan sumber daya DSC yang diperlukan untuk memberlakukan konfigurasi. Cmdlet juga dapat membuat paket secara lokal dengan menggunakan -OutputArchivePath parameter . Jika tidak, cmdlet menerbitkan file .zip ke Blob Storage, lalu mengamankannya dengan token SAS.

    Skrip konfigurasi PowerShell (.ps1) yang dibuat oleh cmdlet ada di file .zip di akar folder arsip. Folder modul ditempatkan di folder arsip di sumber daya.

  • Cmdlet Set-AzVMDscExtension menyuntikkan pengaturan yang diperlukan ekstensi DSC PowerShell ke dalam objek konfigurasi VM.

  • Cmdlet Get-AzVMDscExtension mengambil status ekstensi DSC dari VM tertentu.

  • Cmdlet Get-AzVMDscExtensionStatus mengambil status konfigurasi DSC yang diberlakukan oleh handler ekstensi DSC. Tindakan ini dapat dilakukan pada satu VM atau sekelompok VM.

  • Cmdlet Remove-AzVMDscExtension akan menghapus handler ekstensi dari VM tertentu. Perlu diingat bahwa cmdlet ini tidak menghapus konfigurasi, menghapus instalan WMF, atau mengubah pengaturan yang diterapkan pada VM. Cmdlet hanya menghapus handler ekstensi.

Pertimbangan penting

Ada beberapa pertimbangan yang perlu diingat saat bekerja dengan cmdlet Azure Resource Manager.

  • Cmdlet Azure Resource Manager sinkron.

  • Beberapa parameter diperlukan, termasuk ResourceGroupName, , VMName, ArchiveStorageAccountName, Versiondan Location.

  • ArchiveResourceGroupName adalah parameter opsional. Tentukan parameter ini saat akun penyimpanan Anda termasuk dalam grup sumber daya yang berbeda dari yang dibuat VM.

  • Gunakan sakelar AutoUpdate untuk memperbarui handler ekstensi secara otomatis ke versi terbaru saat tersedia. Parameter ini berpotensi menyebabkan restart pada VM saat versi baru WMF dirilis.

Konfigurasi dengan cmdlet PowerShell

Ekstensi Azure DSC dapat menggunakan dokumen konfigurasi DSC untuk mengonfigurasi Azure VM secara langsung selama penyebaran. Langkah ini tidak mendaftarkan node ke Otomatisasi. Perlu diingat bahwa simpul tidak dikelola secara terpusat.

Kode berikut menunjukkan contoh konfigurasi sederhana. Untuk bekerja dengan contoh ini, simpan konfigurasi ini secara lokal sebagai file skrip iisInstall.ps1 .

configuration IISInstall
{
    node "localhost"
    {
        WindowsFeature IIS
        {
            Ensure = "Present"
            Name = "Web-Server"
        }
    }
}

Perintah PowerShell berikut menempatkan skrip iisInstall.ps1 pada VM yang ditentukan. Perintah juga menjalankan konfigurasi, lalu melaporkan kembali status.

$resourceGroup = 'dscVmDemo'
$vmName = 'myVM'
$storageName = 'demostorage'
#Publish the configuration script to user storage
Publish-AzVMDscConfiguration -ConfigurationPath .\iisInstall.ps1 -ResourceGroupName $resourceGroup -StorageAccountName $storageName -force
#Set the VM to run the DSC configuration
Set-AzVMDscExtension -Version '2.76' -ResourceGroupName $resourceGroup -VMName $vmName -ArchiveStorageAccountName $storageName -ArchiveBlobName 'iisInstall.ps1.zip' -AutoUpdate -ConfigurationName 'IISInstall'

Penyebaran Azure CLI

Azure CLI dapat digunakan untuk menyebarkan ekstensi DSC ke VM yang ada. Contoh berikut menunjukkan cara menyebarkan VM di Windows.

Untuk VM yang menjalankan Windows, gunakan perintah berikut:

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name DSC \
  --publisher Microsoft.Powershell \
  --version 2.77 --protected-settings '{}' \
  --settings '{}'

penyebaran portal Azure

Untuk menyiapkan ekstensi DSC di portal Azure, ikuti langkah-langkah berikut:

  1. Pergi ke VM.

  2. Di bawah Pengaturan, pilih Ekstensi + Aplikasi.

  3. Di bawah Ekstensi, pilih + Tambahkan.

  4. Pilih Konfigurasi Status yang Diinginkan PowerShell, lalu pilih Berikutnya.

  5. Konfigurasikan parameter berikut untuk ekstensi DSC.

    Catatan

    Jika Anda bekerja dengan skrip konfigurasi default, perlu diingat bahwa sebagian besar parameter berikut harus didefinisikan langsung di portal Azure daripada melalui skrip.

    • Modul atau Skrip Konfigurasi: (Diperlukan) Sediakan modul Konfigurasi atau file skrip untuk VM Anda.

      Modul konfigurasi dan skrip memerlukan file .ps1 yang memiliki skrip konfigurasi atau file .zip dengan .ps1 konfigurasi di root. Jika Anda menggunakan file .zip, semua sumber daya dependen harus disertakan dalam folder modul dalam file .zip. Anda dapat membuat file .zip dengan menggunakan cmdlet Publish-AzureVMDscConfiguration -OutputArchivePath yang disertakan dalam Azure PowerShell SDK. File .zip diunggah ke Blob Storage pengguna Anda dan diamankan oleh token SAS.

    • Nama Konfigurasi yang memenuhi syarat modul: (Diperlukan) Tentukan pengaturan ini untuk menyertakan beberapa fungsi konfigurasi dalam satu file skrip .ps1. Untuk pengaturan ini, masukkan nama file skrip .ps1 konfigurasi diikuti dengan garis miring \ lalu nama fungsi konfigurasi. Misalnya, jika file skrip .ps1 memiliki nama configuration.ps1 dan nama konfigurasinya adalah IisInstall, masukkan nilai configuration.ps1\IisInstall untuk pengaturan .

    • Argumen Konfigurasi: Jika fungsi konfigurasi mengambil argumen, masukkan nilai dengan menggunakan format argumentName1=value1,argumentName2=value2. Perhatikan bahwa format ini berbeda dari format yang digunakan untuk menentukan argumen konfigurasi di cmdlet PowerShell atau templat ARM.

      Catatan

      Argumen konfigurasi dapat ditentukan dalam skrip konfigurasi default.

    • File PSD1 Data Konfigurasi: Jika konfigurasi Anda memerlukan file data konfigurasi dalam format .psd1, gunakan pengaturan ini untuk memilih file data dan mengunggahnya ke Blob Storage pengguna Anda. File data konfigurasi diamankan dengan token SAS di Blob Storage.

    • Versi WMF: Tentukan versi Windows Management Framework untuk diinstal pada VM Anda. Jika Anda memilih terbaru, yang merupakan nilai default, sistem menginstal versi terbaru WMF. Nilai lain yang mungkin termasuk 4.0, 5.0, dan 5.1. Nilai yang mungkin tunduk pada pembaruan.

    • Pengumpulan Data: Aktifkan pengaturan ini jika Anda ingin ekstensi DSC mengumpulkan telemetri tentang VM Anda. Untuk informasi selengkapnya, lihat Pengumpulan data ekstensi Azure DSC.

    • Versi: (Wajib) Tentukan versi ekstensi DSC yang akan diinstal. Untuk informasi tentang versi, lihat Riwayat versi ekstensi Azure DSC.

    • Peningkatan Otomatis Versi Minor: Pengaturan ini memetakan ke sakelar AutoUpdate di cmdlet. Konfigurasikan pengaturan ini untuk mengaktifkan ekstensi DSC agar diperbarui secara otomatis ke versi terbaru selama penginstalan. Ya menginstruksikan handler ekstensi DSC untuk menggunakan versi terbaru yang tersedia. Tidak ada (default) memaksa penginstalan versi yang Anda tentukan dalam pengaturan Versi .

  6. Setelah Anda mengonfigurasi parameter, pilih Tinjau + Buat, lalu pilih Buat.

Log ekstensi DSC

Anda dapat melihat log untuk ekstensi Azure DSC pada VM di bawah C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\<version number>.

Langkah berikutnya