RD 接続ブローカー高可用性環境の標準的な構築手順について

Last Update: feedback 共有

本記事はマイクロソフト社員によって公開されております。

こんにちは、Windows サポートチームの佐々木です。

本記事では RD 接続ブローカー高可用性環境 (High Availability) の標準的な構築手順についてご紹介いたします。
RD 接続ブローカーの高可用性について検討中の場合は、本記事が参考となれば幸いです。
なおご案内する手順については Windows Server 2012 以降のリモート デスクトップ サービス環境を対象としています。

1. RDCB HA 構築前の準備
2. RDCB HA 環境を構築する
3. Windows Server 2016 からの新機能について (共有データーベース (SQL 認証))
4. FAQ

1. RDCB HA 構築前の準備

RD 接続ブローカーの高可用性環境 (以降 RDCB HA) を構築するには、Active Directory や SQL サーバーが必要となります。
RDCB HA 環境の構築を行う前に構築対象のサーバーは予めドメインに参加し、データベースとして構築済みの SQL サーバーを用意して頂くようお願いします。
本手順では以下の構成を例として作業を進めて行きます。

a. 事前準備が必要なサーバー

•TEST-DC (ドメイン コントローラ)
•TEST-DC (DNS サーバー)
•TEST-SQL (SQL サーバー)
※ RD 接続ブローカー高可用性環境で利用する SQL サーバーの照合順序は、大文字と小文字を区別しない照合順序のみがサポートされています。
参考情報:照合順序の大文字と小文字の区別SQL Server確認する

b. 本手順で構築するサーバー

•RDCB01 (RD 接続ブローカー)
•RDCB02 (RD 接続ブローカー)
•RDSH (RD セッションホスト)
•RDWEB (RD Web アクセス)

c. 構築に必要なその他設定

•SQL サーバーが TCP 1433 で通信可能な状態であること
•データベースにアクセス可能なドライバー (※)が 2 台の RD 接続ブローカー用サーバーにインストール済みであること
※ODBC Driver, SQL Server Native Client など
Download ODBC Driver for SQL Server

2. RDCB HA 環境を構築する

– 手順
1) 基本的な RDS 環境を構築する (RDCB01)
2) RD 接続ブローカーをセキュリティ グループに追加する (TEST-DC)
3) RD 接続ブローカーのラウンドロビン用レコードを作成する (TEST-DC)
4) データベースへの認証権限を追加する (TEST-SQL)
5) RD 接続ブローカーの高可用性設定を行う (RDCB01)
6) データベースにメンバーシップを追加する(TEST-SQL)
7) 2 台目の RD 接続ブローカーを追加する (RDCB01)
※ ( ) 内は操作対象サーバー

1) 基本的な RDS 環境を構築する (RDCB01)

——————————————————————
※以下の手順は標準的な RDS 環境構築手順となるため既に実行済みであれば先へ進んでください
1.1. RDCB01 にドメインの管理者ユーザーでログオンします。
1.2. サーバー マネージャーを起動します。
1.3. 左ペインの [すべてのサーバー] を右クリックして [サーバーの追加] をクリックします。
1.4. “RDCB02”,”RDSH” そして ”RDWEB” を検索し、選択済みに移動して [OK] をクリックします。
1.5. サーバー マネージャーの [管理] – [役割と機能の追加] をクリックします。
1.6. ウィザードを進め [リモート デスクトップ サービスのインストール] にチェックし [次へ] をクリックします。
1.7. 展開の種類にて [標準の展開] にチェックし [次へ] をクリックします。
1.8. 展開シナリオにて [セッション ベースのデスクトップ展開] をチェックし [次へ] をクリックします。
1.9. 役割サービスにて [次へ] をクリックします。
1.10. RD 接続ブローカーにて RDCB01 を指定し [次へ] をクリックします。
※この時点で RDCB02 は選択済み欄には追加しません
1.11. RD Web アクセスにて RDWEB を指定し [次へ] をクリックします。
1.12. RD セッション ホストにて RDSH を指定し [次へ] をクリックします。
1.13. 確認にて ”必要に応じてターゲット サーバーを自動的に再起動する” にチェックして [展開] をクリックします。
1.14. 各役割のインストールが実行され、RDSH は再起動が実施されます。

2) RD 接続ブローカーをセキュリティ グループに追加する (TEST-DC)

———————————————————————-
2.1. TEST-DC に管理者ユーザーでログオンします。
2.2. [スタート] – [管理ツール] – [Active Directory ユーザーとコンピュータ] と展開します。
2.3. セキュリティ グループを追加する OU を選択し右クリックから [新規作成] – [グループ] をクリックします。
2.4. 任意のグループ名を指定しスコープを [グローバル] グループの種類を [セキュリティ] として [OK] をクリックします。
※RDCBGroup を例としてセキュリティ グループを作成して作業を進めて行きます。
2.5. 作成したセキュリティ グループを右クリックし [プロパティ] をクリックします。
2.6. [メンバー] タブを開き [追加] ボタンをクリックします。
2.7. [オブジェクトの種類」 ボタンをクリックし、[コンピュータ] にチェックをいれ [OK] をクリックします。
2.8. 選択するオブジェクト名の入力欄に、RDCB01 を指定し [OK] をクリックします。
2.9. 同様に RDCB02 もメンバーに追加し、プロパティを終了します。
2.10. セキュリティ グループに反映させるために、RCCB01 と RDCB02 を再起動します。

3) RD 接続ブローカーのラウンドロビン用レコードを作成する (TEST-DC)

———————————————————————-
3.1. TEST-DC に管理者ユーザーでログオンします。
3.2. [スタート] – [管理ツール]- [DNS] を起動します。
3.3. [DNS マネージャー] の左ペインから [前方参照ゾーン] – [ドメイン名] を展開します。
3.4. [ドメイン名] を選択している状態から右クリック、[新しいホスト (A または AAAA)] を選択します。
3.5. [名前] にRD 接続ブローカー高可用性用の任意の名前を指定します。
※ 例として RDCB を指定して作業を進めていきます。
3.6. RDCB01 の IP アドレスを入力し [ホストの追加] をクリックします。
3.7. 同じく手順 3.4 から進め、名前に RDCB を指定し RDCB02 の IP アドレスを指定します。

4) データベースへの認証権限を追加する (TEST-SQL)

———————————————————————-
4.1. TEST-SQL に管理者ユーザーでログオンします。
4.2. スタート メニューから [SQL Management Studio] を起動します。
4.3. 接続画面で、データベース エンジンに接続します。
4.4. 左ペインのオブジェクト エクスプローラで [セキュリティ] – [ログイン] を選択し右クリック、[新しいログイン] をクリックします。
4.5. 左ペインの [全般] をクリックします。
4.6. [ログイン名] で [検索] ボタンをクリックします。
4.7. [オブジェクトの種類] ボタンをクリックし [グループ] にチェックをいれ、[OK] ボタンをクリックします。
4.8. [場所] ボタンをクリックし [ディレクトリ全体] からドメイン名を選択します。
4.9. 選択するオブジェクト入力欄に、手順 2 のセキュリティ グループ名 (例:RDCBGroup) を入力し [OK] をクリックします。
4.10. 左ペインの [サーバー ロール] を選択します。
4.11. [dbcreator] にチェックを入れ [OK] ボタンをクリックします。

5) RD 接続ブローカーの高可用性設定を行う (RDCB01)

———————————————————————-
5.1. ドメインの管理者ユーザーで RDCB01 にログオンします。
5.2. [サーバー マネージャー] を起動し、[リモート デスクトップ サービス] – [概要] を展開します。
5.3. [展開の概要] の RD 接続ブローカーアイコンを右クリックし、[高可用性の構成] をクリックします。
※Windows Server 2016 の場合はデータベースのオプションを指定します。
以下の作業手順は [専用データベース サーバー] を選択して進めます。
5.4. 高可用性の構成にて必要な情報を入力し[次へ] をクリックします。
5.5. [構成] をクリックします。
5.6. 構成の成功後 [閉じる] をクリックします。

データベース接続文字列: (※)
DRIVER=ODBC Driver 13 for SQL Server;SERVER=<SQLサーバー名>;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=<任意のデータベース名>

DRIVER=SQL Server Native Client 11.0;SERVER=<SQLサーバー名>;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=<任意のデータベース名>
※”DRIVER=” 以降はインストール済みのドライバーにより変更してください。

データベース ファイルの保存先フォルダー :
<データベース ファイルの保存先パス>

DNS ラウンド ロビン名:
<DNS ラウンドロビン名>

例)

データベース接続文字列 :
DRIVER=ODBC Driver 13 for SQL Server;SERVER=TEST-SQL;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDCBDatabase

データベース ファイルの保存先フォルダー :
C:\RDCBDatabase

DNS ラウンド ロビン名:
RDCB.contoso.com

6) データベースにメンバーシップを追加する(TEST-SQL)

———————————————————————-
6.1 TEST-SQL に管理者ユーザーでログオンします。
6.2 スタート メニューから [SQL Management Studio] を起動します。
6.3 サーバーへの接続画面で、データベース エンジンに接続します。
6.4 左ペイン [セキュリティ] – [ログイン] – 手順 4) で追加したセキュリティ グループ (例 RDCBGroup) を選択します。
6.5 右クリックし、表示されるメニューから [プロパティ] をクリックします。
6.6 左ペインの [ユーザー マッピング] をクリックします。
6.7 作成した RDCB HA 用のデータベース名にチェックをします (例 RDCBDatabase)
6.8 画面下のデータベース ロール メンバーシップから “db_owner” にチェックをいれます。
6.9 [OK] をクリックします。

7) 2 台目の RD 接続ブローカーを追加する (RDCB01)

———————————————————————-
7.1. ドメインの管理者ユーザーで RDCB01 にログオンします。
7.2. [サーバー マネージャー] を起動し、左ペイン [リモート デスクトップ サービス] – [概要] を展開します。
7.3. [展開の概要] の RD 接続ブローカーを右クリックし、[RD 接続ブローカー サーバーの追加] をクリックします。
7.4. ウィザードを進め [サーバーの選択] にて RDCB02 を指定し [次へ] をクリックします。
7.5. 確認にて [追加] をクリックします。
7.6. RDCB02 に RD 接続ブローカーの役割がインストール後 [閉じる] をクリックします。

3. Windows Server 2016 からの新機能について (共有データーベース (SQL 認証))

Windows Server 2012 R2 よりも以前の RD 接続ブローカーの高可用性を設定する際には SQL Server への接続は既定で Windows 認証が使用されました。
Windows Server 2016 以降の RD 接続ブローカーでは SQL 認証を使用した SQL Server へのアクセスも行えるようになりました。その手順について以下にてご紹介します。

RDCB HA 環境を構築する

手順
1) 基本的な RDS 環境を構築する (RDCB01) <——- Windows Server 2012 R2 以前と同様
2) RD 接続ブローカーをセキュリティ グループに追加する (TEST-DC) <——- “共有データベース” を使用する場合は不要
3) RD 接続ブローカーのラウンドロビン用レコードを作成する (TEST-DC) <——- Windows Server 2012 R2 以前と同様
4) データベースへの認証権限を追加する (TEST-SQL)<——- “共有データベース” を使用する場合は不要
4) 移行先のデータベースおよび接続用アカウントの作成 (TEST-SQL)
5) RD 接続ブローカーの高可用性設定を行う (RDCB01)
6) データベースにメンバーシップを追加する(TEST-SQL)<——- “共有データベース” を使用する場合は不要
7) 2 台目の RD 接続ブローカーを追加する (RDCB01) <——- Windows Server 2012 R2 以前と同様

以下では、
4) 移行先のデータベースおよび接続用アカウントの作成 (TEST-SQL)
5) RD 接続ブローカーの高可用性設定を行う (RDCB01)
の手順についてご紹介します。

4) データベースへの認証権限を追加する (TEST-SQL)

———————————————————————-
4.1. TEST-SQL に管理者ユーザーでログオンします。
4.2. スタート メニューから [SQL Management Studio] を起動します。
4.3. 接続画面で、データベースエンジンに接続します。
4.4. 左ペインのオブジェクトエクスプローラで [セキュリティ] – [ログイン] を選択し右クリック、[新しいログイン] をクリックします。
4.5. 各選択項目は以下の項目を選択し、ログオン名には任意の名前を入力し、 [OK] ボタンをクリックして接続用のユーザーを作成します。

4.6. 左ペインのオブジェクト エクスプローラで [データベース]を選択し右クリック、[新しいデータベース] をクリックします。
4.7. 任意のデーターベース名を入力し、”所有者” は先ほど作成したユーザーを選択します。(例: rdsuser)
4.8. [OK] ボタンをクリックしてデータベースを作成します。

5) RD 接続ブローカーの高可用性設定を行う (RDCB01)

———————————————————————-
5.1. ドメインの管理者ユーザーで RDCB01 にログオンします。
5.2. [サーバー マネージャー] を起動し、[リモート デスクトップ サービス] – [概要] を展開します。
5.3. [展開の概要] の RD 接続ブローカーアイコンを右クリックし、[高可用性の構成] をクリックします。
5.4. [構成の種類] で [共有データベース サーバー] を選択して進めます。

5.5. [RD 接続ブローカー クラスターの DNS] には “3) RD 接続ブローカーのラウンドロビン用レコードを作成する (TEST-DC)” で作成したラウンドロビン用の FQDN を指定します。
[データベースの設定] - [接続文字列] には SQL Server への接続用の接続文字列を指定します。

RD 接続ブローカー クラスターの DNS 名:
<RD 接続ブローカー クラスターの DNS 名>

データベース接続文字列: (※)
DRIVER={ODBC Driver 17 for SQL Server};SERVER=<SQLサーバー名>;APP=Remote Desktop Services Connection Broker;DATABASE=<作成したデータベース名>;Pwd=<接続ユーザーのパスワード>;UID=<接続ユーザー名>
※ “DRIVER=” 以降はインストール済みのドライバーにより変更してください。
※ “Pwd=” は接続文字列の末尾へは記載しないでください。
※ “Pwd=” は “P” のみ大文字で “wd” は小文字で指定してください。

例)

RD 接続ブローカー クラスターの DNS:
RDCB.contoso.com

接続文字列)
DRIVER={ODBC Driver 17 for SQL Server};SERVER=TEST-SQL.contoso.com;APP=Remote Desktop Services Connection Broker;DATABASE=rdsdb;Pwd=rdspassword123;UID=rdsuser

5.6. [次へ] - [構成] をクリックします。
5.7. 構成の成功後 [閉じる] をクリックします。

4. FAQ

Q. RD 接続ブローカーから指定する SQL のデータベースが名前付きインスタンスの場合に構築に失敗する事がある。
A. SQL のデータベースが名前付きインタンスの場合 SQL サーバーが TCP/UDP 1434 で通信可能である必要があります。
ポート設定後も構築に失敗する場合は、次の公開情報に合致している可能性があるためご確認をお願いします。
Communication issues occur when Remote Desktop Connection Broker connects to SQL Server in Windows Server 2012 R2

Q. SQL サーバーを高可用性としている場合に構築に失敗する事がある。
A. SQL サーバーが高可用性環境の場合、接続文字列に SQL Cluster Name を指定する必要があります。
こちらの公開情報を参考に接続文字列を指定して下さい。
Configure Remote Desktop Connection Broker in Windows Server 2012 with SQL Server 2012 High Availability

———————-
参考:
Windows Server 2012: Deploying RD Connection Broker High Availability
Add the RD Connection Broker server to the deployment and configure high availability
Windows Server 2012: Deploying RD Connection Broker High Availability