Migrasi menggunakan skrip runbook otomatis
Berlaku untuk: ✔️ VM Windows VM ✔️ ✔️ Linux Lingkungan ✔️ lokal server yang didukung Azure Arc
Artikel ini menjelaskan cara menggunakan runbook migrasi, Anda dapat secara otomatis memigrasikan semua beban kerja (komputer dan jadwal) dari Manajemen Pembaruan Automation ke Azure Update Manager.
Bagian berikut merinci tentang cara menjalankan skrip, apa yang dilakukan skrip di backend, perilaku yang diharapkan, dan batasan apa pun, jika berlaku. Skrip dapat memigrasikan semua komputer dan jadwal dalam satu akun otomatisasi sekaligus. Jika Anda memiliki beberapa akun otomatisasi, Anda harus menjalankan runbook untuk semua akun otomatisasi.
Pada tingkat tinggi, Anda perlu mengikuti langkah-langkah di bawah ini untuk memigrasikan komputer dan jadwal Anda dari Manajemen Pembaruan Automation ke Azure Update Manager.
Skenario yang tidak didukung
- Kueri Pencarian Tersimpan Non-Azure tidak akan dimigrasi; kueri ini harus dimigrasi secara manual.
Untuk daftar lengkap batasan dan hal-hal yang perlu diperhatikan, lihat poin utama dalam migrasi
Panduan langkah demi langkah
Informasi yang disebutkan dalam setiap langkah di atas dijelaskan secara rinci di bawah ini.
Prasyarat 1: OnboardIng Non-Azure Machines ke Arc
Apa yang harus dilakukan
Runbook otomatisasi migrasi mengabaikan sumber daya yang tidak di-onboard ke Arc. Oleh karena itu, ini adalah prasyarat untuk onboarding semua komputer non-Azure ke Azure Arc sebelum menjalankan runbook migrasi. Ikuti langkah-langkah untuk onboarding komputer ke Azure Arc.
Prasyarat 2: Membuat Identitas Pengguna dan Penetapan Peran dengan menjalankan skrip PowerShell
J. Prasyarat untuk mengeksekusi skrip
- Jalankan perintah
Install-Module -Name Az -Repository PSGallery -Force
di PowerShell. Skrip prasyarat tergantung pada Az.Modules. Langkah ini diperlukan jika Az.Modules tidak ada atau diperbarui. - Untuk menjalankan skrip prasyarat ini, Anda harus memiliki izin Microsoft.Authorization/roleAssignments/write pada semua langganan yang berisi sumber daya Manajemen Pembaruan Automation seperti komputer, jadwal, ruang kerja analitik log, dan akun otomatisasi. Lihat cara menetapkan peran Azure.
- Anda harus memiliki Izin Manajemen Pembaruan.
B. Jalankan skrip
Unduh dan jalankan skrip MigrationPrerequisiteScript
PowerShell secara lokal. Skrip ini mengambil AutomationAccountResourceId dari akun Automation untuk dimigrasikan dan AutomationAccountAzureEnvironment sebagai input. Nilai yang diterima untuk AutomationAccountAzureEnvironment adalah AzureCloud, AzureUSGovernment, dan AzureChina yang menandakan cloud tempat akun otomatisasi berada.
Anda dapat mengambil AutomationAccountResourceId dengan masuk ke Properti Akun>Automation.
C. Verifikasi
Setelah Anda menjalankan skrip, verifikasi bahwa identitas terkelola pengguna dibuat di akun automasi. Pengguna Identitas>akun>Automation Ditetapkan.
D. Operasi backend berdasarkan skrip
Memperbarui Az.Modules untuk akun Automation, yang akan diperlukan untuk menjalankan skrip migrasi dan deboarding.
Membuat variabel otomatisasi dengan nama AutomationAccountAzureEnvironment yang akan menyimpan Lingkungan Cloud Azure tempat Akun Automation berada.
Pembuatan Identitas Pengguna dalam grup Langganan dan sumber daya yang sama dengan Akun Automation. Nama Identitas Pengguna akan seperti AutomationAccount_aummig_umsi.
Melampirkan Identitas Pengguna ke Akun Automation.
Skrip menetapkan izin berikut ke identitas terkelola pengguna: Izin Manajemen Pembaruan Diperlukan.
- Untuk ini, skrip mengambil semua mesin yang di-onboard ke Manajemen Pembaruan Automation di bawah akun otomatisasi ini dan mengurai ID langganan mereka untuk diberikan RBAC yang diperlukan ke Identitas Pengguna.
- Skrip memberikan RBAC yang tepat ke Identitas Pengguna pada langganan tempat akun otomatisasi berada sehingga konfigurasi MRP dapat dibuat di sini.
- Skrip menetapkan peran yang diperlukan untuk ruang kerja dan solusi Analitik Log.
Pendaftaran langganan yang diperlukan ke Penyedia Sumber Microsoft.Maintenance dan Microsoft.EventGrid.
Langkah 1: Migrasi komputer dan jadwal
Langkah ini melibatkan penggunaan runbook otomatisasi untuk memigrasikan semua mesin dan jadwal dari akun otomatisasi ke Azure Update Manager.
Ikuti langkah-langkah ini:
Impor runbook migrasi dari galeri runbook dan terbitkan. Cari pembaruan otomatisasi azure dari telusuri galeri, dan impor runbook migrasi bernama Migrate dari Manajemen Pembaruan Azure Automation ke Azure Update Manager dan terbitkan runbook.
Runbook mendukung PowerShell 5.1.
Atur Pengelogan Verbose ke True untuk runbook.
Jalankan runbook dan berikan parameter yang diperlukan seperti AutomationAccountResourceId, UserManagedServiceIdentityClientId, dll.
Anda dapat mengambil AutomationAccountResourceId dari Properti Akun>Automation.
Anda dapat mengambil UserManagedServiceIdentityClientId dari ID Klien Properti>Identitas>yang Ditetapkan>Pengguna Akun>>Automation.
Mengatur EnablePeriodicAssessmentForMachinesOnboardedToUpdateManagement ke TRUE akan mengaktifkan properti penilaian berkala pada semua komputer yang di-onboard ke Manajemen Pembaruan Automation.
Mengatur MigrateUpdateSchedulesAndEnablePeriodicAssessmentonLinkedMachines ke TRUE akan memigrasikan semua jadwal pembaruan dalam Manajemen Pembaruan Automation ke Azure Update Manager dan juga akan mengaktifkan properti penilaian berkala ke True pada semua komputer yang ditautkan ke jadwal ini.
Anda perlu menentukan ResourceGroupForMaintenanceConfigurations tempat semua konfigurasi pemeliharaan di Azure Update Manager akan dibuat. Jika Anda memberikan nama baru, grup sumber daya akan dibuat di mana semua konfigurasi pemeliharaan akan dibuat. Namun, jika Anda memberikan nama tempat grup sumber daya sudah ada, semua konfigurasi pemeliharaan akan dibuat di grup sumber daya yang ada.
Periksa Log Runbook Azure untuk status eksekusi dan status migrasi SUC.
Operasi runbook di backend
Migrasi runbook melakukan tugas-tugas berikut:
- Mengaktifkan penilaian berkala pada semua komputer.
- Semua jadwal di akun otomatisasi dimigrasikan ke Azure Update Manager dan konfigurasi pemeliharaan yang sesuai dibuat untuk masing-masing, memiliki properti yang sama.
Tentang skrip
Berikut ini adalah perilaku skrip migrasi:
Periksa apakah grup sumber daya dengan nama yang diambil sebagai input sudah ada dalam langganan akun otomatisasi atau tidak. Jika tidak, buat grup sumber daya dengan nama yang ditentukan oleh pelanggan. Grup sumber daya ini digunakan untuk membuat konfigurasi MRP untuk V2.
Pengaturan RebootOnly tidak tersedia di Manajer Pembaruan Azure. Jadwal yang memiliki Pengaturan RebootOnly tidak dimigrasikan.
Filter SUC yang berada dalam status errored/expired/provisioningFailed/disabled dan tandai sebagai Tidak Dimigrasikan, dan cetak log yang sesuai yang menunjukkan bahwa SUC tersebut tidak dimigrasikan.
Nama penetapan konfigurasi adalah string yang akan dalam format AUMMig_AAName_SUCName
Cari tahu apakah Cakupan Dinamis ini sudah ditetapkan ke konfigurasi Pemeliharaan atau tidak dengan memeriksa azure Resource Graph. Jika tidak ditetapkan, maka hanya tetapkan dengan nama penugasan dalam format AUMMig_ AAName_SUCName_SomeGUID.
Untuk jadwal yang memiliki tugas pra/posting yang dikonfigurasi, skrip akan membuat webhook otomatisasi untuk runbook dalam tugas pra/posting dan langganan Event Grid untuk peristiwa pemeliharaan pra/pasca pemeliharaan. Untuk informasi selengkapnya, lihat cara kerja pra/postingan di Azure Update Manager
Sekumpulan log yang dirangkum dicetak ke aliran Output untuk memberikan status keseluruhan komputer dan SUC.
Log terperinci dicetak ke Verbose Stream.
Pascamigrasi, Konfigurasi Pembaruan Perangkat Lunak dapat memiliki salah satu dari empat status migrasi berikut:
- MigrationFailed
- SebagianMigrated
- NotMigrated
- Dimigrasi
Tabel di bawah ini memperlihatkan skenario yang terkait dengan setiap Status Migrasi.
MigrationFailed | SebagianMigrated | NotMigrated | Dimigrasi |
---|---|---|---|
Gagal membuat Konfigurasi Pemeliharaan untuk Konfigurasi Pembaruan Perangkat Lunak. | Bukan nol jumlah Komputer tempat Patch-Settings gagal diterapkan. | Gagal mendapatkan konfigurasi pembaruan perangkat lunak dari API karena beberapa kesalahan klien/server seperti mungkin Kesalahan Layanan internal. | |
Jumlah Non-Nol Komputer dengan Penugasan Konfigurasi yang gagal. | Konfigurasi Pembaruan Perangkat Lunak memiliki pengaturan boot ulang sebagai reboot saja. Ini tidak didukung hari ini di Azure Update Manager. | ||
Bukan nol jumlah Kueri Dinamis gagal diselesaikan yang gagal menjalankan kueri terhadap Azure Resource Graph. | |||
Jumlah non-Nol kegagalan penetapan Konfigurasi Cakupan Dinamis. | Konfigurasi Pembaruan Perangkat Lunak tidak memiliki status provisi yang berhasil di DB. | ||
Konfigurasi Pembaruan Perangkat Lunak memiliki Kueri Pencarian Tersimpan. | Konfigurasi Pembaruan Perangkat Lunak dalam status kesalahan di DB. | ||
Konfigurasi Pembaruan Perangkat Lunak memiliki tugas pra/posting yang belum berhasil dimigrasikan. | Jadwal yang terkait dengan Konfigurasi Pembaruan Perangkat Lunak sudah kedaluwarsa pada saat migrasi. | ||
Jadwal yang terkait dengan Konfigurasi Pembaruan Perangkat Lunak dinonaktifkan. | |||
Pengecualian tidak tertangani saat memigrasikan konfigurasi pembaruan perangkat lunak. | Zero Machines tempat Patch-Settings gagal diterapkan. Dan Zero Machines dengan Penugasan Konfigurasi yang gagal. Dan Kueri Dinamis Nol gagal diselesaikan yang gagal menjalankan kueri terhadap Azure Resource Graph. Dan Kegagalan penetapan Konfigurasi Cakupan Dinamis Nol. Dan Konfigurasi Pembaruan Perangkat Lunak tidak memiliki Kueri Pencarian Tersimpan. |
Untuk mengetahui dari tabel di atas skenario/skenario mana yang sesuai dengan mengapa konfigurasi pembaruan perangkat lunak memiliki status tertentu, lihat log verbose/failed/warning untuk mendapatkan kode kesalahan dan pesan kesalahan.
Anda juga dapat mencari dengan nama jadwal pembaruan untuk mendapatkan log khusus untuk penelusuran kesalahan.
Langkah 2: Deboarding dari solusi Manajemen Pembaruan Automation
Ikuti langkah-langkah ini:
Impor runbook migrasi dari galeri runbook. Cari pembaruan otomatisasi azure dari telusuri galeri, dan impor runbook migrasi bernama Deboard dari Manajemen Pembaruan Azure Automation dan terbitkan runbook.
Runbook mendukung PowerShell 5.1.
Atur Pengelogan Verbose ke True untuk Runbook.
Mulai parameter runbook dan pass seperti Automation AccountResourceId, UserManagedServiceIdentityClientId, dll.
Anda dapat mengambil AutomationAccountResourceId dari Properti Akun>Automation.
Anda dapat mengambil UserManagedServiceIdentityClientId dari ID Klien Properti>Identitas>yang Ditetapkan>Pengguna Akun>>Automation.
Periksa log runbook Azure untuk status deboarding komputer dan jadwal.
Operasi skrip deboarding di backend
- Nonaktifkan semua jadwal yang mendasar untuk semua konfigurasi pembaruan perangkat lunak yang ada di akun Automation ini. Ini dilakukan untuk memastikan bahwa Runbook Patch-MicrosoftOMSComputers tidak dipicu untuk SUC yang sebagian dimigrasikan ke V2.
- Hapus Solusi Pembaruan dari Ruang Kerja Analitik Log Tertaut untuk Akun Automation yang Dideboarding dari Manajemen Pembaruan Automation di V1.
- Log ringkasan semua SUC yang dinonaktifkan dan status menghapus solusi pembaruan dari ruang kerja analitik log tertaut juga dicetak ke aliran output.
- Log terperinci dicetak pada aliran verbose.