Microsoft Entra Connect: Server penahapan dan pemulihan bencana
Dengan server dalam mode penahapan, Anda dapat membuat perubahan pada konfigurasi dan mempratinjau perubahan sebelum Anda membuat server aktif. Ini juga memungkinkan Anda menjalankan impor penuh dan sinkronisasi penuh untuk memverifikasi bahwa semua perubahan benar-benar diharapkan sebelum Anda membuat perubahan ini ke lingkungan produksi Anda.
Mode penahapan
Mode penahapan dapat digunakan untuk beberapa skenario, termasuk:
- Ketersediaan tinggi.
- Uji dan sebarkan perubahan konfigurasi baru.
- Perkenalkan server baru dan nonaktif yang lama.
Selama penginstalan, Anda dapat memilih server untuk berada dalam mode penahapan. Tindakan ini membuat server aktif untuk impor dan sinkronisasi, tetapi tidak menjalankan ekspor apa pun. Server dalam mode penahapan tidak menjalankan sinkronisasi kata sandi atau tulis balik kata sandi, meskipun Anda memilih fitur ini selama penginstalan. Ketika Anda menonaktifkan mode penahapan, server mulai mengekspor, mengaktifkan sinkronisasi kata sandi, dan mengaktifkan tulis balik kata sandi.
Catatan
Misalkan Anda mengaktifkan fitur Microsoft Entra Connect dengan Sinkronisasi Hash Kata Sandi. Saat Anda mengaktifkan mode pementasan, server berhenti menyinkronkan perubahan kata sandi dari AD lokal. Saat Anda menonaktifkan mode pementasan, server berhenti menyinkronkan perubahan kata sandi dari tempat terakhir kali Anda keluar. Jika server dibiarkan dalam mode penahapan untuk jangka waktu yang lama, perlu waktu beberapa saat bagi server untuk menyinkronkan semua perubahan kata sandi yang telah terjadi selama periode waktu.
Anda masih dapat memaksa ekspor menggunakan pengelola layanan sinkronisasi.
Server dalam mode penahapan terus menerima perubahan dari Direktori Aktif dan ID Microsoft Entra dan dapat dengan cepat mengambil alih tanggung jawab server lain jika terjadi kegagalan. Jika Anda membuat perubahan konfigurasi ke server utama, Anda bertanggung jawab untuk membuat perubahan yang sama pada server dalam mode penahapan.
Bagi Anda yang memiliki pengetahuan tentang teknologi sinkronisasi yang lebih lama, mode penahapan berbeda karena server memiliki database SQL sendiri. Arsitektur ini memungkinkan server mode penahapan ditempatkan di pusat data yang berbeda.
Memverifikasi konfigurasi server
Untuk menerapkan metode ini, ikuti langkah-langkah berikut:
Siapkan
- Instal Microsoft Entra Connect, pilih mode penahapan, dan batal pilih mulai sinkronisasi pada halaman terakhir dalam wizard penginstalan. Mode ini memungkinkan Anda menjalankan mesin sinkronisasi secara manual.
- Keluar/masuk dan dari menu mulai, pilih Layanan Sinkronisasi.
Konfigurasi
Jika Anda telah membuat perubahan kustom pada server utama dan ingin membandingkan konfigurasi dengan server penahapan, gunakan dokumenter konfigurasi Microsoft Entra Connect.
Impor dan Sinkronkan
- Pilih Konektor, dan pilih Konektor pertama dengan tipe Layanan Domain Active Directory Azure. Klik Jalankan, pilih Impor penuh, dan OK. Lakukan langkah-langkah berikut untuk semua Konektor jenis ini.
- Pilih Konektor dengan jenis ID Microsoft Entra (Microsoft). Klik Jalankan, pilih Impor penuh, dan OK.
- Pastikan konektor tab masih dipilih. Untuk setiap Konektor dengan tipe Layanan Domain Direktori Aktif, klik Jalankan, pilih Sinkronisasi Delta, dan OK.
- Pilih Konektor dengan jenis ID Microsoft Entra (Microsoft). Klik Jalankan, pilih Sinkronisasi Delta, dan OK.
Anda sekarang telah melakukan perubahan ekspor bertahap ke MICROSOFT Entra ID dan AD lokal (jika Anda menggunakan penyebaran hibrid Exchange). Langkah selanjutnya memungkinkan Anda memeriksa apa yang akan berubah sebelum Anda benar-benar memulai ekspor ke direktori.
Verifikasi
- Mulai perintah cmd dan buka
%ProgramFiles%\Microsoft Azure AD Sync\bin
- Jalankan:
csexport "Name of Connector" %temp%\export.xml /f:x
Nama Konektor dapat ditemukan di Layanan Sinkronisasi. Ini memiliki nama yang mirip dengan "contoso.com – ID Microsoft Entra" untuk ID Microsoft Entra. - Jalankan:
CSExportAnalyzer %temp%\export.xml > %temp%\export.csv
Anda sekarang memiliki file dalam %temp% bernama export.csv yang bisa diperiksa di Microsoft Excel. File ini memuat semua perubahan yang akan diekspor. - Buat perubahan yang diperlukan pada data atau konfigurasi, dan jalankan langkah-langkah ini lagi (Impor, Sinkronkan, dan Verifikasi) hingga perubahan yang akan diekspor adalah apa yang Anda harapkan.
Memahami file export.csv
Sebagian besar file sudah cukup jelas. Beberapa singkatan untuk memahami konten:
- OMODT – Object Modification Type. Menunjukkan apakah operasi pada tingkat objek adalah Tambahkan, Perbarui, atau Hapus.
- AMODT – Attribute Modification Type. Menunjukkan apakah operasi pada tingkat atribut adalah Tambahkan, Perbarui, atau Hapus.
Mengambil pengidentifikasi umum
File export.csv memuat semua perubahan yang akan diekspor. Setiap baris terkait dengan perubahan untuk objek di ruang konektor dan objek diidentifikasi oleh atribut DN. Atribut DN adalah pengidentifikasi unik yang ditetapkan ke objek di ruang konektor. Ketika Anda memiliki banyak baris/perubahan dalam export.csv untuk dianalisis, mungkin sulit bagi Anda untuk mencari tahu objek mana yang untuk perubahan berdasarkan atribut DN saja. Untuk menyederhanakan proses menganalisis perubahan, gunakan skrip csanalyzer.ps1
PowerShell. Skrip mengambil pengidentifikasi umum (misalnya, displayName, userPrincipalName) dari objek. Untuk menggunakan skrip:
- Salin skrip PowerShell dari bagian CSAnalyzer ke file bernama
csanalyzer.ps1
. - Buka jendela PowerShell dan telusuri ke folder untuk membuat skrip PowerShell.
- Jalankan:
.\csanalyzer.ps1 -xmltoimport %temp%\export.xml
. - Anda sekarang memiliki file bernama processedusers1.csv yang bisa diperiksa di Microsoft Excel. Perhatikan bahwa file tersebut menyediakan pemetaan dari atribut DN ke pengidentifikasi umum (misalnya displayName dan userPrincipalName). Saat ini tidak menyertakan perubahan atribut aktual yang akan diekspor.
Ganti server aktif
Microsoft Entra Connect dapat disiapkan dalam penyiapan Ketersediaan Tinggi Pasif Aktif, di mana satu server secara aktif mendorong perubahan ke objek AD yang disinkronkan ke ID Microsoft Entra dan server pasif tahap perubahan ini jika perlu diambil alih.
Catatan
Anda tidak dapat menyiapkan Microsoft Entra Connect dalam penyetelan Aktif-Aktif. Ia harus Aktif-Pasif. Pastikan bahwa hanya 1 server Microsoft Entra Connect yang secara aktif menyinkronkan perubahan.
Untuk informasi selengkapnya tentang menyiapkan server Sinkronisasi Microsoft Entra Connect dalam Mode Penahapan, lihat mode penahapan
Anda mungkin perlu melakukan failover Server Sinkronisasi karena beberapa alasan, seperti memutakhirkan versi Microsoft Entra Connect, atau menerima pemberitahuan bahwa layanan kesehatan Layanan Sinkronisasi tidak menerima informasi terbaru. Dalam peristiwa ini Anda dapat mencoba failover Server Sinkronisasi dengan mengikuti langkah di bawah ini.
Penting
Mengalihkan server penahapan ke mode aktif dapat berdampak parah dalam sinkronisasi, jika kondisi berikut tidak terpenuhi. Sebagai tindakan pencegahan, selalu jalankan siklus sinkronisasi awal dan Verifikasi ekspor yang tertunda , sebelum melakukan operasi ini.
Prasyarat
- Satu Server Sinkronisasi Microsoft Entra Connect yang saat ini aktif
- Satu pementasan Microsoft Entra Connect Sync Server
- Server penahapan mengaktifkan penjadwal sinkronisasi dan telah disinkronkan dengan ID Microsoft Entra baru-baru ini
- Jika ada pembaruan dalam aturan sinkronisasi atau dalam cakupan sinkronisasi, jalankan siklus sinkronisasi awal
- Konfirmasikan bahwa Server Sinkronisasi Microsoft Entra Connect Anda dikonfigurasi untuk mencegah penghapusan yang tidak disengaja
- Verifikasi ekspor yang tertunda dan konfirmasikan bahwa tidak ada pembaruan yang signifikan, dan pembaruan tersebut diharapkan
- Periksa apakah agen Microsoft Entra Connect Health diperbarui dengan memeriksa server di portal Microsoft Entra Connect Health
- Alihkan server aktif saat ini ke mode penahapan, sebelum mengalihkan server penahapan ke aktif
Mengubah Server Sinkronisasi yang saat ini Aktif ke mode penahapan
Kita perlu memastikan bahwa hanya satu Server Sinkronisasi yang menyinkronkan perubahan pada waktu tertentu sepanjang proses ini. Jika Sync Server yang saat ini aktif dapat dijangkau, Anda dapat melakukan langkah-langkah di bawah ini untuk memindahkannya ke Mode Penahapan. Jika tidak dapat dijangkau, pastikan bahwa server atau VM tidak mendapatkan kembali akses secara tiba-tiba baik dengan mematikan server atau mengisolasinya dari koneksi keluar.
- Untuk server Microsoft Entra Connect yang saat ini aktif, buka wizard Microsoft Entra Connect dan klik "Konfigurasikan mode penahapan" lalu Berikutnya:
- Anda harus masuk ke MICROSOFT Entra ID dengan kredensial Administrator Identitas Hibrid:
- Centang kotak untuk Mode Penahapan dan klik Berikutnya:
- Server Microsoft Entra Connect memeriksa komponen yang diinstal lalu meminta Anda apakah Anda ingin memulai proses sinkronisasi saat perubahan konfigurasi selesai:
Karena server dalam mode penahapan, server tidak akan menulis perubahan pada ID Microsoft Entra, tetapi mempertahankan perubahan apa pun pada AD di Ruang Konektornya, siap untuk menulisnya. Disarankan untuk membiarkan proses sinkronisasi aktif untuk server dalam Mode Penahapan, jadi jika aktif, itu akan dengan cepat mengambil alih dan tidak perlu melakukan sinkronisasi besar untuk mengejar status objek Active Directory / Microsoft Entra saat ini dalam cakupan.
Setelah memilih untuk memulai proses sinkronisasi dan mengklik Konfigurasikan, server Microsoft Entra Connect dikonfigurasi ke dalam Mode Penahapan. Setelah selesai, Anda akan diminta dengan layar yang mengonfirmasi Mode Penahapan diaktifkan. Anda dapat mengklik Keluar untuk menyelesaikan.
Anda dapat mengonfirmasi bahwa server berhasil dalam Mode Penahapan dengan membuka Windows PowerShell, memuat modul "SINKRONISASI AAD" dan memverifikasi konfigurasi AdSync Scheduler, menggunakan perintah berikut:
Import-Module ADSync
Get-ADSyncScheduler
Dari hasilnya, verifikasi nilai pengaturan "StagingModeEnabled". Jika server berhasil dialihkan ke mode penahapan, nilai pengaturan ini harus Benar seperti pada contoh di bawah ini:
Mengubah server Sinkronisasi yang saat ini dalam mode Penahapan ke mode aktif
Pada titik ini, semua Server Sinkronisasi Microsoft Entra Connect kami harus dalam Mode Penahapan dan tidak mengekspor perubahan. Kita sekarang dapat memindahkan Server Sinkronisasi dalam mode Penahapan ke mode Aktif dan menyinkronkan perubahan secara aktif.
- Sekarang pindah ke server Microsoft Entra Connect yang awalnya dalam Mode Penahapan dan buka wizard Microsoft Entra Connect.
Klik "Konfigurasikan mode penahapan" dan klik Berikutnya:
Pesan di bagian bawah wizard menunjukkan server ini dalam Mode Penahapan.
- Masuk ke MICROSOFT Entra ID, lalu buka layar Mode Penahapan.
Hapus centang kotak untuk Mode Penahapan dan klik Berikutnya.
Sesuai peringatan di halaman ini, penting untuk memastikan tidak ada server Microsoft Entra Connect lain yang secara aktif disinkronkan.
Seharusnya hanya ada satu server Sinkronisasi Microsoft Entra Connect aktif kapan saja.
- Saat Anda diminta untuk memulai proses sinkronisasi, centang kotak ini dan klik Konfigurasikan:
- Setelah proses selesai, Anda akan mendapatkan layar konfirmasi di bawah ini tempat Anda dapat mengeklik Keluar untuk menyelesaikan:
- Anda dapat mengonfirmasi bahwa proses ini berfungsi dengan membuka Konsol Layanan Sinkronisasi dan memeriksa apakah pekerjaan Ekspor berjalan:
Pemulihan dari bencana
Bagian dari desain implementasi adalah merencanakan apa yang harus dilakukan jika ada bencana di mana Anda kehilangan server sinkronisasi. Ada model yang berbeda untuk digunakan dan mana yang digunakan tergantung pada beberapa faktor termasuk:
- Apa toleransi Anda agar tidak dapat membuat perubahan pada objek di ID Microsoft Entra selama waktu henti?
- Jika Anda menggunakan sinkronisasi kata sandi, apakah pengguna menerima bahwa mereka harus menggunakan kata sandi lama di Microsoft Entra ID jika mereka mengubahnya secara lokal?
- Apakah Anda memiliki ketergantungan pada operasi real-time, seperti tulis balik kata sandi?
Bergantung pada jawaban atas pertanyaan-pertanyaan ini dan kebijakan organisasi Anda, salah satu strategi berikut dapat diterapkan:
- Buat ulang ketika diperlukan.
- Miliki server siaga cadangan, yang dikenal sebagai mode penahapan.
- Gunakan komputer virtual.
Jika Anda tidak menggunakan database SQL Express bawaan, maka Anda juga harus meninjau bagian Ketersediaan Tinggi SQL.
Membuat ulang ketika diperlukan
Strategi yang layak adalah merencanakan buat ulang server saat diperlukan. Biasanya, menginstal mesin sinkronisasi dan melakukan impor dan sinkronisasi awal dapat diselesaikan dalam beberapa jam. Jika tidak ada server cadangan yang tersedia, Anda bisa menggunakan pengontrol domain untuk sementara waktu guna menghosting mesin sinkronisasi.
Server mesin sinkronisasi tidak menyimpan status apa pun tentang objek sehingga database dapat dibangun kembali dari data di Direktori Aktif dan ID Microsoft Entra. Atribut sourceAnchor digunakan untuk menggabungkan objek dari lokal dan cloud. Jika Anda membuat ulang server dengan objek lokal dan cloud yang ada, maka mesin sinkronisasi cocok dengan objek tersebut bersama-sama lagi pada penginstalan ulang. Hal-hal yang perlu Anda dokumentasikan dan simpan adalah perubahan konfigurasi yang dilakukan pada server, seperti aturan pemfilteran dan sinkronisasi. Konfigurasi kustom ini harus diterapkan kembali sebelum Anda mulai menyinkronkan.
Memiliki server siaga cadangan - mode penahapan
Jika Anda memiliki lingkungan yang lebih kompleks, maka memiliki satu atau beberapa server siaga sangat disarankan. Selama penginstalan, Anda dapat mengaktifkan server untuk berada dalam mode penahapan.
Untuk informasi selengkapnya, lihat mode pementasan.
Menggunakan komputer virtual
Metode yang umum dan didukung adalah menjalankan mesin sinkronisasi di komputer virtual. Jika host memiliki masalah, citra dengan server mesin sinkronisasi dapat dimigrasikan ke server lain.
Ketersediaan Tinggi SQL
Jika Anda tidak menggunakan SQL Server Express yang disertakan dengan Microsoft Entra Connect, sebaiknya ketersediaan tinggi untuk SQL Server juga harus dipertimbangkan. Solusi ketersediaan tinggi yang didukung mencakup pengelompokan SQL dan AOA (Always On Availability Group). Solusi yang tidak didukung mencakup pencerminan.
Dukungan untuk SQL AOA ditambahkan ke Microsoft Entra Connect di versi 1.1.524.0. Anda harus mengaktifkan SQL AOA sebelum menginstal Microsoft Entra Connect. Selama penginstalan, Microsoft Entra Connect mendeteksi apakah instans SQL yang disediakan diaktifkan untuk SQL AOA atau tidak. Jika SQL AOA diaktifkan, Microsoft Entra Connect lebih lanjut mencari tahu apakah SQL AOA dikonfigurasi untuk menggunakan replikasi sinkron atau replikasi asinkron. Saat menyiapkan Listener Grup Ketersediaan, properti RegisterAllProvidersIP harus diatur ke 0. Microsoft Entra Connect saat ini menggunakan SQL Native Client untuk menyambungkan ke SQL dan SQL Native Client tidak mendukung penggunaan properti MultiSubNetFailover.
Lampiran CSAnalyzer
Lihat bagian verifikasi mengenai cara menggunakan skrip ini.
Param(
[Parameter(Mandatory=$true, HelpMessage="Must be a file generated using csexport 'Name of Connector' export.xml /f:x)")]
[string]$xmltoimport="%temp%\exportedStage1a.xml",
[Parameter(Mandatory=$false, HelpMessage="Maximum number of users per output file")][int]$batchsize=1000,
[Parameter(Mandatory=$false, HelpMessage="Show console output")][bool]$showOutput=$false
)
#LINQ isn't loaded automatically, so force it
[Reflection.Assembly]::Load("System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089") | Out-Null
[int]$count=1
[int]$outputfilecount=1
[array]$objOutputUsers=@()
#XML must be generated using "csexport "Name of Connector" export.xml /f:x"
write-host "Importing XML" -ForegroundColor Yellow
#XmlReader.Create won't properly resolve the file location,
#so expand and then resolve it
$resolvedXMLtoimport=Resolve-Path -Path ([Environment]::ExpandEnvironmentVariables($xmltoimport))
#use an XmlReader to deal with even large files
$result=$reader = [System.Xml.XmlReader]::Create($resolvedXMLtoimport)
$result=$reader.ReadToDescendant('cs-object')
if($result)
{
do
{
#create the object placeholder
#adding them up here means we can enforce consistency
$objOutputUser=New-Object psobject
Add-Member -InputObject $objOutputUser -MemberType NoteProperty -Name ID -Value ""
Add-Member -InputObject $objOutputUser -MemberType NoteProperty -Name Type -Value ""
Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name DN -Value ""
Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name operation -Value ""
Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name UPN -Value ""
Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name displayName -Value ""
Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name sourceAnchor -Value ""
Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name alias -Value ""
Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name primarySMTP -Value ""
Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name onPremisesSamAccountName -Value ""
Add-Member -inputobject $objOutputUser -MemberType NoteProperty -Name mail -Value ""
$user = [System.Xml.Linq.XElement]::ReadFrom($reader)
if ($showOutput) {Write-Host Found an exported object... -ForegroundColor Green}
#object id
$outID=$user.Attribute('id').Value
if ($showOutput) {Write-Host ID: $outID}
$objOutputUser.ID=$outID
#object type
$outType=$user.Attribute('object-type').Value
if ($showOutput) {Write-Host Type: $outType}
$objOutputUser.Type=$outType
#dn
$outDN= $user.Element('unapplied-export').Element('delta').Attribute('dn').Value
if ($showOutput) {Write-Host DN: $outDN}
$objOutputUser.DN=$outDN
#operation
$outOperation= $user.Element('unapplied-export').Element('delta').Attribute('operation').Value
if ($showOutput) {Write-Host Operation: $outOperation}
$objOutputUser.operation=$outOperation
#now that we have the basics, go get the details
foreach ($attr in $user.Element('unapplied-export-hologram').Element('entry').Elements("attr"))
{
$attrvalue=$attr.Attribute('name').Value
$internalvalue= $attr.Element('value').Value
switch ($attrvalue)
{
"userPrincipalName"
{
if ($showOutput) {Write-Host UPN: $internalvalue}
$objOutputUser.UPN=$internalvalue
}
"displayName"
{
if ($showOutput) {Write-Host displayName: $internalvalue}
$objOutputUser.displayName=$internalvalue
}
"sourceAnchor"
{
if ($showOutput) {Write-Host sourceAnchor: $internalvalue}
$objOutputUser.sourceAnchor=$internalvalue
}
"alias"
{
if ($showOutput) {Write-Host alias: $internalvalue}
$objOutputUser.alias=$internalvalue
}
"proxyAddresses"
{
if ($showOutput) {Write-Host primarySMTP: ($internalvalue -replace "SMTP:","")}
$objOutputUser.primarySMTP=$internalvalue -replace "SMTP:",""
}
}
}
$objOutputUsers += $objOutputUser
Write-Progress -activity "Processing ${xmltoimport} in batches of ${batchsize}" -status "Batch ${outputfilecount}: " -percentComplete (($objOutputUsers.Count / $batchsize) * 100)
#every so often, dump the processed users in case we blow up somewhere
if ($count % $batchsize -eq 0)
{
Write-Host Hit the maximum users processed without completion... -ForegroundColor Yellow
#export the collection of users as a CSV
Write-Host Writing processedusers${outputfilecount}.csv -ForegroundColor Yellow
$objOutputUsers | Export-Csv -path processedusers${outputfilecount}.csv -NoTypeInformation
#increment the output file counter
$outputfilecount+=1
#reset the collection and the user counter
$objOutputUsers = $null
$count=0
}
$count+=1
#need to bail out of the loop if no more users to process
if ($reader.NodeType -eq [System.Xml.XmlNodeType]::EndElement)
{
break
}
} while ($reader.Read)
#need to write out any users that didn't get picked up in a batch of 1000
#export the collection of users as CSV
Write-Host Writing processedusers${outputfilecount}.csv -ForegroundColor Yellow
$objOutputUsers | Export-Csv -path processedusers${outputfilecount}.csv -NoTypeInformation
}
else
{
Write-Host "Imported XML file is empty. No work to do." -ForegroundColor Red
}
Langkah berikutnya
Topik ringkasan