-
Notifications
You must be signed in to change notification settings - Fork 0
MS_CRMDeploymentManager
-
TOP > ビジネス・アプリケーション > Dynamics > Dynamics CRM
- CRMのインストールと構成
- CRMの展開マネージャを使用した管理
- CRMの展開の管理とトラブルシューティング
Use Deployment Manager to manage the deployment
https://technet.microsoft.com/ja-jp/library/dn920265.aspx
展開マネージャを使用して、次のような、展開全体の管理タスクを実行できる。
-
既存の組織の管理
- 作成 / インポート
- 参照・更新 / 削除
-
CRM 展開内のサーバの管理
-
ライセンス情報の表示
-
インターネット展開用の構成(IFD)
-
PowerShell を使用した展開タスクの実行
-
1 つの展開は
- 複数の Dynamics CRM サーバを持つ事ができる。
- 構成情報を「
MSCRM_CONFIG(構成データベース)」に格納する。 - 複数の組織「
OrganizationName_MSCRM(組織データベース)」を持つ事ができる。
(この機能は、Workgroup エディションでは利用できない)
-
展開マネージャは 1 つの展開のみ管理する。
補足(「展開」という単位): Dynamics CRM の
展開(deployment)= 1 つのMSCRM_CONFIGを共有するサーバ群である。
CRMのインストールと構成で
「SQL Server インスタンスごとに 1 つの展開がサポートされる」とあるのは、
MSCRM_CONFIGがインスタンスに 1 つだけ置けるためである。その中に**複数の組織(テナント)**を持てるのがサーバー エディションで、
Workgroup エディションでは 1 組織に限られる
(→ CRMのエディションとライセンス)。
次の項目の管理が可能な、
マイクロソフト管理コンソール(MMC)
のスナップインとして提供される。
- 展開管理者
- 組織
- サーバ
- プロダクトキー / ライセンス
-
インターネット展開用の構成(IFD)
- クレームベース認証の構成
- インターネットに接続する展開の構成
補足: MMC のスナップインであるため、
GUI が使えるサーバでしか動かない。
CRMのサーバ要件で
Server Core 構成がサポート外とされている一因である。
後述の PowerShell コマンドレットは、この制約を補うものと言える。
展開マネージャーを実行するには、展開管理者ロールが必要。
展開管理者ロールは
- セキュリティ・グループ(=ドメインのグループ)でも、
- セキュリティ・ロールでもないもよう。
-
展開管理者(ロール)が展開マネージャの実行権限を持つ。
-
2 人以上のユーザを割り当てる必要がある。
-
Dynamics CRM サーバのセットアップ実行ユーザが
始めに、自動的にこの展開管理者(ロール)のメンバに追加される。 -
セットアップ実行ユーザは後に、展開マネージャを使用して、
他のユーザを展開管理者(ロール)に追加できるようになる。
(AD DS でドメインのグループに追加するのではなく) -
組織単位(OU)には CRM で必要なセキュリティ・グループを追加するだけ。
-
セキュリティ・ロールではないので、
- 展開管理者は Dynamics CRM クライアント・アプリケーションで管理しない。
- 一般ユーザは、Dynamics CRM クライアント・アプリケーションで管理する。
-
展開管理者は組織に追加されていない場合、
クライアント・アクセス・ライセンスを必要としない。
補足(この「第 3 の権限体系」がわかりにくい理由): 著者が
「セキュリティ・グループでもセキュリティ・ロールでもないもよう」と
戸惑っているとおり、Dynamics CRM には3 系統の権限が並存する。
権限 管理場所 対象 AD のセキュリティ グループ Active Directory サービス間の権限( PrivUserGroup等)展開管理者ロール 展開マネージャ( MSCRM_CONFIGに格納)展開全体の管理 セキュリティ ロール CRM の Web アプリ(組織データベース) 業務データへのアクセス つまり展開管理者は組織より上の階層を管理する権限であり、
業務データを見る権限とは独立している。
「組織に追加されていなければ CAL 不要」というのはこの独立性の帰結で、
CRMのインストールと構成の
アクセスモード「管理」(CAL 不要)とも整合する。2 人以上を割り当てるという要件は、
1 人しかいない状態でそのアカウントが失われると
展開全体を管理できなくなるためで、
Azure 条件付きアクセスの
break-glass アカウントと同じ発想である。
- 展開管理者
https://technet.microsoft.com/ja-jp/library/dn920277.aspx- 新しい展開管理者の追加
- 展開管理者の削除
-
組織 → 新しい組織 → 組織の設定の指定
- 表示名
- 一意なデータベース名
- ISO 通貨コード
- SQL 照合順序
入力して → 次へ
-
カスタマー・エクスペリエンス向上プログラム → 入力して → 次へ
-
SQL Server を選択 → 入力して → 次へ
-
SSRS の URL を入力 → 入力して → 次へ
-
システムのチェック → 次へ
-
作成する準備ができました → 作成 → 完了
組織を無効にするとユーザがデータベースにアクセスできなくなるので、
データベースのメンテナンスを行う場合、組織を無効化する。
-
無効化
- 変更時
- 削除時
-
有効化
無効化の状態から元に戻す時。- 利用時
- 更新時
組織の編集ウィザードを使用する。
-
組織の変更
組織を無効化してから更新する。 -
組織の削除
組織を無効化してから削除する。 -
組織の更新
組織を有効化してから更新(Microsoft Update や、手動更新)する。- 必要に応じて組織データベースをバックアップする。
補足(「削除しても DB は残る」という設計): 展開マネージャの「削除」は
MSCRM_CONFIGから組織の登録を外すだけで、
実体の組織データベースは SQL Server 上に残る。
このため、誤って削除してもインポートで戻せる一方、
本当に消したいときは DB を別途削除する必要がある。
移行や再展開の手順が「削除 → インポート」で成立するのは、この性質による。
- 名前
- 状態(有効 / 無効)
- バージョン
- ロール(サーバのロール)
無効化により、当該役割の機能が使えなくなったり、
アプリケーションにアクセスできなくなることがある。
-
Web アプリケーション・サーバー
-
組織 Web サーバー
-
ヘルプ・サーバ
-
検出 Web サービス
-
展開 Web サービス
-
非同期処理サービス
-
非同期処理サービス(メンテナンス)
-
サンドボックス処理サービス
-
Dynamics CRM VSS ライター・サービス
-
以下は対象外
- 組織データベースの配置先の SQL Server
- レポート拡張機能の SSRS サーバ
移行メモ(正誤): 元ページの「SQL Serve」は「SQL Server」の脱字と判断し、補った。
削除により、当該役割の機能が使えなくなったり、
アプリケーションにアクセスできなくなることがある。
削除した役割の復元は、再インストールにより行う。
※ Internet Facing Deployment (IFD)
- クレームベース認証の構成
- インターネットに接続する展開の構成
- Microsoft Dynamics CRM の展開プロパティ
https://technet.microsoft.com/ja-jp/library/dn920275.aspx
-
セットアップ時に次の Web サービスの内部接続用の Web アドレスが確立される。
- Web アプリケーションサーバ
- 組織 Web サービス
- 検出 Web サービス
- 展開 Web サービス
-
IIS のバインディングやアドレスを変更した際は、
展開プロパティのページの[Web アドレス]タブで更新する。
(IIS の変更する設定を登録するのではなく、IIS で変更した設定を登録する。) -
フルサーバの場合、全て同じ Web アドレスになるが、
フロントサーバやバックエンドサーバの場合は異なるアドレスになる。 -
設定
展開マネージャーの[Dynamics CRM]の[プロパティ]の[Web アドレス]タブで、- バインディングの種類:HTTP または HTTPS
- Web アドレス:
address:port
補足(著者の括弧書きが要点): 「IIS の変更する設定を登録するのではなく、
IIS で変更した設定を登録する」という注意は重要である。
つまり、この画面は IIS を設定する画面ではなく、
IIS の現状を CRM に教える画面である。
手順としては IIS を先に変更 → 展開マネージャで追随の順になる。
逆順で操作すると、CRM が存在しないアドレスを参照して
アクセスできなくなる。
-
SSL オフロード ハードウェアの SSL ヘッダーを指定する。
-
展開マネージャーの[Dynamics CRM]の[プロパティ]の[Web アドレス]タブで、
[詳細]の[SSL ヘッダー]に SSL ヘッダーを入力する。
補足(SSL オフロードで必要になる理由): ロード バランサ等で
HTTPS を終端すると、CRM サーバには HTTP で届く。
このままだと CRM が「自分は HTTP で公開されている」と判断し、
リダイレクト先や生成する URL がhttp://になってしまう。
そこで、ロード バランサが付与するヘッダー
(X-Forwarded-Proto相当)を CRM に教えることで、
元の要求が HTTPS だったことを認識させる。
これは現在のリバース プロキシ構成でも共通する定番の設定である。
必要な CAL の概要が表示される。
- 展開マネージャーの[Dynamics CRM]の[プロパティ]の[ライセンス]タブ
- 製品 ID
- 管理ユーザ
- ライセンス
- Professional CAL
- Basic CAL
- Essential CAL
- サーバーライセンス
(インストールキーによってエディションが決まるため)
アップグレード ライセンスとプロダクト キーを入手し
展開マネージャで入手した新しいプロダクト キーを入力する。
サポートされているエディションのアップグレード パス
| 現在のエディション | アップグレード可能なエディション |
|---|---|
| Workgroup Trial | Server Trial、Workgroup or Server |
| Server Trial | Server |
| Workgroup | Server |
| Server | - |
以下の様なケース
-
評価、検証、テスト
- テスト環境
- アドオンの評価
- 外部コンサル用環境
- トレーニング用環境
-
構成の変更
- インフラの変更
- AD ドメインの再編成
- 複数のインスタンスを 1 つの展開に統合
組織データベースをドメイン間で移動する際、
展開マネージャのインポート ウィザードで
組織データベース内の CRM ユーザを
新しいドメインの AD の GUID にリンクさせる。
補足(なぜマップが要るのか): CRM のユーザ レコードは
AD アカウントの GUID(SID)で紐づいている。
ドメインが変われば GUID も変わるため、
DB を移しただけでは「誰のレコードか」が解決できなくなる。
これは AD 移行全般で起きる問題で、
Active Directory(移行)で扱う
SID 履歴の話と同じ構図である。
- 新しいドメインやフォレストに CRM をインストール。
- SQL Server や Exchange Server などのインストール(移行)
- 組織データベースをバックアップ
- 組織データベースのバックアップを "別の DB 名で?" リストア
- 展開マネージャで組織データベースをインポート
-
移行でも使用できるが、それについては、
CRMのアップグレード(2011→2013)を参照。 -
暗号化されている場合は、
レコードの暗号化を参照。
-
1 つの展開で複数の組織をサポートするのは、2013 Server Edition のみ。
Workgroup Edition にインポートする場合、既存の組織は削除される。 -
組織データベースが、まだ展開に含まれていないこと。
-
[SQL Server の選択]ページの[SQL Server]ボックスで
インポートする組織データベースが格納されている
SQL Server を実行するコンピュータ名を入力 or 選択 -
[組織データベース]ボックスの一覧でインポートする組織データベースを選択。
- [組織の設定の指定]ページ
- 表示名
- 一意なデータベース名
- [Reporting Service サーバーを指定]ページで、レポートサーバの URL を入力。
CRM ユーザー レコードとドメイン アカウント間のマップ。
ドメイン アカウントはインポートによって新規に作成されないので
事前にドメイン アカウントを作成しておく必要がある。
-
[ユーザーを自動的にマップする(推奨)]
- [ユーザー マッピングの編集]ページが表示される。
-
[カスタム マッピング オプションを選択する]
-
[既存のユーザーのマッピングの保持]
組織データベースを同一ドメイン内にインポートする場合 -
[ユーザーを手動でマップ]
ウィザードのページで各ユーザを手動でマップ -
[新しいマッピング ファイルの生成]
- XML を生成し、ウィザードを再起動。
- 下記の[既存のマッピング ファイルを使用]へ。
-
[ユーザーの自動マップ]
-
AD アカウント名
CRM ユーザー レコードと同じアカウント名の
ドメイン アカウントにマップする。 -
CRM のフルネームから AD フルネームへ
CRM ユーザー レコードと同じフルネームの
ドメイン アカウントにマップする。 -
[既存のマッピング ファイルを使用]
[新しいマッピング ファイルの生成]で
生成した XML にマッピングを設定。
-
-
補足(実務での進め方): 件数が多い場合は、
[新しいマッピング ファイルの生成]で XML を出し、
表計算などで機械的に対応表を作ってから読み込ませるのが確実である。
自動マップ(アカウント名一致 / フルネーム一致)は、
同姓同名や、命名規則が変わっている場合に誤マップする危険がある。
業務データの所有者が入れ替わると影響が大きいため、
件数が少なくてもマッピング結果は必ず目視確認したい。
-
[ユーザー マッピングの編集]ページには
インポートする組織データベース内のユーザの一覧が表示される。 -
各ユーザーについて、次の項目が一覧に表示される。
- 既存の Active Directory ユーザ名
- ユーザが属する CRM セキュリティ ロール
- 新しい Active Directory ユーザ名
-
新しい Active Directory ユーザ名がない場合は、
マップされていないユーザをマップする必要がある。
(元ページ未記載)
(元ページ未記載)
展開コマンドを実行して展開の構成を変更できる。
PowerShell は、展開ツールのサーバ役割をもつ CRM Server 上にインストールされる。
コマンドレットをセッションに登録
Add-PSSnapin Microsoft.Crm.PowerShellヘルプを取得
Get-Help *crm*詳細なヘルプは
Get-Help cmdletname -full例えば、Get-CrmOrganization のヘルプを取得するには、
Get-Help Get-CrmOrganization -full補足(PSSnapin であることの含意):
Add-PSSnapinを使っている点に注目したい。
PowerShell Module vs Snapin で述べたとおり、
PSSnapin は PowerShell 6.0 で廃止されている。
したがって、これらのコマンドレットは
Windows PowerShell 5.1 でしか動かない。
PowerShell Core へ統一しようとすると、
ここが移行の障壁になる典型例である。
-
Microsoft Dynamics CRM PowerShell Reference
https://technet.microsoft.com/library/dn833081.aspx -
Download Microsoft Dynamics CRM 2013 実装ガイド from Official Microsoft Download Center(英語の可能性あり)
https://www.microsoft.com/ja-jp/download/details.aspx?id=40322
- 本 Wiki 内
Tags: Dynamics CRM
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。