Dynamics CRM 2013 ネットワーク負荷分散を前提に環境を構築する

みなさん、こんにちは。

今日は管理者の方向けの情報として、ネットワーク負荷分散を想定した
Microsoft Dynamics CRM 2013 の導入と構成を紹介します。

概要

ネットワーク負荷分散は、スケーラビリティだけでなく、高可用性を
実現する上でも重要な機能です。しかし初めは 1 台の CRM サーバーと
1 台のデータベースサーバーのみで運用を開始する場合も珍しくなく、
需要があれば初めてネットワーク負荷分散を導入するケースが多いです。

しかし、その場合以下の問題が発生します。

- DNS の変更
- Microsoft Dynamics CRM の URL 変更
- アプリケーションプールアカウントの変更
- アプリケーションプールの権限追加
- IIS 設定の変更
- SPN の登録
- SDK や Outlook クライアントの接続情報の更新
- 動作確認

ネットワーク負荷分散を利用しない状況下においても、事前に準備を
しておくことは決して無駄にはなりません。

導入と構成方法

まずインストール前に行う準備を紹介します。

DNS の変更

ネットワーク負荷分散を利用する場合、接続先 URL は仮想名を利用する
事になります。事前に仮想名を検討していただき、DNS に仮想名を登録
します。実際にネットワーク負荷分散装置を利用する場合は、解決先の
IP アドレスとして装置の IP アドレスを指定しますが、1 台構成の場合は
CRM サーバーの IP アドレスを指定します。

アプリケーションプール用のドメインアカウント作成

複数サーバーで負荷分散を行う場合、常に同じサーバーに接続される
とは限らないことから、サービスの実行アカウントに同じアカウントが
必要になります。よく使われる Network Service アカウントは実際には
コンピュータアカウントとなるため、専用のドメインユーザーを別途
用意してください。

尚、各サービスに割り当てるドメインアカウントは、セキュリティ観点
から、別々のユーザーにすることを強く推奨します。また各アカウント
には最小限の権限を付与します。

サービスアカウントに必要な最小の権限は、以下を参照してください。

https://technet.microsoft.com/ja-jp/library/hh699825.aspx

ServicePrincipalName (SPN) の追加

サービスアカウントにドメインアカウントを利用し、そのアカウントで
認証を行う場合、SPN を登録する必要があります。登録方法は以下の
ページにある、「SPN を構成するには、以下の手順を実行します。」を
参照してください。

https://technet.microsoft.com/ja-jp/library/hh699803(v=crm.6).aspx#BKMK_Step2Configure

以上で事前に準備は完了です。次にインストール時の作業です。

作成したドメインアカウントをサービスで指定する

インストールウィザードで、各種サービスに割り当てるユーザーを選択
する画面が表示されます。事前に作成したアカウントを割り当てます。

最後にインストール後の作業です。

Internet Information Service (IIS)設定の変更

IIS の認証において、アプリケーションプールのアカウントを利用して
認証を構成する方法はいくつかありますが、一般的にはカーネルモード
認証を利用ことがパフォーマンス面で有利とされています。

その場合は、Microsoft Dynamics CRM 仮想サイトにある Web.config の
<system.webServer><security><authentication><windowsAuthentication>
を以下のように書き換える必要があります。

<system.webServer>
<security>
<authentication>
<windowsAuthentication enabled="true" useAppPoolCredentials="true" />
</authentication>
</security>
</system.webServer>

展開マネージャーの設定変更

Microsoft Dynamics CRM をインストールすると、既定でサーバー名が
各種 URL に利用されます。以下情報の 「NLB の展開用設定」 を参照し
適切な仮想名に変更してください。

https://technet.microsoft.com/ja-jp/library/hh699803(v=crm.6).aspx#BKMK_Step4Configure

テスト

全ての構成が完了したら、仮想名を利用したテストを行ってください。

- ブラウザでの操作
- Outlook クライアントの構成
- SDK の実行

まとめ

はじめからネットワーク負荷分散の利用を想定した構築を行うことは
テストのやり直し回避や、後で発生する問題を事前に特定できるなど
メリットが多くあります。開発機でも本番同様の構成を行うことで、
本番に移行後発生する問題数を減らすことができます。

是非、お試しください。

- 中村 憲一郎