Microsoft Entra Connect のパフォーマンスに影響を及ぼす要因
Microsoft Entra Connect は、Active Directory を Microsoft Entra ID に同期します。 このサーバーは、ユーザー ID をクラウドに移動する際の重要なコンポーネントです。 Microsoft Entra Connect のパフォーマンスに影響する主な要因は以下のとおりです。
設計の因子 | 定義 |
---|---|
トポロジ | ネットワーク上の、Microsoft Entra Connect による管理が必要なエンドポイントやコンポーネントの分布状況。 |
スケール | Microsoft Entra Connect によって管理されるユーザー、グループ、OU などのオブジェクトの数。 |
ハードウェア | Microsoft Entra Connect 用のハードウェア (物理または仮想) と、それらに必要とされる個々のハードウェア コンポーネント (CPU、メモリ、ネットワーク、ハード ドライブ構成など) のパフォーマンス能力。 |
構成 | Microsoft Entra Connect でディレクトリや情報を処理する方法。 |
[読み込み] | オブジェクト変更の頻度。 負荷は、1 時間、1 日、または 1 週間の間で変化する可能性があります。 コンポーネントによっては、ピーク時の負荷または平均負荷に合わせた設計が必要な場合があります。 |
このドキュメントの目的は、Microsoft Entra Connect プロビジョニング エンジンのパフォーマンスに影響する要因について説明することです。 大規模な組織や複雑な組織 (10 万を超える数のオブジェクトをプロビジョニングする組織) において、ここで説明するようなパフォーマンス上の問題が発生した場合、推奨事項に従って Microsoft Entra Connect の実装を最適化することができます。 Microsoft Entra Connect のその他のコンポーネント (Microsoft Entra Connect Health やエージェントなど) については、ここでは説明しません。
重要
公式なドキュメントに記載されたアクション以外の方法で Microsoft Entra Connect の変更や操作を行うことは、Microsoft のサポートの対象外です。 サポート対象外のアクションを行うと、Microsoft Entra Connect Sync が不整合な状態やサポート対象外の状態になる可能性があります。Microsoft は、そのようなデプロイに対してテクニカル サポートを提供できません。
Microsoft Entra Connect コンポーネントの要因
次の図は、単一のフォレストに接続しているプロビジョニング エンジンのアーキテクチャの概要を示しています (ただし、複数のフォレストには対応していません)。 このアーキテクチャは、さまざまなコンポーネントが相互にやり取りする方法を示しています。
プロビジョニング エンジンは、個々の Active Directory フォレストと Microsoft Entra ID に接続します。 各ディレクトリから情報を読み取るプロセスを、インポートと言います。 エクスポートは、プロビジョニング エンジンからディレクトリを更新することを指します。 同期では、プロビジョニング エンジン内でオブジェクトがどのように流れるかのルールが評価されます。 より深く理解するために、「Microsoft Entra Connect Sync のアーキテクチャについて」を参照してください。
Microsoft Entra Connect では、以下に示すステージング領域、規則、プロセスに基づいて、Active Directory から Microsoft Entra ID への同期が許可されます。
- コネクタ スペース (CS) -接続先されたディレクトリ (CD) のそれぞれからのオブジェクト (実際のディレクトリ) は、最初にここでステージングされてから、プロビジョニング エンジンで処理できます。 Microsoft Entra ID はそれ自身の CS を持っており、接続先の各フォレストもそれぞれの CS を持っています。
- メタバース (MV) - 同期する必要があるオブジェクトは、同期規則に基づいてここに作成します。 接続されているその他のディレクトリにオブジェクトと属性を設定するには、オブジェクトが MV に存在する必要があります。 MV は 1 つしかありません。
- 同期規則 - MV 内のオブジェクトに対して作成 (投影) または接続 (結合) するオブジェクトを決定します。 同期規則では、ディレクトリとの間でコピーまたは変換する属性値も決定します。
- 実行プロファイル - ステージング領域と接続されたディレクトリの間の同期規則に従って、オブジェクトとその属性値のコピー プロセスの手順を 1 つにまとめます。
プロビジョニング エンジンのパフォーマンスを最適化する、別の実行プロファイルが存在しています。 ほとんどの組織では、通常の操作に既定のスケジュールと実行プロファイルを使用しますが、一部の組織では、一般的でない状況に対応するために、スケジュール の変更や他の実行プロファイルのトリガーを
初期同期プロファイル
初期同期プロファイルは、Active Directory フォレストのような、接続されたディレクトリの初めての読み取りのプロセスです。 その後で、同期エンジン データベースのすべてのエントリの解析を行います。 最初のサイクルでは、Microsoft Entra ID に新しいオブジェクトが作成され、Active Directory フォレストが大きい場合、完了までに余分な時間がかかります。 初期同期の手順は、次のとおりです。
- すべてのコネクタでのフル インポート
- すべてのコネクタでの完全同期
- すべてのコネクタでのエクスポート
差分同期プロファイル
同期プロセスを最適化するために、接続されたディレクトリ内のオブジェクトの最後の同期プロセス以降の変更 (作成、削除および更新) を処理するのは、この実行プロファイルだけです。 既定では、差分同期プロファイルは 30 分ごとに実行されます。 Microsoft Entra ID を常に最新の状態に保つため、この所要時間が 30 分を超えることがないように工夫することをお勧めします。 Microsoft Entra Connect の正常性を監視するには、プロセスのさまざまな問題を発見できる、稼働状況の監視エージェントを使用します。 差分同期プロファイルの手順は、次のとおりです。
- すべてのコネクタでの差分インポート
- すべてのコネクタでの差分同期
- すべてのコネクタでのエクスポート
一般的なエンタープライズ組織の差分同期のシナリオは、次のとおりです。
- 約 1% のオブジェクトが削除される
- 約 1% のオブジェクトが作成される
- 約 5% のオブジェクトが変更される
変化率は、組織が Active Directory のユーザーを更新する頻度によって異なります。 たとえば、変化率の上昇は、従業員の雇用と削減の季節性によって発生する可能性があります。
完全同期プロファイル
次のいずれかの構成変更を行った場合は、完全同期サイクルが必要です。
- 接続されたディレクトリからインポートするオブジェクトまたは属性の範囲を拡大した。 たとえば、インポート範囲にドメインや OU を追加した場合です。
- 同期規則に変更を加えた。 たとえば、ユーザーの役職を Active directory の extension_attribute3 から読み込んで Microsoft Entra ID に設定するための新しい規則を作成した場合などです。 この更新には、肩書を更新して今後の変更を適用するために、プロビジョニング エンジンが既存のすべてのユーザーを再確認する必要があります。
完全同期サイクルには、次の操作が含まれています。
- すべてのコネクタでのフル インポート
- すべてのコネクタでの完全/差分同期
- すべてのコネクタでのエクスポート
Note
Active Directory 内または Microsoft Entra ID 内の多数のオブジェクトに対して一括更新を実施する場合は、慎重な計画が必要です。 一括更新では、多くのオブジェクトが変更されているため、インポート時に差分同期プロセスに時間がかかります。 一括更新が同期プロセスに影響を及ぼさない場合でも、インポートに長時間かかる可能性があります。 たとえば、Microsoft Entra ID で多数のユーザーにライセンスを割り当てると、Microsoft Entra ID からのインポート サイクルが長くなりますが、Active Directory では属性が変更されません。
Synchronization
同期プロセスの実行時には、次のパフォーマンス特性があります。
- 同期はシングル スレッドです。つまり、プロビジョニング エンジンは、接続されたディレクトリ、オブジェクト、または属性の実行プロファイルの並列処理を実行しません。
- インポート時間は、同期されるオブジェクトの数に伴って線形に増加します。 たとえば、10,000 個のオブジェクトのインポートに 10 分かかる場合、20,000 オブジェクトは同じサーバーで約 20 分かかります。
- エクスポートも線形です。
- 同期は、他のオブジェクトへの参照を持つオブジェクトの数に基づいて指数関数的に増加します。 グループ メンバーシップと入れ子になったグループは、そのメンバーがユーザー オブジェクトまたはその他のグループを参照するため、主要なパフォーマンスへの影響があります。 同期サイクルを完了するには、これらの参照を検出し、MV 内の実際のオブジェクトに参照されるようにする必要があります。
- グループ メンバーを変更すると、すべてのグループ メンバーが再評価されます。 たとえば、50 K のメンバーを持つグループがあり、1 つのメンバーのみを更新する場合、50 K のすべてのメンバーの同期がトリガーされます。
Filtering
インポートする Active Directory トポロジのサイズは、プロビジョニング エンジンの内部コンポーネントが完了するまでのパフォーマンスと全体的な時間に影響を与える 1 番目の要素です。
フィルター処理は、同期するオブジェクトを減らすために使用してください。 不要なオブジェクトが処理され、Microsoft Entra ID にエクスポートされるのを防ぎます。 フィルター処理に使用できる手法を、最も望ましいものから順に次に示します。
- ドメインベースのフィルター処理 – このオプションは、特定のドメインを選択して Microsoft Entra ID に同期する場合に使用します。 Microsoft Entra Connect Sync をインストールした後にオンプレミス インフラストラクチャに変更を加えた場合、同期エンジンの構成に含まれるドメインの追加や削除が必要になります。
- 組織単位 (OU) のフィルター処理 - OU に基づき、Active Directory ドメイン内の特定のオブジェクトが Microsoft Entra ID へのプロビジョニング対象となるようにします。 OU のフィルター処理は、2 番目に推奨されるフィルター処理メカニズムです。これは、単純な LDAP スコープ クエリを使用して、Active Directory からオブジェクトの小さなサブセットをインポートするためです。
- オブジェクトごとの属性のフィルター処理 - オブジェクトの属性値に基づいて、Active Directory 内の特定のオブジェクトが Microsoft Entra ID でのプロビジョニング対象となるようにします。 属性のフィルター処理は、ドメインと OU のフィルター処理が特定のフィルター処理要件を満たしていない場合に、フィルターを微調整するのに適しています。 属性のフィルター処理では、インポート時間は短縮されませんが、同期時間とエクスポート時間を短縮できます。
- グループベースのフィルター処理 - グループ メンバーシップに基づいて、Microsoft Entra ID でのプロビジョニング対象となるオブジェクトを決定します。 グループベースのフィルター処理は、同期サイクル中にグループ メンバーシップをチェックするために余分なオーバーヘッドが必要なため、状況をテストする場合のみ適していて、運用環境には推奨されません。
プロビジョニング エンジンは同期サイクルで可能な接続について各非コネクタ オブジェクトを再評価する必要があるため、Active Directory CS に永続的な非コネクタ オブジェクトが多数あると、同期に時間がかかる可能性があります。 この問題を克服するためには、次のいずれかの推奨事項について検討してください。
- 非コネクタ オブジェクトを、ドメインまたは OU のフィルター処理を使用したインポートの範囲外に配置します。
- オブジェクトを MV に投影/結合し、cloudFiltered 属性を True に設定して、それらのオブジェクトが Microsoft Entra CS でプロビジョニングされないようにします。
Note
フィルター処理するオブジェクトが多すぎると、ユーザーが混乱したり、アプリケーションのアクセス許可の問題が発生したりする可能性があります。 たとえば、ハイブリッド Exchange オンライン実装では、オンプレミスのメールボックスを持つユーザーには、Exchange Online のメールボックスを持つユーザーよりも多くのユーザーがグローバル アドレス一覧に表示されます。 その他の場合、ユーザーは、フィルター処理されたオブジェクトのセットのスコープに含まれていない別のユーザーに、クラウド アプリ内のアクセス権を付与することができます。
属性フロー
属性フローとは、接続されたディレクトリ間でオブジェクトの属性値をコピーまたは変換するプロセスのことです。 これは同期規則の一部として定義します。 たとえば、Active Directory でユーザーの電話番号が変更されると、Microsoft Entra ID の電話番号が更新されます。 組織では、さまざまな要件に合わせて属性フローを変更することができます。 変更する前に、既存の属性フローをコピーすることをお勧めします。
属性値を別の属性にフローするといった単純なリダイレクトでは、パフォーマンスへの重要な影響はありません。 リダイレクトでは、たとえば、Active Directory 内の携帯電話番号を Microsoft Entra ID 内の職場の電話番号へとフローさせることができます。
属性値の変換は、同期プロセスの際のパフォーマンスに影響を及ぼす可能性があります。 属性値の変換には、属性の値の変更、再フォーマット、連結、または減算が含まれます。
組織では特定の属性を Microsoft Entra ID へのフロー対象から除外できますが、そのような指定は、プロビジョニング エンジンのパフォーマンスには影響しません。
Note
同期規則にある不要な属性フローは削除しないでください。 削除した規則は Microsoft Entra Connect のアップグレード時に再度作成されるため、削除ではなく無効にすることをお勧めします。
Microsoft Entra Connect の依存物の要因
Microsoft Entra Connect のパフォーマンスは、インポートとエクスポートの実行先となる、接続されたディレクトリのパフォーマンスに依存します。 これには、インポートする Active Directory のサイズや、Microsoft Entra サービスに接続するネットワークの待ち時間などが含まれます。 プロビジョニング エンジンが使用する SQL データベースも、同期サイクルの全体的なパフォーマンスに影響します。
Active Directory の因子
前述のように、インポートするオブジェクトの数は、パフォーマンスにかなりの影響を及ぼします。 Microsoft Entra Connect のハードウェアと前提条件に関するページには、デプロイ規模に応じた、ハードウェアの具体的なレベルに関する概要説明が記載されています。 Microsoft Entra Connect では、「Microsoft Entra Connect のトポロジ」で説明されているとおり、特定のトポロジのみがサポートされます。 サポートされていないトポロジに対するパフォーマンスの最適化と推奨事項はありません。
お使いの Microsoft Entra Connect サーバーが、インポートする Active Directory のサイズに応じたハードウェア要件を満たしていることを確認してください。 Microsoft Entra Connect サーバーと Active Directory ドメイン コントローラーの間を接続するネットワークの信頼性や速度に問題があると、インポートの速度低下の原因になります。
Microsoft Entra ID の要因
Microsoft Entra ID では、帯域幅調整を使用して、サービス拒否 (DoS) 攻撃からクラウド サービスを保護しています。 現在、Microsoft Entra ID には、5 分あたり書き込み回数 7,000 回 (1 時間あたり 84,000 回) という帯域幅調整の制限が設定されています。 たとえば、次の操作を調整できます。
- Microsoft Entra Connect から Entra Microsoft ID へのエクスポート。
- 動的メンバーシップ グループなど、バックグラウンドでも Microsoft Entra ID を直接更新する PowerShell スクリプトやアプリケーション。
- MFA または SSPR (セルフサービス パスワード リセット) の登録など、独自の ID レコードを更新するユーザー。
- グラフィカル ユーザー インターフェイスでの操作。
Microsoft Entra Connect 同期サイクルが調整制限の影響を受けないように、デプロイとメンテナンスのタスクを計画します。 たとえば、何千ものユーザー ID を作成する大規模な人材採用活動がある場合、動的メンバーシップ グループに対する更新、ライセンスの割り当て、およびセルフサービス パスワード リセットの登録が発生する可能性があります。 これらの書き込みは、数時間または数日に分散させることをお勧めします。
SQL データベースの因子
ソース Active Directory トポロジのサイズは、SQL データベースのパフォーマンスに影響します。 SQL Server データベースのハードウェア要件に従って、次の推奨事項について検討してください。
- ユーザーの人数が 10 万人を超える組織では、SQL データベースとプロビジョニング エンジンを同じサーバー上に共存させることで、ネットワーク待機時間を減らすことができます。
- SQL 名前付きパイプ プロトコルは、同期サイクルに大幅な遅延が発生し、SQL Native Clients と SQL Server Network の SQL Server Configuration Manager で無効にする必要があるため、サポートされていません。 名前付きパイプの構成変更は、データベースと ADSync サービスを再起動した後にのみ反映される点にご注意ください。
- 同期プロセスのディスク入出力 (I/O) の要件が高いため、最適な結果を得るには、プロビジョニング エンジンの SQL データベース用にソリッド ステート ドライブ (SSD) を使用してください。できない場合は、RAID 0 または RAID 1 構成を検討してください。
- 完全同期は事前には行わないでください。不要なチャーンが発生し、応答時間が遅くなります。
まとめ
Microsoft Entra Connect 実装のパフォーマンスを最適化するには、以下の推奨事項を考慮してください。
- Microsoft Entra Connect サーバーの実装サイズに応じた、推奨されるハードウェア構成を使用してください。
- 大規模なデプロイ環境内の Microsoft Entra Connect をアップグレードする場合は、スウィング移行の手法によって、ダウンタイムを最小限に抑え、最大限の信頼性を確保することを検討してください。
- 最適な書き込みパフォーマンスを得るためには、SQL データベース用に SSD を使用してください。
- Azure Backup を使用した ADSync データベースのバックアップは推奨されません。
- ドメイン、OU、または属性のフィルター処理で Active Directory のスコープを絞り込み、Microsoft Entra ID でのプロビジョニングを必要とするオブジェクトだけが含まれるようにしてください。
- 既定の属性フロー規則を変更する必要がある場合は、最初に規則をコピーしてから、そのコピーを変更し、元の規則を無効にしてください。 忘れずに完全同期を再度実行してください。
- 最初の完全同期の実行プロファイルの計画には、十分な時間を取ってください。
- 差分同期サイクルは 30 分で完了するよう努めてください。 差分同期プロファイルが 30 分で完了しない場合は、完全な差分同期サイクルが含まれるように既定の同期の頻度を変更してください。
- Microsoft Entra ID で Microsoft Entra Connect Sync の正常性を監視してください。
次のステップ
オンプレミス ID と Microsoft Entra ID の統合についての詳細情報を参照してください。