Mengonfigurasi komputer ke kondisi yang diinginkan

Azure Automation State Configuration. memungkinkan Anda menentukan konfigurasi untuk server Anda dan memastikan bahwa server tersebut berada dalam keadaan yang ditentukan dari waktu ke waktu.

  • Mengintegrasikan komputer virtual yang akan dikelola oleh Azure Automation DSC
  • Mengunggah konfigurasi ke Azure Automation
  • Mengompilasi konfigurasi menjadi konfigurasi simpul
  • Menetapkan konfigurasi simpul ke simpul terkelola
  • Memeriksa status kepatuhan dari simpul yang dikelola

Untuk tutorial ini, kami menggunakan konfigurasi DSC sederhana yang memastikan bahwa IIS diinstal pada komputer virtual.

Prasyarat

Dukungan untuk konfigurasi parsial

Azure Automation State Configuration mendukung penggunaan konfigurasi parsial. Dalam skenario ini, DSC dikonfigurasi untuk mengelola beberapa konfigurasi secara independen dan setiap konfigurasi diambil dari Azure Automation. Namun, hanya satu konfigurasi yang dapat ditetapkan ke simpul per akun automation. Ini berarti Anda akan memerlukan dua akun Automation jika Anda menggunakan dua konfigurasi untuk simpul.

Untuk detail tentang cara mendaftarkan konfigurasi parsial dari layanan tarik, lihat dokumentasi untuk konfigurasi parsial.

Untuk informasi selengkapnya tentang bagaimana tim dapat bekerja sama untuk mengelola server secara kolaboratif menggunakan konfigurasi sebagai kode, lihat Memahami peran DSC dalam Alur CI/CD.

Masuk ke Azure

Masuk ke langganan Azure Anda dengan cmdlet Connect-AzAccount dan ikuti petunjuk di layar.

Connect-AzAccount

Membuat dan mengunggah konfigurasi ke Azure Automation

Dalam editor teks, ketik berikut ini dan simpan secara lokal sebagai TestConfig.ps1.

configuration TestConfig {
   Node WebServer {
      WindowsFeature IIS {
         Ensure               = 'Present'
         Name                 = 'Web-Server'
         IncludeAllSubFeature = $true
      }
   }
}

Catatan

Nama konfigurasi di Azure Automation harus dibatasi hingga tidak lebih dari 100 karakter.

Dalam skenario lebih lanjut yang memerlukan beberapa modul untuk diimpor yang menyediakan Sumber Daya DSC, pastikan setiap modul memiliki baris Import-DscResource unik dalam konfigurasi Anda.

Panggil cmdlet Import-AzAutomationDscConfiguration untuk mengunggah konfigurasi ke akun Automation Anda.

 Import-AzAutomationDscConfiguration -SourcePath 'C:\DscConfigs\TestConfig.ps1' -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Published

Mengompilasi konfigurasi menjadi konfigurasi simpul

Konfigurasi DSC harus dikompilasi ke dalam konfigurasi simpul sebelum dapat ditetapkan ke sebuah simpul. Lihat Konfigurasi DSC.

Panggil cmdlet Start-AzAutomationDscCompilationJob untuk mengompilasi TestConfig konfigurasi menjadi konfigurasi simpul bernama TestConfig.WebServer di akun Automation Anda.

Start-AzAutomationDscCompilationJob -ConfigurationName 'TestConfig' -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount'

Mendaftarkan komputer virtual untuk dikelola oleh Konfigurasi Status

Anda dapat menggunakan Azure Automation Konfigurasi Status untuk mengelola komputer virtual Azure (Klasik dan Resource Manager), komputer virtual lokal, komputer Linux, komputer virtual AWS, dan komputer fisik lokal. Dalam topik ini, kami hanya akan membahas cara mendaftarkan komputer virtual Azure Resource Manager. Untuk informasi tentang mendaftarkan jenis komputer lain, lihat Onboarding komputer untuk pengelolaan menurut Azure Automation State Configuration.

Panggil cmdlet Register-AzAutomationDscNode untuk mendaftarkan komputer virtual Anda dengan Azure Automation State Configuration sebagai simpul terkelola.

Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm'

Menentukan pengaturan mode konfigurasi

Gunakan cmdlet Register-AzAutomationDscNode untuk mendaftarkan komputer virtual sebagai simpul terkelola dan menentukan properti konfigurasi. Misalnya, Anda dapat menentukan bahwa status komputer akan diterapkan hanya sekali dengan menentukan ApplyOnly sebagai nilai properti ConfigurationMode. State Configuration tidak mencoba menerapkan konfigurasi setelah pemeriksaan awal.

Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm' -ConfigurationMode 'ApplyOnly'

Anda juga dapat menentukan seberapa sering DSC memeriksa status konfigurasi dengan menggunakan properti ConfigurationModeFrequencyMins. Untuk informasi selengkapnya tentang pengaturan konfigurasi DSC, lihat Mengonfigurasi Microsoft Endpoint Configuration Manager Lokal.

# Run a DSC check every 60 minutes
Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm' -ConfigurationModeFrequencyMins 60

Menetapkan konfigurasi simpul ke simpul terkelola

Sekarang kita dapat menetapkan konfigurasi simpul yang dikompilasi ke komputer virtual yang ingin kita konfigurasi.

# Get the ID of the DSC node
$node = Get-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Name 'DscVm'

# Assign the node configuration to the DSC node
Set-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -NodeConfigurationName 'TestConfig.WebServer' -NodeId $node.Id

Ini akan menetapkan konfigurasi simpul bernama TestConfig.WebServer ke node DSC DscVm yang terdaftar. Secara default, simpul DSC akan diperiksa kepatuhannya dengan konfigurasi simpul setiap 30 menit. Untuk informasi tentang cara mengubah interval pemeriksaan kepatuhan, lihat Mengonfigurasi Microsoft Endpoint Configuration Manager Lokal.

Memeriksa status kepatuhan dari simpul yang dikelola

Anda dapat memperoleh laporan tentang status kepatuhan dari simpul terkelola menggunakan cmdlet Get-AzAutomationDscNodeReport.

# Get the ID of the DSC node
$node = Get-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Name 'DscVm'

# Get an array of status reports for the DSC node
$reports = Get-AzAutomationDscNodeReport -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -NodeId $node.Id

# Display the most recent report
$reports[0]

Langkah berikutnya