GeoSync
このセクションの内容
GeoSync
GeoSync は、個人設定サーバ SQL Server サーバ データベース間で、ユーザデータと Environment Manager 個人設定を同期するための方法を提供します。これにより、ユーザは、複数の場所で、データと設定にアクセスできるため、ログオンする場所に関係なく、一貫した経験を得られます。行われた変更は、次回の同期でパブリッシャに同期されます。
GeoSync では2つ以上の個人設定サーバが必要です。1つはパブリッシャ、もう1つはサブスクライバとして機能します。Environment Manager がインストールされるときに提供される PowerShell コマンドレットを使用して、パブリッシャとサブスクライバが関連付けられます。サブスクライバは Environment Manager コンソールの個人設定グループに割り当てられ、同期されるデータベースを決定します。
ユーザ データの変更はパブリッシャとサブスクライバ間で同期され、最新の変更が利用可能であることが保証されます。ユーザデータの発行は双方向同期ですが、構成はパブリッシャからサブスクライバへ単方向で同期されます。これにより、一元化された構成管理が可能となります。管理者がパブリッシャ データベースで構成を更新すると、次回のスケジュールされた同期でそれがサブスクライバにレプリケーションされます。
たとえば、組織の事業所が世界中に点在していて、独自の個人設定 データベースが使用されているという場合があります。オフィス間を頻繁に移動する担当者は、GeoSync が毎日同期するように構成された個人設定グループによって管理されます。このデータは最新の状態に保たれ、ログインするたびに使用できます。
構成のみの同期を実行できます。これは、複数のデータベースで1つの構成を管理する組織で有用です。構成のみを同期することを選択できます。組織は、複数のデータベースで1つの構成を使用する場合に、構成専用の同期を使用できます。構成の格変更は、すべての必要なサブスクライバにすばやく同期できます。ユーザ データには影響しません。
サブスクライバに接続された Environment Manager コンソールで表示すると、パブリッシャからの同期された構成項目は、紫色で強調表示されています。同期された項目はサブスクライバで編集できません。
個人設定サーバ データベースの高可用性または災害復旧については、当社の現在のベストプラクティス ガイド DOC-46245を参照することをお勧めします。
お客様の環境によっては、異なる設定手順が必要になることがあります。次に、GeoSync によってサポートされる3つのシナリオを示します。
新しいサブスクライバ データベース
新しいサブスクライバ データベースでは、次のセクションの手順に従います。新しいサブスクライバで、ローカル専用の個人設定グループを設定しようとしている場合 (パブリッシャで GeoSyn によって管理されないサブスクライバの個人設定グループ) は、GeoSync が正常に構成され、サブスクライバがパブリッシャと同期した後に、個人設定グループを作成する必要があります。
既存のサブスクライバ データベース
既に個人設定およびデータが含まれているサブスクライバで GeoSync を設定する予定の場合は、構成とデータが既にパブリッシャに存在している必要があります。つまり、サブスクライバがパブリッシャのバックアップであるか、データベースが以前に SQL Server マージ レプリケーションで同期されている状態です。
上記のシナリオでは、次の追加の手順が必要です。
注意 パブリッシャにない構成またはデータを含む既存のサブスクライバで GeoSync を設定すると、データが失われます。これは、このリリースではサポートされていません。リモート サブスクライバで、ローカル専用の個人設定グループを使用する場合は、GeoSync が構成された後に設定してください。
- 「パブリッシャとサブスクライバの関連付け」の説明に従い、パブリッシャとサブスクライバを関連付けます。
- パブリッシャの個人設定 コンソールで、個人設定グループの GeoSync を構成します。
-
コンソールから初期同期を実行します。
サブスクライバで重複する Windows 設定グループ (WSG) が特定された場合は、手順5に進みます。
重複が特定されない場合は、構成が完了しました。リストの WSG では、GeoSync の同期ができません。
- 現在の ProfileCleanUpDelayDays 詳細設定を書き留め、サブスクライバで -1 に変更します。これにより、バックグラウンド サービスが日次ジョブを実行する場合に、GeoSync の設定中に孤立した WSG をクリーンアップしないことが保証されます。
- サブスクライバで、特定された WSG を削除します。ただし、サブスクライバからアプリケーション グループを削除しないでください。
-
手順3を再実行します。
初期同期が正常に完了した後、サブスクライバの WSG は重複が復元され、同期された個人設定グループに関連付けられていると特定されます。
- ProfileCleanUpDelayDays 設定を元の値に復元します。
GeoSync サブスクライバとしてのサテライト データベース
この手順では、大規模なマスター データベースから一部またはすべての構成をエクスポート (インポート/エクスポート機能を使用) して、個人設定サーバ データベースが作成され、少数のユーザによってリモートで使用されている状況について説明します。お客様は、GeoSync を使用して、マスターとサテライトをそれぞれ GeoSync パブリッシャとサブスクライバにすることで、自動的にマスターとサテライト間でユーザのサブセットを同期したいと考えています。既存のマージ レプリケーション スクリプトでは、すべてのデータベースが同期されるため、これは不可能です。
このシナリオの詳細については、「GeoSync サブスクライバとしてのサテライト データベース」をご参照ください。
パブリッシャとサブスクライバの関連付け
ConfigureGeoSync.ps1 スクリプトを使用して、パブリッシャの GeoSync を設定し、サブスクライバを関連付けます。Environment Manager インストール中に提供されたコマンドレットを使用して、設定を実行することもできます。既存のパブリッシャへの新しいサブスクライバの追加といった一部の処理は、コマンドレットのみを使用して実行できます。
GeoSync コマンドレットの詳細な使用方法と、生成されたスクリプトでの使用方法については、「GeoSync コマンドレット」をご参照ください。
既定の SQL 言語日付
SQL 構成者アカウントの既定の日付形式は、米国の日付形式 (mm/dd/yyyy) と一致している必要があります。
基礎になる SQL スクリプトは、米国の日付形式になっている必要があります。別の日付形式を使用すると、ConfigureGeoSync.ps1スクリプトが失敗してエラー メッセージが表示される原因となります。
構成者アカウントの言語設定は、[Microsoft SQL Server Management Studio] > [セキュリティ] > [ログイン] > [構成者アカウント] > [プロパティ] を右クリック > [全般] ページ > [既定の言語] で確認できます。
詳細については、こちらの記事をご参照ください。
SQL Express ユーザ: 以下のプロセスを実行する前に、SQL Server Configuration Manager で TCP/IP プロトコルを有効にする必要があります。これは、パブリッシャとサブスクライバの両方に適用されます。
- 管理者として Windows PowerShell を実行します。
cd "C:\Program Files\AppSense\Environment Manager\Personalization Server\Support"
と入力して、スクリプトの場所を設定します。.\ConfigureGeoSync.ps1
と入力します。- プロンプトが表示されたら、次の詳細情報を入力します。
- パブリッシャ サーバ\インスタンス
- パブリッシャ データベース名
- 構成者アカウント - Windows 認証資格情報を使用している場合は、ドメイン名を含め、空欄にして、現在のログインユーザを使用します。
- パブリッシャ表示名 - これは任意です。空欄にすると、SQL Server 名を使用します。
- サブスクライバ サーバ\インスタンス
- サブスクライバ データベース名
- サブスクライバ表示名 - これは任意です。空欄にすると、SQL Server 名を使用します。
- サービス アカウント - Windows 認証資格情報を使用している場合は、ドメイン名を含めます
成功すると、構成が完了したという確認が表示されます。必要に応じて、その他のサブスクライバを構成できます。
-
Y
を入力して別のサブスクライバを追加するか、N
を入力して終了します。
個人設定グループの GeoSync を構成する
個人設定グループのサブスクライバを選択し、条件を追加して、同期タイプを構成します。
-
個人設定グループを選択します。
GeoSync が正常に構成された場合は、GeoSync タブが表示されます。Environment Manager 構成を更新しなければならない場合もあります。
- [GeoSync] タブを選択します。
-
[追加] をクリックして、[表示名] ドロップダウンから任意のサブスクライバを選択します。
すべての構成されたサブスクライバを選択できます。
- 必要に応じて、[構成のみ] チェックボックスをオンにします。
-
任意で、ユーザ条件を個人設定グループに追加します。
これにより、個人設定グループ メンバーシップ ルール以外に、さらに同期の対象を設定することができます。
-
[変更の保存] をクリックします。
GeoSync を個人設定グループ用に設定されます。
同期とスケジュールの管理
サブスクライバの同期スケジュールを構成、編集、キャンセルするか、手動で同期を開始します。
- Environment Manager コンソールでは、パブリッシャの個人設定サーバに接続します。
-
[管理] > [GeoSync] を選択します。
GeoSync ダイアログには、使用可能なサブスクライバが表示されます。既に GeoSync 用に設定された個人設定グループはサブスクライバの下に一覧表示されます。このダイアログには、同期ステータス、前回と次回のスケジュールされた同期の詳細、各サブスクライバの同期タイプが表示されます。
- サブスクライバの省略記号をクリックし、必要なオプションを選択します。
- 同期 - 選択したサブスクライバのデータと構成の即時同期を開始します。
- 構成のみの同期 - 構成のみの同期をただちに開始します。
同期のスケジュール - 開始時刻と、同期を1回実行するか、選択した時刻に24時間ごとに実行するかどうかを設定します。
サブスクライバのスケジュールが存在する場合は、編集およびキャンセル オプションを使用できます。
GeoSync データベースのバックアップと復元
GeoSync が有効な個人設定サーバ データベースのバックアップと復元には、GeoSync を有効していない個人設定サーバのバックアップと復元手順の他に、追加の手順が必要です。データベースのデータの暗号化に使用されるデータベース マスターキーはバックアップする必要があります。また、状況によっては、データベースの復元時にデータベース マスターキーが必要になる場合があります。GeoSync が有効なデータベースが別の SQL Server インスタンスに復元される場合、完全なリセットおよび構成が必要です。同期設定では、データベースが特定のサーバ、インスタンス、およびデータベースを使用しているためです。
パブリッシャとすべてのサブスクライバ データベースをまとめてバックアップし、復元することをお勧めします。
GeoSync AlwaysOn サポート
Environment Manager 2020.2では、ConfigureGeoSync.ps1 スクリプトが更新され、AlwaysOn アーキテクチャのサポートが追加されました。スクリプトは、ホスト コンピュータが AlwaysOn プライマリ レプリカであるかどうかを検出し、それに応じて実行されます。
AlwaysOn 可用性グループの一部である GeoSync パブリッシャ データベースは、New-EMPSPublisher コマンドレットを使用して設定できます。GeoSync-cmdlets.htm をご参照ください。
コマンドレットには、2つの固有のパラメータがあります。
• SecondaryReplicaServers - すべての副レプリカを指定できます。コマンドレットは、主レプリカのデータベース マスター キー認証資格情報をすべての指定された副レプリカに追加します。これにより、フェールオーバー後に、マスター キー認証資格情報を復号化できます。
•DatabaseMasterKeyPassword - 認証資格情報を暗号化するために使用されるマスター キー パスワードを指定できます。
特に次のシナリオでは、このパスワードを保持することが重要です。
•元のデータベース マスター キー パスワードがわかる場合は、GeoSync の初期設定後にのみ新しいレプリカを追加できます。
•GeoSync が削除される場合、認証資格情報はデータベースに残ります。元のパスワードがわかる場合にのみ、認証資格情報を削除できます。
バックアップ GeoSync データベース
- 各サブスクライバ データベースをバックアップします。
- パブリッシャ データベースをバックアップします。
- データベース バックアップが完了した後に、次の方法で、パブリッシャのデータベース マスター キーをファイルにバックアップします。
- SQL Management Studio を使用して、パブリッシャ データベースを含む SQL Server インスタンスに接続します。
- パブリッシャ データベースを対象にする新しいクエリを作成します。
- バックアップ ファイルを暗号化する安全なパスワードを選択します。このパスワードは、データベース マスターキーを復元するために必要であり、複雑性チェックが適用されます。
BACKUP MASTER KEY
SQL コマンドを実行します。例:BACKUP MASTER KEY TO FILE = 'c:\backup\DatabaseMasterKey_PersonalizationServer.bak
'ENCRYPTION BY PASSWORD = 'ruygn@KiHHas14m;%qG';
- データベース バックアップおよびデータベース マスターキー バックアップ ファイルを安全なバックアップ先にコピーします。
GeoSync データベースの復元
個人設定サーバ データベースが別の SQL Server インスタンスに復元されるか、データベース名が復元中に変更された場合は、別の手順が必要です。以下で、両方の手順について概説します。
SQL Server インスタンスへの復元
すべてのパブリッシャとサブスクライバ データベースが、バックアップが取得された SQL Server インスタンスに復元される場合は、この手順を使用します。
- データベース バックアップと、データベース マスター キー バックアップ ファイルを取得します。
- バックアップから各サブスクライバ データベースを復元します。
- バックアップからパブリッシャ データベースを復元します。
- 復元されると、パブリッシャ SQL Server インスタンスで、次の方法を使用して、サービス ブローカーを有効にします。
- SQL Management Studio を使用して、パブリッシャ データベースを含む SQL Server インスタンスに接続します。
- パブリッシャ データベースを対象にする新しいクエリを作成します。
状況に合ったコマンドを使用して、サーバ ブローカーを有効にします。
- このコマンドは、データベースへの排他アクセスが必要です。復元されたデータベースへの他の接続には、アイドル状態であっても、共有ロックがかかるため、ALTER DATABASE を完了することができません。処理を完了するには、データベースへのすべての接続を閉じます。
ALTER DATABASE [PersonalizationServerDatabaseName] SET ENABLE_BROKER
- データベースへの有効な接続がある場合、次のコマンドで、現在のトランザクションがロールバックされ、すべての既存のセッションが終了します。
ALTER DATABASE [PersonalizationServerDatabaseName] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE
- 次のコマンドは、新しいサーバ ブローカー GUID を作成します。このコマンドは、キューに待機中のメッセージを消去します。
ALTER DATABASE [PersonalizationServerDatabaseName] SET NEW_BROKER WITH ROLLBACK IMMEDIATE
- このコマンドは、データベースへの排他アクセスが必要です。復元されたデータベースへの他の接続には、アイドル状態であっても、共有ロックがかかるため、ALTER DATABASE を完了することができません。処理を完了するには、データベースへのすべての接続を閉じます。
- 次の方法を使用して、バックアップ ファイルからデータベース マスター キーを復元します。
- SQL Management Studio を使用して、パブリッシャ データベースを含む SQL Server インスタンスに接続します。
- パブリッシャ データベースを対象にする新しいクエリを作成します。
次の RESTORE MASTER KEY SQL コマンドをパブリッシャ データベースに対して実行します。復号化パスワードは、BACKUP MASTER KEY SQL コマンドで使用されるパスワードです。例:
RESTORE MASTER KEY
FROM FILE = 'c:\backup\DatabaseMasterKey_PersonalizationServer.bak'
DECRYPTION BY PASSWORD = 'ruygn@KiHHas14m;%qG'
ENCRYPTION BY PASSWORD = 'Gq%;m41saHHiK@ngyur'
FORCE;
暗号化パスワードは、データベース マスター キーを再暗号化するために、SQL Server によって使用されます。この暗号化パスワードを記憶する要件はありません。
サーバ マスターキーが前回のバックアップ以降に変更されていない場合、手順5は必要がない場合もあります。このような場合、このコマンドを実行しても、エラーになりません。代わりに、SQL Sever は次の点を報告します。古いマスターキーと新しいマスターキーが同じです。データの再暗号化は不要です。
別の SQL Server インスタンスへの復元
パブリッシャまたはサブスクライバ データベースのいずれかが別の SQL Server インスタンスに復元されているか、データベース名が変更された場合に、この手順を使用します。
- 「同じ SQL Server インスタンスへの復元」のすべての手順に従います。
- パブリッシャと各サブスクライバ データベースで、PowerShell コマンドレット Reset-EMPSGeoSyncDatabase を呼び出し、各データベースから古い GeoSync 設定を削除します。このコマンドの実行方法の詳細については、「GeoSync コマンドレット」をご参照ください。
- 「パブリッシャとサブスクライバの関連付け」の手順に従い、GeoSync を設定します。
- 「個人設定グループの GeoSync を構成する」の手順に従い、各個人設定グループの任意のサブスクライバを構成する構成します。
- 「同期とスケジュールの管理」の手順に従い、GeoSync スケジュール設定を構成します。