【IDM】AD FS 2.0 スタンドアロン と サーバーファーム の大きな違いは構成DB

なんか、もう、イロイロと飽きてきたので、BLOG に逃避中です。

AD FS 2.0 の構成を行おうとして最初につまずいたのが以下の画面だったのはどいつだ~い。あたしだよ。←近頃はやりのギャグ

image

両者の大きな違いを簡単に、そして栃木弁で書いてしまうと、

AD FS のサーバーが 1台が否が。

です。当然ですし、栃木弁も標準語もあまり変わらないことがわかります。

AD FS 2.0 のサイジングに関するドキュメントはまだ公開されていないのですが、8コア 2.2GHz のマシンが1秒間に発行できるトークンの数は 約200程度のようです。200K とか 200M じゃないですよ! 200 です。結構重たいですよね。

全社的に AD FS を展開する場合には、フロントの AD FS サーバーを増やしてロードバランス構成を考慮する必要があるでしょう。

さて、フロントのサーバーを増やしたら次にやらなければならないのは?

もちろんバックエンドのデータベースサーバーの強化です。性能はもちろんですが、AD FS の構成データベースには「承認」に関する重要なルールが定義されていますから、絶対に落としてはなりませんし、一時的にも殺してはなりません。Active Directory はマルチマスターで生きていても、AD FS のサーバーが死んだらクレームベースの承認ができなくなります。つまりアプリケーションにアクセスできなくなります。もともこもありません!

実は、データベースの観点でも スタンドアロン と サーバーファーム には違いがあります。

それは、

構成データベースとして製品版の SQL Server が使用できるか否か

スタンドアロンでは Windows Internal Database(WID)しか使用することができません。

サーバーファーム構成にした場合には、WID 以外に製品版の SQL Server を使用することができます。ただし、構成ウィザードでは SQL Server を指定することはできず、「FSConfig CreateSQLFarm」コマンドを使用して構成しなければなりません。

現バージョンでは、一度構成を完了した AD FS 構成データベースを WID から SQL Server に移行することができません!
ので注意が必要です。

SQL Server が使えるってことは…単体の性能が向上することはもちろんなのですが、クラスタ構成が作れる…という大きなメリットがありますし、データベースを別のサーバーに外出しすることができます。

簡単にまとめると以下の通りです。

※WID = Windows Internal Database

スタンドアロン

  • サーバー1台がフロントのAD FSサーバーと構成データベースを持つ
  • 構成データベースとして WID のみを使用可能

サーバーファーム + WID

  • フロントの AD FSサーバーを複数のサーバーでロードバランス可能
  • 最初にインストールした AD FS サーバーがプライマリとなり、WID の Read / Write が可能
    • プライマリは後からコマンドで変更することが可能
  • 2 台目以降の AD FS サーバーの WID は Read Only
  • 2 台目以降の AD FS サーバーは、規定で 5分に1回 プライマリの WID から構成情報を複製する
     Windows Internal Database
  • サーバーファームで WID を使用した場合には以下の機能が使用できない
    • SAML/WS-Federation Token Replay アタックの抑止
    • SAML アーティファクトプロファイル

いかがでしょう? サーバーファームで WID を使用すると、結構な制限がありますよね。ちなみに、プライマリの AD FS サーバーはPowerShell コマンドレットを使用して変更するとができます(Set-ADFSSyncProperties)。

サーバーファーム + SQL Server

  • フロントの AD FS サーバーを複数のサーバーでロードバランス可能(WID 使用時と同様)
  • 構成ウィザードを使用せずに 「FSConfig CreateSQLFarm」コマンドを使用する
    • コマンドのパラメタとして 接続文字列を指定できるので、外部サーバーをデータベースサーバーにすることが可能
  • 1台の構成データベースを全てのAD FSサーバーで共有
    • どの AD FSサーバーからでも構成変更が可能
      SQL Database
  • 製品版SQL Serverの機能はフルに活用できる(もちろんクラスタだってOK)

結論です。

AD FS を導入すっときは SQL Server のこども ちぃっと 気にしてみっぺよ