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합니다. 이 그림과 같은 내용이 표시됩니다.

GetSyncScheduler

이 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.

Disable the scheduler

변경한 경우 스케줄러를 다시 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

스케줄러 중지

스케줄러가 현재 동기화 주기를 실행 중인 경우 중지해야 합니다. 예를 들어 설치 마법사를 시작하면 다음 오류가 발생합니다.

Screenshot shows Cannot change configuration error message.

동기화 주기를 실행하는 경우 구성을 변경할 수 없습니다. 스케줄러가 프로세스를 완료할 때까지 기다릴 수 있지만 즉시 변경할 수 있도록 중지할 수도 있습니다. 현재 주기를 중지하는 것은 해롭지 않으며 보류 중인 변경 내용은 다음 실행으로 처리됩니다.

  1. 먼저 스케줄러에 PowerShell cmdlet Stop-ADSyncSyncCycle을 사용하여 현재 주기를 중지하도록 합니다.

  2. 1.1.281 이전 빌드를 사용 중인 경우 스케줄러를 중지해도 현재 작업에서 현재 커넥터는 중지되지 않습니다. 커넥트or를 강제로 중지하려면 다음 작업을 수행합니다.

    Screenshot shows Synchronization Service Manager with Connectors selected and a running connector highlighted with the Stop action selected.

    • 시작 메뉴에서 동기화 서비스를 시작합니다. 커넥트로 이동하여 실행 중인 상태로 커넥트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 Run Profile

Invoke-ADSyncRunProfile cmdlet은 동기식입니다. 즉, 커넥트or가 작업을 성공적으로 완료하거나 오류가 발생할 때까지 컨트롤을 반환하지 않습니다.

커넥터를 예약할 경우 다음 순서대로 예약하는 것이 좋습니다.

  1. (전체/델타) Active Directory와 같은 온-프레미스 디렉터리에서 가져오기
  2. (전체/델타) Microsoft Entra ID에서 가져오기
  3. (전체/델타) Active Directory와 같은 온-프레미스 디렉터리에서 동기화
  4. (전체/델타) Microsoft Entra ID에서 동기화
  5. Microsoft Entra ID로 내보내기
  6. Active Directory와 같은 온-프레미스 디렉터리로 내보내기

이 순서는 기본 제공 스케줄러가 커넥트 실행하는 방법입니다.

Get-ADSync커넥트orRunStatus

동기화 엔진이 사용 중인지 유휴 상태인지를 모니터링할 수도 있습니다. 이 cmdlet은 동기화 엔진이 유휴 상태이고 커넥터를 실행하고 있지 않은 경우 빈 결과를 반환합니다. 커넥트or가 실행 중인 경우 커넥트or의 이름을 반환합니다.

Get-ADSyncConnectorRunStatus

Connector Run Status
위의 그림에서 첫 번째 줄은 동기화 엔진이 유휴 상태인 상태입니다. 두 번째 줄은 Microsoft Entra 커넥터가 실행 중인 경우입니다.

Scheduler 및 설치 마법사

설치 마법사를 시작하면 스케줄러가 일시적으로 일시 중단됩니다. 이 동작은 구성을 변경한 것으로 가정하고 동기화 엔진이 적극적으로 실행 중인 경우 이러한 설정을 적용할 수 없기 때문입니다. 따라서 동기화 엔진이 동기화 작업을 수행하지 못하도록 중지하므로 설치 마법사를 열어 두지 마세요.

다음 단계

Microsoft Entra Connect 동기화 구성에 대해 자세히 알아봅니다.

Microsoft Entra ID와 온-프레미스 ID 통합에 대해 자세히 알아봅니다.