SEくぼたの事件簿

インフラSEとしての活動を記録していきます

Azure AD Connect (AADC) を SQL Server Express で利用する場合の制限値の確認方法

こんにちは。

 

最近はオンプレ AD と Azure AD を Azure AD Connect (AADC) を利用して同期しているっていう環境をよく見かけます。

AADC では、 別途購入した SQL Server を利用することも可能ですが、 AADC に同梱される SQL Server Express Local DB を利用するといったケースも多いかと思います。

 

しかし、 SQL Server Express Local DBを利用する際には、以下の制限があります。

  • Azure AD Connect には、ID データを格納する SQL Server データベースが必要です。 既定では、SQL Server 2019 Express LocalDB (SQL Server Express の簡易バージョン) がインストールされます。 SQL Server Express のサイズ制限は 10 GB で、約 100,000 オブジェクトを管理できます。 さらに多くのディレクトリ オブジェクトを管理する必要がある場合は、インストール ウィザードで別の SQL Server インストール済み環境を指定します。 SQL Server のインストールの種類により、Azure AD Connect のパフォーマンスに影響することがあります。

docs.microsoft.com

 

ここで疑問に思ったのが、 サイズ制限 10GB で役 100,000 オブジェクト管理できるというところ!

SQL Express のサイズ上限が 10 GB というのはよく聞きますが (聞かれてない方はすみません、、、そういう制約なのです)、約 100,000 オブジェクトとは???ってところにも手を出してみます。

 

というわけで!今回は

AADC にて Local DB を利用する際の制約」について記載します。

 

上記に記載の制約とのことだったので、以下 3 つに分けて確認していきます。

 

  1. SQL Express のサイズ上限 10 GB はどこをみたらよいのか
  2. 約 100,000 オブジェクトとはどこをみたらよいのか
  3. 約 100,000 オブジェクトとはどういうことか

 

========================================

1. SQL Express のサイズ上限 10 GB はどこをみたらよいのか

========================================

標準設定にて AADC をインストールすると、AADC のバージョンにもよりますが、以下のパスにデータベース ファイルが配置されます。

※ AADC Version 2.xx で確認しています。

C:\Program Files\Microsoft Azure AD Sync\Data\ADSync2019

 

このパスに ADSync.mdf というファイルがあり、これが実際のデータです。

f:id:KKubo19:20211207195114p:plain

このファイルが 10 GB 以内であれば OK ということですね!

結構簡単なお話です。

 

========================================

2. 約 100,000 オブジェクトとはどこをみたらよいのか

========================================

次に約 100,000 オブジェクトってなんだろうってことなのですが、

これは、 AD から Azure AD に同期をおこなっているユーザーやグループのオブジェクト総数ではないという点に注意です!!!!!

同期する数が 100,000 を切っていたらいいというわけではないんですね!

 

それは、 AADC が以下の構成になっていることに起因するようです。

f:id:KKubo19:20211207201003p:plain

 

AADC の Sync サービスでは、上記のとおり、各ディレクトリ(AD や Azure AD)と接続する [コネクタ スペース] とコネクタ スペースの情報をマージする [メタバース] に分かれています。

細かい情報が知りたい方は、以下の URL を見てみてください。

docs.microsoft.com

 

なので!!!!!純粋に自分が同期していると思っているオブジェクトだけでなくそれ以外にもオブジェクトがいるよ!!ってことなんだそうです!

そのため、メタバースとコネクタ スペースのオブジェクト数をカウントする必要があるみたいですね~!

 

  • オブジェクト数のカウント方法

1. AADC で Synchronization Service を起動します。

f:id:KKubo19:20211207201453p:plain

2. Tools から Statistics をクリックします。

f:id:KKubo19:20211207201858p:plain

3. コネクタ スペースごとのオブジェクト数やメタバースのオブジェクト数が確認できます。

下図の赤枠がオブジェクトの総数です。

f:id:KKubo19:20211207202021p:plain

これが 約 100,000 まで OK ということですね!!!

 

========================================

3. 約 100,000 オブジェクトとはどういうことか

========================================

なぜ約 100,000 オブジェクトになっているのか、、、、、超えたらどうなるの?って思いますね!

これは、SQL Server Express の 10 GB のサイズ制限によるもののようです!

つまり、 だいたい 100,000 オブジェクトだとデータベースのサイズが 10 GB くらいになるよってことのようです!

 

なので、 100,000 オブジェクト超えていたとしてもデータベース サイズが 10 GB 以内なら特に問題ないようです!!

 

  • まとめ

今回は AADC について調べてみました。

Azure AD への同期数が オブジェクト数と思っていると意外と違う!!ってことにびっくりしますね!

最初はコネクタ スペース とか メタバースってなんやねん!!!!!!って思うかもですが、そうやってできているんだなあ~っとぼんやり思っていただくだけでもよいかも!

興味がある方は、公開情報に細かく記載があるのでぜひ読んでみてください。

docs.microsoft.com

 

 

  • 最後に!

Twitterでも情報発信したいと思いますので、興味があったらフォローしてください!