Azure AD Connect 同期: SchedulerAzure AD Connect sync: Scheduler

このトピックでは、Azure AD Connect 同期の組み込みのスケジューラ (同期エンジン) について説明します。This topic describes the built-in scheduler in Azure AD Connect sync (sync engine).

この機能は、ビルド 1.1.105.0 (2016 年 2 月リリース) で導入されました。This feature was introduced with build 1.1.105.0 (released February 2016).

概要Overview

Azure AD Connect 同期は、オンプレミス ディレクトリで発生した変更を、スケジューラを使用して同期します。Azure AD Connect sync synchronize changes occurring in your on-premises directory using a scheduler. スケジューラが行う処理は 2 つあり、1 つはパスワードの同期で、もう 1 つはオブジェクト/属性の同期と、メンテナンス タスクです。There are two scheduler processes, one for password sync and another for object/attribute sync and maintenance tasks. このトピックでは、後者について説明します。This topic covers the latter.

以前のリリースでは、オブジェクトと属性のスケジューラは同期エンジンの外部にあり、In earlier releases, the scheduler for objects and attributes was external to the sync engine. Windows タスク スケジューラまたは別の Windows サービスを使用して、同期プロセスをトリガーしました。It used Windows task scheduler or a separate Windows service to trigger the synchronization process. スケジューラは、1.1 リリースで同期エンジンに組み込まれ、いくつかのカスタマイズが可能になりました。The scheduler is with the 1.1 releases built-in to the sync engine and do allow some customization. 新しい既定の同期頻度は、30 分です。The new default synchronization frequency is 30 minutes.

スケジューラは、次の 2 つのタスクを担当します。The scheduler is responsible for two tasks:

  • 同期サイクルSynchronization cycle. 変更をインポート、同期、およびエクスポートする処理です。The process to import, sync, and export changes.
  • メンテナンス タスクMaintenance tasks. パスワードのリセットと Device Registration Service (DRS) のためにキーと証明書を更新します。Renew keys and certificates for Password reset and Device Registration Service (DRS). 操作ログの古いエントリを消去します。Purge old entries in the operations log.

スケジューラ自体は常に実行されていますが、これらのタスクの 1 つだけを実行したり、どれも実行しないように構成することができます。The scheduler itself is always running, but it can be configured to only run one or none of these tasks. たとえば、独自の同期サイクル処理が必要な場合は、スケジューラのこのタスクを無効にし、メンテナンス タスクは実行するように指定できます。For example, if you need to have your own synchronization cycle process, you can disable this task in the scheduler but still run the maintenance task.

スケジューラの構成Scheduler configuration

現在の構成設定を確認するには、PowerShell に移動し、 Get-ADSyncSchedulerを実行します。To see your current configuration settings, go to PowerShell and run Get-ADSyncScheduler. 次のような設定が表示されます。It shows you something like this picture:

GetSyncScheduler

このコマンドレットを実行するときに「 sync コマンドまたはコマンドレットを使用できません 」と表示される場合、PowerShell モジュールが読み込まれません。If you see The sync command or cmdlet is not available when you run this cmdlet, then the PowerShell module is not loaded. この問題は、PowerShell 制限レベルが既定の設定よりも高いドメイン コント ローラーまたはサーバーで Azure AD Connect を実行する場合に発生する可能性があります。This problem could happen if you run Azure AD Connect on a domain controller or on a server with higher PowerShell restriction levels than the default settings. このエラーが発生する場合、 Import-Module ADSync を実行してコマンドレットを使用できるようにします。If you see this error, then run Import-Module ADSync to make the cmdlet available.

  • AllowedSyncCycleIntervalAllowedSyncCycleInterval. Azure AD で利用できる同期サイクルの最短の時間間隔です。The shortest time interval between synchronization cycles allowed by Azure AD. この設定よりも頻繁に同期してサポートを受けることはできません。You cannot synchronize more frequently than this setting and still be supported.
  • CurrentlyEffectiveSyncCycleIntervalCurrentlyEffectiveSyncCycleInterval. 現時点で有効になっているスケジュールです。The schedule currently in effect. AllowedSyncInterval よりも高い頻度でない場合は、CustomizedSyncInterval と同じ値です (設定されている場合)。It has the same value as CustomizedSyncInterval (if set) if it is not more frequent than AllowedSyncInterval. 1.1.281 より前のビルドを使用している場合、CustomizedSyncCycleInterval を変更すると、次回の同期サイクルの後に有効になります。If you use a build before 1.1.281 and you change CustomizedSyncCycleInterval, this change takes effect after next synchronization cycle. ビルド 1.1.281 以降を使用している場合、変更はすぐに反映されます。From build 1.1.281 the change takes effect immediately.
  • CustomizedSyncCycleIntervalCustomizedSyncCycleInterval. 既定の 30 分以外の頻度でスケジューラを実行する場合は、この設定を構成します。If you want the scheduler to run at any other frequency than the default 30 minutes, then you configure this setting. 上の図では、スケジューラは 1 時間ごとに実行されるように設定されています。In the picture above, the scheduler has been set to run every hour instead. この設定を AllowedSyncInterval より低い値に設定すると、その値が使用されます。If you set this setting to a value lower than AllowedSyncInterval, then the latter is used.
  • NextSyncCyclePolicyTypeNextSyncCyclePolicyType. Delta または Initial です。Either Delta or Initial. 次回の実行で、変更の差分だけを処理するのか、完全なインポートと同期を行って、新規の規則と変更した規則のすべてを再処理するのかを定義します。Defines if the next run should only process delta changes, or if the next run should do a full import and sync. The latter would also reprocess any new or changed rules.
  • NextSyncCycleStartTimeInUTCNextSyncCycleStartTimeInUTC. スケジューラが次回の同期サイクルを開始する時刻です。Next time the scheduler starts the next sync cycle.
  • PurgeRunHistoryIntervalPurgeRunHistoryInterval. 操作ログを保持する時間です。The time operation logs should be kept. ログは Synchronization Service Manager で参照できます。These logs can be reviewed in the synchronization service manager. 既定では、ログは 7 日間保持されます。The default is to keep these logs for 7 days.
  • SyncCycleEnabledSyncCycleEnabled. スケジューラが、その操作の一部としてインポート、同期、およびエクスポート処理を実行しているかどうかを示します。Indicates if the scheduler is running the import, sync, and export processes as part of its operation.
  • MaintenanceEnabledMaintenanceEnabled. メンテナンス処理が有効になっているかどうかを示します。Shows if the maintenance process is enabled. メンテナンス処理では、証明書/キーの更新と、操作ログの消去が行われます。It updates the certificates/keys and purges the operations log.
  • StagingModeEnabledStagingModeEnabled. ステージング モード が有効になっているかどうかを示します。Shows if staging mode is enabled. この設定が有効になっている場合、エクスポートは実行されませんが、インポートと同期は引き続き実行されます。If this setting is enabled, then it suppresses the exports from running but still run import and synchronization.
  • SchedulerSuspendedSchedulerSuspended. アップグレード中にスケジューラの実行を一時的にブロックするために Connect によって設定されます。Set by Connect during an upgrade to temporarily block the scheduler from running.

これらの設定のいくつかは、 Set-ADSyncSchedulerを使用して変更できます。You can change some of these settings with Set-ADSyncScheduler. 次のパラメーターに変更を加えることができます。The following parameters can be modified:

  • CustomizedSyncCycleIntervalCustomizedSyncCycleInterval
  • NextSyncCyclePolicyTypeNextSyncCyclePolicyType
  • PurgeRunHistoryIntervalPurgeRunHistoryInterval
  • SyncCycleEnabledSyncCycleEnabled
  • MaintenanceEnabledMaintenanceEnabled

Azure AD Connect の以前のビルドでは、isStagingModeEnabled は Set-ADSyncScheduler で公開されていました。In earlier builds of Azure AD Connect, isStagingModeEnabled was exposed in Set-ADSyncScheduler. このプロパティの設定はサポートされていませんIt is unsupported to set this property. プロパティ SchedulerSuspended は Connect でのみ変更する必要があります。The property SchedulerSuspended should only be modified by Connect. PowerShell で直接これを設定することはサポートされていませんIt is unsupported to set this with PowerShell directly.

スケジューラの構成は Azure AD に保存されます。The scheduler configuration is stored in Azure AD. ステージング サーバーがある場合、プライマリ サーバーでの変更はステージング サーバーにも影響します (IsStagingModeEnabled を除く)。If you have a staging server, any change on the primary server also affects the staging server (except IsStagingModeEnabled).

CustomizedSyncCycleIntervalCustomizedSyncCycleInterval

構文: Set-ADSyncScheduler -CustomizedSyncCycleInterval d.HH:mm:ssSyntax: Set-ADSyncScheduler -CustomizedSyncCycleInterval d.HH:mm:ss
d - 日数、HH - 時間数、mm - 分数、ss - 秒数d - days, HH - hours, mm - minutes, ss - seconds

例: Set-ADSyncScheduler -CustomizedSyncCycleInterval 03:00:00Example: Set-ADSyncScheduler -CustomizedSyncCycleInterval 03:00:00
スケジューラが 3 時間ごとに実行されるように変更されます。Changes the scheduler to run every 3 hours.

例: Set-ADSyncScheduler -CustomizedSyncCycleInterval 1.0:0:0Example: Set-ADSyncScheduler -CustomizedSyncCycleInterval 1.0:0:0
スケジューラが毎日実行されるように変更されます。Changes change the scheduler to run daily.

スケジューラを無効にするDisable the scheduler

構成を変更する必要がある場合は、スケジューラを無効にします。If you need to make configuration changes, then you want to disable the scheduler. たとえば、フィルタ リングを構成したり、同期規則を変更したりするときです。For example, when you configure filtering or make changes to synchronization rules.

スケジューラを無効にするには、Set-ADSyncScheduler -SyncCycleEnabled $false を実行します。To disable the scheduler, run Set-ADSyncScheduler -SyncCycleEnabled $false.

スケジューラを無効にする

変更したら、Set-ADSyncScheduler -SyncCycleEnabled $true で忘れずにスケジューラを有効にしてください。When you've made your changes, do not forget to enable the scheduler again with Set-ADSyncScheduler -SyncCycleEnabled $true.

スケジューラの開始Start the scheduler

スケジューラは、既定では 30 分ごとに実行されます。The scheduler is by default run every 30 minutes. 場合によっては、スケジュールされたサイクル間に同期サイクルを実行したり、別の種類を実行する必要があったりします。In some cases, you might want to run a sync cycle in between the scheduled cycles or you need to run a different type.

差分同期サイクルDelta sync cycle

差分同期サイクルには、以下の手順が含まれています。A delta sync cycle includes the following steps:

  • すべてのコネクタでの差分インポートDelta import on all Connectors
  • すべてのコネクタでの差分同期Delta sync on all Connectors
  • すべてのコネクタでのエクスポートExport on all Connectors

完全同期サイクルFull sync cycle

完全同期サイクルの手順は、次のとおりです。A full sync cycle includes the following steps:

  • すべてのコネクタでのフル インポートFull Import on all Connectors
  • すべてのコネクタでの完全同期Full Sync on all Connectors
  • すべてのコネクタでのエクスポートExport on all Connectors

緊急な変更が発生し、直ちに同期しなければならないことがあります。そのような場合は、サイクルを手動で実行する必要があります。It could be that you have an urgent change that must be synchronized immediately, which is why you need to manually run a cycle.

同期サイクルを手動で実行する必要がある場合は、PowerShell で Start-ADSyncSyncCycle -PolicyType Delta を実行します。If you need to manually run a sync cycle, then from PowerShell run Start-ADSyncSyncCycle -PolicyType Delta.

完全同期サイクルを開始するには、PowerShell プロンプトで Start-ADSyncSyncCycle -PolicyType Initial を実行します。To initiate a full sync cycle, run Start-ADSyncSyncCycle -PolicyType Initial from a PowerShell prompt.

完全同期サイクルを実行すると非常に時間がかかる場合があります。このプロセスを最適化する方法について、次のセクションをご覧ください。Running a full sync cycle can be very time consuming, read the next section to read how to optimize this process.

さまざまな構成の変更に必要な同期手順Sync steps required for different configuration changes

すべてのオブジェクトに変更を確実に正しく適用するために、異なる構成の変更には異なる同期手順が必要です。Different configuration changes require different sync steps to ensure the changes are correctly applied to all objects.

  • (同期規則の追加/変更により) ソース ディレクトリからインポートされるオブジェクトまたは属性を追加したAdded more objects or attributes to be imported from a source directory (by adding/modifying the sync rules)
    • そのソース ディレクトリのコネクタでフル インポートが必要ですA Full Import is required on the Connector for that source directory
  • 同期規則を変更したMade changes to the Synchronization rules
    • 変更した同期規則のコネクタで完全同期が必要ですA Full Sync is required on the Connector for the changed Synchronization rules
  • 異なる数のオブジェクトが含まれるように フィルター処理 を変更したChanged filtering so a different number of objects should be included
    • 同期エンジンにインポート済みの属性に基づいた属性ベースのフィルター処理を使用している場合を除いて、各 AD コネクタのコネクタでフル インポートが必要ですA Full Import is required on the Connector for each AD Connector UNLESS you are using Attribute-based filtering based on attributes that are already being imported into the sync engine

差分同期と完全同期の手順の適切な組み合わせを実行する同期サイクルのカスタマイズCustomizing a sync cycle run the right mix of Delta and Full sync steps

完全同期の実行を回避するために、次のコマンドレットを使用して、完全同期の手順を実行する特定のコネクタにマークを付けることができます。To avoid running a full sync cycle you can mark specific Connectors to run a Full step using the following cmdlets.

Set-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid> -FullImportRequired $true

Set-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid> -FullSyncRequired $true

Get-ADSyncSchedulerConnectorOverride -Connector <ConnectorGuid>

例:コネクタ "AD Forest A" の同期規則に対して、新しい属性のインポートを必要としない変更を加えた場合、次のコマンドレットを実行して、このコネクタに対する完全同期手順も実行する差分同期サイクルを実行します。Example: If you made changes to the synchronization rules for Connector “AD Forest A” that don’t require any new attributes to be imported you would run the following cmdlets to run a delta sync cycle which also did a Full Sync step for that Connector.

Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullSyncRequired $true

Start-ADSyncSyncCycle -PolicyType Delta

例:コネクタ "AD Forest A" の同期規則に対して、今度は新しい属性のインポートが必要な変更を加えた場合、次のコマンドレットを実行して、このコネクタに対するフル インポートと完全同期手順も実行する差分同期サイクルを実行します。Example: If you made changes to the synchronization rules for Connector “AD Forest A” so that they now require a new attribute to be imported you would run the following cmdlets to run a delta sync cycle which also did a Full Import, Full Sync step for that Connector.

Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullImportRequired $true

Set-ADSyncSchedulerConnectorOverride -ConnectorName “AD Forest A” -FullSyncRequired $true

Start-ADSyncSyncCycle -PolicyType Delta

スケジューラの停止Stop the scheduler

スケジューラが同期サイクルを実行中に、停止しなければならない場合があります。If the scheduler is currently running a synchronization cycle, you might need to stop it. たとえば、インストール ウィザードを開始して、次のエラーが発生したとします。For example if you start the installation wizard and you get this error:

SyncCycleRunningError

同期サイクルの実行中は、構成を変更できません。When a sync cycle is running, you cannot make configuration changes. スケジューラが処理を終了するまで待つこともできますが、すぐに変更を行うことができるように、スケジューラを停止することもできます。You could wait until the scheduler has finished the process, but you can also stop it so you can make your changes immediately. 現在のサイクルを停止しても害はなく、保留になった変更は次回の実行で処理されます。Stopping the current cycle is not harmful and pending changes are processed with next run.

  1. まず、PowerShell コマンドレット Stop-ADSyncSyncCycle で、現在のサイクルを停止するようスケジューラに指示します。Start by telling the scheduler to stop its current cycle with the PowerShell cmdlet Stop-ADSyncSyncCycle.
  2. 1.1.281 より前のビルドを使用している場合は、スケジューラを停止しても、現在のコネクタの現在のタスクは停止しません。If you use a build before 1.1.281, then stopping the scheduler does not stop the current Connector from its current task. コネクタを強制的に停止させるには、以下の操作を行います。StopAConnectorTo force the Connector to stop, take the following actions: StopAConnector
    • [スタート] メニューから [Synchronization Service (同期サービス)] を起動します。Start Synchronization Service from the start menu. [コネクタ] に移動し、状態が [実行中] のコネクタを強調表示して、[操作] で [停止] を選択します。Go to Connectors, highlight the Connector with the state Running, and select Stop from the Actions.

スケジューラはアクティブなままで、次の機会に再度開始されます。The scheduler is still active and starts again on next opportunity.

カスタム スケジューラCustom scheduler

このセクションに記載されているコマンドレットは、1.1.130.0 以降でのみ利用できます。The cmdlets documented in this section are only available in build 1.1.130.0 and later.

組み込みのスケジューラで自社の要件を満たすことができない場合は、PowerShell を使用してコネクタをスケジュールすることができます。If the built-in scheduler does not satisfy your requirements, then you can schedule the Connectors using PowerShell.

Invoke-ADSyncRunProfileInvoke-ADSyncRunProfile

次の方法でコネクタのプロファイルを開始できます。You can start a profile for a Connector in this way:

Invoke-ADSyncRunProfile -ConnectorName "name of connector" -RunProfileName "name of profile"

コネクタ名実行プロファイル名に使用する名前は、Synchronization Service Manager UI で確認できます。The names to use for Connector names and Run Profile Names can be found in the Synchronization Service Manager UI.

Invoke Run Profile

Invoke-ADSyncRunProfile コマンドレットは同期的なコマンドレットです。つまり、コネクタが操作に成功するかエラーが発生することで操作を終えるまで制御を返しません。The Invoke-ADSyncRunProfile cmdlet is synchronous, that is, it does not return control until the Connector has completed the operation, either successfully or with an error.

コネクタをスケジュールする際は、次の順序でスケジュールすることをお勧めします。When you schedule your Connectors, the recommendation is to schedule them in the following order:

  1. (完全/差分) Active Directory などのオンプレミスのディレクトリからインポートする(Full/Delta) Import from on-premises directories, such as Active Directory
  2. (完全/差分) Azure AD からインポートする(Full/Delta) Import from Azure AD
  3. (完全/差分) Active Directory などのオンプレミスのディレクトリから同期する(Full/Delta) Synchronization from on-premises directories, such as Active Directory
  4. (完全/差分) Azure AD から同期する(Full/Delta) Synchronization from Azure AD
  5. Azure AD にエクスポートするExport to Azure AD
  6. Active Directory などのオンプレミスのディレクトリにエクスポートするExport to on-premises directories, such as Active Directory

組み込みのスケジューラの場合も、コネクタはこの順序で実行されます。This order is how the built-in scheduler runs the Connectors.

Get-ADSyncConnectorRunStatusGet-ADSyncConnectorRunStatus

同期エンジンがビジー状態かアイドル状態かを監視することができます。You can also monitor the sync engine to see if it is busy or idle. 同期エンジンがアイドル状態で、コネクタが実行されていない場合、このコマンドレットは空の結果を返します。This cmdlet returns an empty result if the sync engine is idle and is not running a Connector. コネクタが実行されている場合は、コネクタの名前を返します。If a Connector is running, it returns the name of the Connector.

Get-ADSyncConnectorRunStatus

Connector Run Status
上の図の 1 行目は、同期エンジンがアイドル状態であることを示しています。In the picture above, the first line is from a state where the sync engine is idle. 2 行目は、Azure AD コネクタが実行されていることを示しています。The second line from when the Azure AD Connector is running.

スケジューラとインストール ウィザードScheduler and installation wizard

インストール ウィザードを開始すると、スケジューラは一時的に中断されます。If you start the installation wizard, then the scheduler is temporarily suspended. この動作は、構成が変更されても、同期エンジンがアクティブに実行されていると、この設定を適用できないためです。This behavior is because it is assumed you make configuration changes and these settings cannot be applied if the sync engine is actively running. このようなしくみになっているので、インストール ウィザードを開いたままにしないでください。開いたままにすると、同期エンジンが同期操作を実行できません。For this reason, do not leave the installation wizard open since it stops the sync engine from performing any synchronization actions.

次の手順Next steps

Azure AD Connect Sync の構成に関するページをご覧ください。Learn more about the Azure AD Connect sync configuration.

オンプレミス ID と Azure Active Directory の統合」をご覧ください。Learn more about Integrating your on-premises identities with Azure Active Directory.