WindowsServerでのRDS接続ブローカーの高可用性の設定
リモートデスクトップ接続ブローカー(RDCB) は、Windows Serverのリモートデスクトップサービス(RDS)の役割のコンポーネントです。 RD接続ブローカーを使用すると、RDSファームサーバーの負荷を分散し(RDSファームに接続すると、ユーザーは最も負荷の少ないRDSホストにリダイレクトされます)、VDIおよびRemoteAppsへのユーザーアクセスを提供し、ファーム内のRDSホスト構成を管理します。また、RDCBを使用すると、ユーザーは自分のセッションに再接続できます。RDSに接続するとき、RDCBは、ファームの他のサーバーに不完全なセッションがあるかどうかを確認し、前のセッションにリダイレクトします。
この記事では、フォールトトレラントな高可用性RD接続ブローカーインスタンスを構成する方法を示します。 RDCBロールを持つサーバーの1つに障害が発生した場合に備えて、その機能を維持します。 MS SQL Server 2019を実行しているデータベースサーバーは、リモートデスクトップ接続ブローカーのデータを格納するために使用されます。単一障害点を回避するには、RDCBSQLデータベースもフォールトトレラント構成で展開する必要があります。この例では、SQLAlwaysOn可用性グループが構成された2つのSQLServerノードを使用します。
RD接続ブローカーの高可用性要件とサポートされる構成:
- WindowsServer2022/2019を実行しているRD接続ブローカーの役割を持つ少なくとも2台のサーバー;
- RDCB SQLデータベースに高可用性を使用する場合は、SQL Server 2014以降(StandardまたはEnterpriseエディション)で少なくとも2つのホストが必要です。この例では、スタンドアロンのMS SQL Server2019Enterpriseインスタンスを各サーバーにインストールしました。 HA SQLデータベースを使用しない場合は、SQLExpressを備えた1台のサーバーで十分です。
- RDConnectionBrokerの役割を持つサーバーにSQLServerNativeClientをインストールします。
- SQLデータベースとSQLインストールフォルダの完全な制御をRDConnectionBrokerサーバーに付与します。
- ファーム内でリモートデスクトップセッションホストの役割を持つ少なくとも1台のサーバー。
2台のサーバーの高可用性RDCB構成を作成します。どちらにもRD接続の役割とSQLServerがインストールされます。 SQL Serverデータベースの高可用性と障害復旧は、SQLServerのAlwaysOnAvailabilityグループによって提供されます。
Windows Server 2012以降では、RDS接続ブローカーはアクティブ/アクティブモードで高可用性を提供します。このモードでは、すべてのRDCBサーバーがアクティブであり、着信接続を処理できます。これにより、大規模なリモートデスクトップ環境で高いRDCBの可用性とスケーラビリティを提供できます。
RD接続ブローカーの役割を持つすべてのサーバーに静的IPアドレスを割り当て、それらをActiveDirectoryドメインに参加させます。
-
srv-rds1.woshub.com
—192.168.13.20
-
srv-rds2.woshub.com
—192.168.13.21
Active Directoryに新しいセキュリティグループを作成します(MUN_RD_Connection_Brokers
)そしてそれにすべてのRDCBサーバーを追加します。 ADUCスナップイン(dsa.msc
)を使用してグループを作成できます )またはPowerShellを使用して:
New-ADGroup "MUN_RD_Connection_Brokers" -path 'OU=Groups,OU=Berlin,DC=woshub,DC=com' -GroupScope Global -PassThru –Verbose
グループに2つのRDSホストを追加します:
Add-AdGroupMember -Identity "MUN_RD_Connection_Brokers" -Members srv-rds1$,srv-rds2$
DNSにRDSファーム(この例ではMUNRDCB)のクラスター名のAレコードを作成します。 DNSレコードには、すべてのRDCBサーバーのIPアドレスが含まれている必要があります。これにより、RD接続ブローカーサーバー間の負荷分散(ラウンドロビン)が可能になります。次のエントリを作成しました:
- A —
MUNRDCB.woshub.com 192.168.13.20
(最初のRDCBサーバーのIPアドレス— srv-rds1.woshub.com) - A —
MUNRDCB.woshub.com 192.168.13.21
(2番目のRDCBサーバーのIPアドレス— srv-rds2.woshub.com)
PowerShellを使用してDNSにAレコードを作成できます:
Add-DnsServerResourceRecordA -Name MUNRDCB -IPv4Address 192.168.13.20 -ZoneName woshub.com
Add-DnsServerResourceRecordA -Name MUNRDCB -IPv4Address 192.168.13.21 -ZoneName woshub.com
SQLServerネイティブクライアントをインストールします RDCBの役割を持つすべてのサーバー。 SQLServerバージョンのSQLServerネイティブクライアントをMicrosoftWebサイトからダウンロードするか、SQL Serverインストールイメージ(D:\1033_ENU_LP\x64\Setup\x64\sqlncli.msi
)からコピーできます。 。
次に、 SQL Server Management Studioを実行します そして、共有接続ブローカーデータベースが作成される最初のSQLサーバーに接続します(後で、Always On高可用性グループに移動します)。
セキュリティを開く ->ログイン 新しいログインを追加します。 [検索]をクリックし、場所でドメインを選択します 、オブジェクトタイプを設定します =グループ、およびドメイングループ MUN_RD_Connection_Brokersを検索します 。
dbcreator
を割り当てます およびsysadmin
グループへの役割。
Windows DefenderFirewallでSQLServerポートを開きます(デフォルトでは、TCP1433ポートを使用してSQLServerに接続します)。
次に、サーバーにRDSの役割をインストールする必要があります。サーバーマネージャーコンソールを開き、[管理]->[役割と機能の追加]->リモートデスクトップサービスのインストールを選択します。 。
この記事では、スタンドアロンホストへのRDSロールのインストールについて説明します。
標準導入を選択します ->セッションベースのデスクトップ展開 。
RD接続ブローカーの役割をインストールするサーバーを1つ選択します。今すぐ2番目のサーバーにRDCBの役割をインストールする必要はありません。
同じサーバーにRDWebアクセスの役割をインストールします。両方のサーバーにRDセッションホストの役割をインストールします。
RDSロールのインストールが完了するのを待ちます。
ロールのインストールが完了したら、RDCBホストと「NTAUTHORITY\NETWORKSERVICE」アカウントをローカルのRDS管理サーバーに追加します。 両方のサーバーでグループ化します。
ファーム内の最初のサーバーにRD接続ブローカーの役割をインストールする際に、ローカルSQLデータベースがC:\Windows\rdcbDb\rdcms.mdf
に作成されます。 RD接続ブローカーサーバーのローカルドライブ上。
このデータベースは、ファームとターミナルのユーザーセッションに関する情報を保持します。ローカルコンピュータ上にあるため、他のRDCBサーバーは使用できません。 RDCB HAを提供するには、他のサーバーがアクセスできる専用のSQLサーバーに移動する必要があります。
RD接続ブローカーの高可用性の導入
RD接続ブローカーの役割を持つ2番目のホストをファームに追加する前に、ローカルRDCBデータベースを外部SQLServerに移行する必要があります。
ConnectionBrokerデータベースをローカルデータベースから専用のSQLServerに移動するには、サーバーマネージャー->リモートデスクトップサービス->概要を開きます。 。リモートデスクトップ接続ブローカーのフェイルオーバー構成ウィザードを実行するには、RD接続ブローカーの役割のイメージをクリックし、高可用性の構成を選択します。 。
次に、専用データベースサーバーを選択します 。 SQLServer接続設定を指定してローカルRDCBデータベースを移動します。
2つのフィールドに入力します:
- DNS RD接続ブローカークラスターの名前 :ラウンドロビンDNSレコードを作成したRDCBファームのFQDN名(この例では、
MUNRDCB.woshub.com
)。これは、RDPクライアントがRD接続ブローカーサーバーに接続するときに使用するアドレスです。 - データベース接続文字列 –SQLServerデータベースへの接続文字列を指定します。文字列の形式は次のとおりです。
DRIVER=SQL Server Native Client 11.0;SERVER=<SQL Server Name>;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=<DB Name>
この例では、SQL Server名はデータベースを作成するSQLサーバーの名前であり、DB名は新しいデータベースの名前です:DRIVER=SQL Server Native Client 11.0;SERVER=srv-rds2.woshub.com;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDCB_DB
RD接続ブローカーのHA構成を有効にすると、RDSファーム構成全体を廃止せずに内部RDCBデータベースに戻すことはできなくなります。
構成をクリックします 次のステップで。
次に、SQL ManagementStudioを使用してSQLServerインスタンスに接続し、新しいデータベースが RDCB_DBであることを確認します。 作成されました。
両方のRD接続ブローカーサーバーにデータベースへの書き込み権限を付与します。 [データベース]->[RDCB_DB]->[セキュリティ]->[ユーザー]->[新しいユーザー]を開きます。
2人の新しいユーザーを作成します:BUILTIN\RDS Management Servers
およびwoshub\MUN_RD_Connection_Brokers
。両方のdb_owner
を付与します およびpublic
特権。
最初のサーバーに障害が発生した場合に高可用性を提供するには、現在の構成に2番目のRD接続ブローカーサーバーを追加します。
RD接続ブローカーアイコンをクリックし、RD接続ブローカーサーバーの追加を選択します。 。
接続ブローカーの役割をインストールする2番目のサーバーの名前を入力し、[次へ]をクリックします。次に、RDCBロールを持つ2台のサーバーがRDSファームホストのリストに表示されます。 RD接続ブローカー(高可用性モード)も表示されます。 メッセージ。
これで、リモートデスクトップ接続ブローカーの高可用性構成が完了しました。
RD ConnectionBrokerHAのSQLServerフェールオーバー構成の構成
次に、SQLデータベースのフェイルオーバー構成をセットアップします。その間、それは1台のサーバーでのみ実行されています。 RD接続ブローカーデータベースをSQLクラスターに配置します。これは、従来のMicrosoftフェールオーバークラスターまたはSQLServerのAlwaysOn高可用性グループのいずれかです。
この記事では、SQLServer2019の基本的なAlwaysOn構成について説明します。ここでは主な手順のみを示します:
- フェイルオーバークラスタリングをインストールします 任意のファイルサーバー上で監視とクォーラムを使用して、2つのRDCBホストのSQL-RDSクラスターを役割および構築します(上記のAlways Onに関する記事で説明されています)。
- オプションを有効にする常にオンの可用性グループを有効にする SQLServer構成マネージャーで 両方のサーバーの設定;
- 新しい可用性グループウィザードを実行します;
- 可用性グループの名前を入力します( SQL-RDS );
- 高可用性グループ( RDCB_DB )に配置するデータベースを選択します );
- 2番目のSQLサーバーを高可用性グループに追加し、自動フェイルオーバーを確認します オプション;
- リスナーについて タブで、クライアントがデータベースへの接続に使用する名前とIPアドレスをAlways Onグループに入力します( SQL-RDSDB-liste );
- フェールオーバークラスターマネージャーを開きます スナップイン(
FailoverClusters.SnapInHelper.msc
)そして、新しいリソースが役割のリストに表示されていることを確認します。
次に、ConnectionBroker設定でRDCBデータベースを使用してSQLサーバーの接続文字列を変更します。 RDCB接続文字列は、PowerShellを介してのみ変更できます:
Set-RDDatabaseConnectionString [-DatabaseConnectionString] <String> [[-ConnectionBroker] <String>] [ <CommonParameters>]
私の例では、RDCBファームをSQLデータベースの高可用性グループに切り替えるコマンドは次のようになります。
Set-RDDatabaseConnectionString -ConnectionBroker srv-rds1.woshub.com -DatabaseConnectionString "DRIVER=SQL Server Native Client 11.0;SERVER=SQL-RDSDB-liste;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDCB_DB"
コマンドがエラーを返さない場合は、すべて問題ありません。これで、RDS接続ブローカークラスターがSQLAlwaysOn可用性グループを使用するように構成されました。
RDSファーム設定を開き、HAに新しい接続文字列が使用されていることを確認します([タスク]-> [展開プロパティの編集])。
そのため、WindowsServer2022/2019で高可用性RDS接続ブローカーサービスを作成しました。 RDSファーム内のホストの1つをシャットダウンすることで、RDCBの高可用性をテストできます。
次に、RDSファームの構成を続行し、RDSライセンスサーバーを展開し、RDSHサーバーを追加し、RDSコレクションを設定し、RemoteAppを公開し、RDS用のHTML5Webクライアントを有効にします。
-
SSMSを介してSQLServerに接続する方法
みなさん、こんにちは。前回の記事では、Microsoft SQL Serverをインストールしました。SSMS(SQL Server Management Studio)は、SQLServerの操作をサポートするインターフェイスツールです。 また、前の投稿の内容を継続するために、この次の記事では、SSMSを介したSQLServerへの接続に参加します。では、今すぐ始めましょう! #first。 SQL ServerManagementStudioを起動します +ステップ1:最初にSSMSを開きます。開くには、さまざまな方法があります。タスクバーで検索するか、デスクトップでショートカットを作
-
SQLServerデータベースをAWSRDSインスタンスに移行します
このブログでは、オンプレミス(またはAmazon®EC2またはAzure®)でホストされているMicrosoft®SQLServer®データベースをAmazon Relational DatabaseService(RDS)に移動する方法について説明します。この移動には、SQLデータベースをAWS S3bucketにバックアップし、そのS3バケットからAWSRDSインスタンスのデータベースを復元する必要があります。 はじめに 以前のバージョンのAmazonRDSインスタンスでは、 .bakからデータを復元できませんでした ファイル。その結果、ユーザーはAmazon Data Migratio