Microsoft Entra Connect 동기화: 스케줄러
이 항목에서는 Microsoft Entra Connect 동기화(동기화 엔진)에 기본 제공된 스케줄러에 대해 설명합니다.
이 기능은 빌드 1.1.105.0(2016년 2월 릴리스)에서 도입되었습니다.
개요
Microsoft Entra Connect 동기화는 스케줄러를 사용하여 온-프레미스 디렉터리에서 발생하는 변경 내용을 동기화합니다. 두 개의 스케줄러 프로세스가 있습니다. 하나는 암호 동기화용이고 다른 하나는 개체/특성 동기화 및 기본 테넌스 작업용입니다. 이 항목에서는 후자를 다룹니다.
이전 릴리스에서는 개체 및 특성에 대한 스케줄러가 동기화 엔진 외부에 있었습니다. Windows 작업 스케줄러 또는 별도의 Windows 서비스를 사용하여 동기화 프로세스를 트리거했습니다. 스케줄러는 동기화 엔진에 기본 제공되는 1.1 릴리스를 사용하며 일부 사용자 지정을 허용합니다. 새 기본 동기화 빈도는 30분입니다.
스케줄러는 다음 두 가지 작업을 담당합니다.
- 동기화 주기. 변경 내용 가져오기, 동기화 및 내보내기 프로세스입니다.
- 유지 관리 작업. 암호 재설정 및 DRS(디바이스 등록 서비스)에 대한 키 및 인증서를 갱신합니다. 작업 로그의 이전 항목을 삭제합니다.
스케줄러 자체는 항상 실행되지만 이러한 작업 중 하나만 실행하도록 구성할 수 있습니다. 예를 들어 고유한 동기화 주기 프로세스가 필요한 경우 스케줄러에서 이 작업을 사용하지 않도록 설정할 수 있지만 여전히 기본tenance 작업을 실행할 수 있습니다.
Important
기본적으로 30분마다 동기화 주기가 실행됩니다. 동기화 주기를 수정한 경우 동기화 주기가 7일마다 한 번 이상 실행되는지 확인해야 합니다.
- 델타 동기화는 마지막 델타 동기화로부터 7일 이내에 이루어져야 합니다.
- 델타 동기화(전체 동기화에 따라)는 마지막 전체 동기화가 완료된 후 7일 이내에 수행해야 합니다.
이렇게 하지 않으면 동기화 문제가 발생할 수 있으며, 이를 해결하려면 전체 동기화를 실행해야 합니다. 스테이징 모드의 서버에도 적용됩니다.
Scheduler 구성
현재 구성 설정을 보려면 PowerShell로 이동하여 실행 Get-ADSyncScheduler
합니다. 이 그림과 같은 내용이 표시됩니다.
이 cmdlet을 실행할 때 동기화 명령 또는 cmdlet을 사용할 수 없는 경우 PowerShell 모듈이 로드되지 않습니다. 이 문제는 도메인 컨트롤러 또는 기본 설정보다 PowerShell 제한 수준이 더 높은 서버에서 Microsoft Entra Connect를 실행하는 경우 발생할 수 있습니다. 이 오류가 나타나면 Import-Module ADSync
을(를) 실행하여 cmdlet을 사용할 수 있게 합니다.
- AllowedSyncCycleInterval. Microsoft Entra ID에서 허용하는 동기화 주기 사이의 가장 짧은 시간 간격입니다. 이 설정보다 더 자주 동기화할 수 없으며 계속 지원됩니다.
- CurrentlyEffectiveSyncCycleInterval. 현재 적용 중인 일정입니다. AllowedSyncInterval보다 빈번하지 않은 경우 CustomizedSyncInterval(설정된 경우)과 동일한 값을 가집니다. 1.1.281 이전 빌드를 사용하고 CustomizedSyncCycleInterval을 변경한 경우 이 변경 내용은 다음 동기화 주기 후에 적용됩니다. 1.1.281 빌드의 경우 변경 내용은 즉시 적용됩니다.
- CustomizedSyncCycleInterval. 스케줄러를 기본값 30분이 아닌 다른 빈도로 실행하려면 이 설정을 구성합니다. 위의 그림에서 스케줄러는 1시간마다 실행되도록 설정되었습니다. 이 설정을 AllowedSyncInterval보다 낮은 값으로 설정하면 후자가 사용됩니다.
- NextSyncCyclePolicyType. 델타 또는 초기입니다. 다음 실행 시 델타 변경 내용만 처리할지 또는 전체 가져오기 및 동기화를 수행할지 정의합니다. 후자의 경우 새 규칙이나 변경된 규칙도 다시 처리됩니다.
- NextSyncCycleStartTimeInUTC. 스케줄러가 다음 동기화 주기를 시작하는 다음 시간입니다.
- PurgeRunHistoryInterval. 시간 작업 로그를 유지해야 합니다. 이러한 로그는 동기화 서비스 관리자에서 검토할 수 있습니다. 기본값은 7일 동안 로그를 유지하는 것입니다.
- SyncCycleEnabled. 스케줄러가 작업의 일부로 가져오기, 동기화 및 내보내기 프로세스를 실행하고 있는지를 나타냅니다.
- MaintenanceEnabled. 유지 관리 프로세스를 사용할 수 있는지 표시합니다. 인증서/키를 업데이트하고 작업 로그를 제거합니다.
- StagingModeEnabled. 스테이징 모드를 사용할 수 있는지를 보여 줍니다. 이 설정을 사용하면 내보내기가 실행되지 않지만 가져오기 및 동기화가 계속 실행됩니다.
- SchedulerSuspended. 업그레이드 중에 스케줄러 실행을 일시적으로 차단하기 위해 Connect에 의해 설정됩니다.
Set-ADSyncScheduler
(으)로 이러한 모든 설정 중 일부를 변경할 수 있습니다. 다음 매개 변수를 수정할 수 있습니다.
- CustomizedSyncCycleInterval
- NextSyncCyclePolicyType
- PurgeRunHistoryInterval
- SyncCycleEnabled
- MaintenanceEnabled
Microsoft Entra Connect의 이전 빌드에서는 isStagingModeEnabled가 Set-ADSyncScheduler에 노출되었습니다. 이 속성을 설정하는 것은 지원되지 않습니다. SchedulerSuspended 속성은 커넥트 의해서만 수정되어야 합니다. PowerShell에서 직접 설정하는 것은 지원되지 않습니다.
스케줄러 구성은 Microsoft Entra ID에 저장됩니다. 스테이징 서버가 있는 경우 주 서버의 변경 내용도 스테이징 서버에 영향을 줍니다(IsStagingModeEnabled 제외).
CustomizedSyncCycleInterval
구문: Set-ADSyncScheduler -CustomizedSyncCycleInterval d.HH:mm:ss
d -일, HH - 시간, mm - 분, ss - 초
예: Set-ADSyncScheduler -CustomizedSyncCycleInterval 03:00:00
3시간마다 실행되도록 스케줄러를 변경합니다.
예: Set-ADSyncScheduler -CustomizedSyncCycleInterval 1.0:0:0
변경 내용으로 스케줄러가 매일 실행되도록 변경합니다.
스케줄러 사용 안 함
구성을 변경해야 하는 경우 스케줄러를 사용하지 않도록 설정하려고 합니다. 예를 들어 필터링 구성 또는 동기화 규칙을 변경하는 경우입니다.
스케줄러를 사용하지 않도록 설정하려면 다음을 실행합니다 Set-ADSyncScheduler -SyncCycleEnabled $false
.
변경한 경우 스케줄러를 다시 Set-ADSyncScheduler -SyncCycleEnabled $true
사용하도록 설정하는 것을 잊지 마세요.
스케줄러 시작
스케줄러는 기본적으로 30분마다 실행됩니다. 경우에 따라 예약된 주기 간에 동기화 주기를 실행하거나 다른 형식을 실행해야 할 수 있습니다.
델타 동기화 주기
델타 동기화 주기에는 다음 단계가 포함됩니다.
- 모든 커넥트ors에서 델타 가져오기
- 모든 커넥트ors에서 델타 동기화
- 모든 커넥트에서 내보내기
전체 동기화 주기
전체 동기화 주기에는 다음 단계가 포함됩니다.
- 모든 커넥트ors에서 전체 가져오기
- 모든 커넥트ors의 전체 동기화
- 모든 커넥트에서 내보내기
즉시 동기화해야 하는 긴급한 변경이 있을 수 있으므로 주기를 수동으로 실행해야 합니다.
동기화 주기를 수동으로 실행해야 하는 경우 PowerShell에서 실행 Start-ADSyncSyncCycle -PolicyType Delta
합니다.
전체 동기화 주기를 시작하려면 PowerShell 프롬프트에서 실행 Start-ADSyncSyncCycle -PolicyType Initial
합니다.
전체 동기화 주기를 실행하는 데 시간이 많이 걸릴 수 있습니다. 이 프로세스를 최적화하는 방법을 읽어 보려면 다음 섹션을 참조하세요.
다양한 구성 변경에 필요한 동기화 단계
구성 변경 내용이 모든 개체에 올바르게 적용되도록 하려면 서로 다른 동기화 단계가 필요합니다.
- 원본 디렉터리에서 가져올 개체 또는 특성을 더 추가했습니다(동기화 규칙을 추가/수정하여).
- 커넥터에서 원본 디렉터리에 대해 전체 가져오기를 수행해야 합니다.
- 동기화 규칙을 변경했습니다.
- 커넥터에서 변경된 동기화 규칙에 대해 전체 동기화를 수행해야 합니다.
- 다른 수의 개체를 포함해야 하므로 필터링이 변경되었습니다.
- 동기화 엔진으로 이미 가져온 특성에 따라 특성 기반 필터링을 사용하지 않는 한 각 AD 커넥트에 대한 커넥트or에 전체 가져오기가 필요합니다.
동기화 주기를 사용자 지정하면 델타 및 전체 동기화 단계가 올바르게 혼합됩니다.
전체 동기화 주기가 실행되지 않도록 하려면 다음 cmdlet을 사용하여 전체 단계를 실행할 특정 커넥터를 표시할 수 있습니다.
Set-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid> -FullImportRequired $true
Set-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid> -FullSyncRequired $true
Get-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid>
예: “AD 포리스트 A” 커넥터에 대한 동기화 규칙을 변경했으며 새 특성을 가져올 필요가 없는 경우 다음 cmdlet을 실행하여 델타 동기화 주기를 실행합니다. 이 주기에서 해당 커넥터에 대해 전체 동기화 단계도 수행되었습니다.
Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullSyncRequired $true
Start-ADSyncSyncCycle -PolicyType Delta
예: “AD 포리스트 A” 커넥터에 대한 동기화 규칙을 변경했으며 이제 새 특성을 가져와야 하는 경우 다음 cmdlet을 실행하여 델타 동기화 주기를 실행합니다. 이 주기에서 해당 커넥터에 대해 전체 가져오기, 전체 동기화 단계도 수행되었습니다.
Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullImportRequired $true
Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullSyncRequired $true
Start-ADSyncSyncCycle -PolicyType Delta
스케줄러 중지
스케줄러가 현재 동기화 주기를 실행 중인 경우 중지해야 합니다. 예를 들어 설치 마법사를 시작하면 다음 오류가 발생합니다.
동기화 주기를 실행하는 경우 구성을 변경할 수 없습니다. 스케줄러가 프로세스를 완료할 때까지 기다릴 수 있지만 즉시 변경할 수 있도록 중지할 수도 있습니다. 현재 주기를 중지하는 것은 해롭지 않으며 보류 중인 변경 내용은 다음 실행으로 처리됩니다.
먼저 스케줄러에 PowerShell cmdlet
Stop-ADSyncSyncCycle
을 사용하여 현재 주기를 중지하도록 합니다.1.1.281 이전 빌드를 사용 중인 경우 스케줄러를 중지해도 현재 작업에서 현재 커넥터는 중지되지 않습니다. 커넥트or를 강제로 중지하려면 다음 작업을 수행합니다.
- 시작 메뉴에서 동기화 서비스를 시작합니다. 커넥트로 이동하여 실행 중인 상태로 커넥트or를 강조 표시하고 작업에서 중지를 선택합니다.
스케줄러는 여전히 활성 상태이며 다음 기회에 다시 시작됩니다.
사용자 지정 스케줄러
이 섹션에 설명된 cmdlet은 빌드 1.1.130.0 이상에서만 사용할 수 있습니다.
기본 제공 스케줄러가 요구 사항을 충족하지 않으면 PowerShell을 사용하여 커넥터를 예약할 수 있습니다.
Invoke-ADSyncRunProfile
다음과 같이 커넥트or에 대한 프로필을 시작할 수 있습니다.
Invoke-ADSyncRunProfile -ConnectorName "name of connector" -RunProfileName "name of profile"
커넥트or 이름 및 실행 프로필 이름에 사용할 이름은 Synchronization Service Manager UI에서 찾을 수 있습니다.
Invoke-ADSyncRunProfile
cmdlet은 동기식입니다. 즉, 커넥트or가 작업을 성공적으로 완료하거나 오류가 발생할 때까지 컨트롤을 반환하지 않습니다.
커넥터를 예약할 경우 다음 순서대로 예약하는 것이 좋습니다.
- (전체/델타) Active Directory와 같은 온-프레미스 디렉터리에서 가져오기
- (전체/델타) Microsoft Entra ID에서 가져오기
- (전체/델타) Active Directory와 같은 온-프레미스 디렉터리에서 동기화
- (전체/델타) Microsoft Entra ID에서 동기화
- Microsoft Entra ID로 내보내기
- Active Directory와 같은 온-프레미스 디렉터리로 내보내기
이 순서는 기본 제공 스케줄러가 커넥트 실행하는 방법입니다.
Get-ADSync커넥트orRunStatus
동기화 엔진이 사용 중인지 유휴 상태인지를 모니터링할 수도 있습니다. 이 cmdlet은 동기화 엔진이 유휴 상태이고 커넥터를 실행하고 있지 않은 경우 빈 결과를 반환합니다. 커넥트or가 실행 중인 경우 커넥트or의 이름을 반환합니다.
Get-ADSyncConnectorRunStatus
위의 그림에서 첫 번째 줄은 동기화 엔진이 유휴 상태인 상태입니다. 두 번째 줄은 Microsoft Entra 커넥터가 실행 중인 경우입니다.
Scheduler 및 설치 마법사
설치 마법사를 시작하면 스케줄러가 일시적으로 일시 중단됩니다. 이 동작은 구성을 변경한 것으로 가정하고 동기화 엔진이 적극적으로 실행 중인 경우 이러한 설정을 적용할 수 없기 때문입니다. 따라서 동기화 엔진이 동기화 작업을 수행하지 못하도록 중지하므로 설치 마법사를 열어 두지 마세요.
다음 단계
Microsoft Entra Connect 동기화 구성에 대해 자세히 알아봅니다.
Microsoft Entra ID와 온-프레미스 ID 통합에 대해 자세히 알아봅니다.