Password Manager Pro ナレッジベース

PostgreSQLデータベース用リードオンリーサーバー(ROサーバー)の設定方法(ビルド12300以降)


概要

リードオンリーサーバー (以下、ROサーバー)は、ユーザーに対してデータ変更・更新を実行させず、Password Manager Proの読み取り操作のみを実行許可する冗長アプリケーションサーバー機能です。
ROサーバー設定は、単一のセカンダリサーバーのみを構築できる高可用性機能(HA)とは異なり、ご要望に合わせて複数のROサーバーを複数構築していただくことも可能です。
構築されたすべてのROサーバーは、プライマリーサーバーに接続され同期されるため、データの一貫性が保証されます。

ROサーバーで実行されたすべての操作は、プライマリーサーバーから返答・監査され、他のROサーバーに複製されます。プライマリサーバーが故障した場合、管理者は任意のROサーバーをプライマリサーバーとして変換し、他すべてのROサーバーを再設定することで、新しく設定されたプライマリサーバーをミラーリングするようにできます。

ROサーバー機能では、ユーザーはパスワード取得・閲覧のみが許可されます。リソースアカウントへのリモート接続はできません。

※本機能のご使用をご検討されている場合、別途ライセンスが必要となります。
ライセンスについては、ご購入の際にご連絡いただきました弊社営業担当まで別途ご確認をお願いいたします。

設定方法

事前準備:
ROサーバーにプライマリサーバーで構築済みのPassword Manager Proと同じビルドをインストール。
※exe/bin実行時、ROサーバー用として選択してインストールを進める必要があります。

1.プライマリサーバーにROサーバー構成パックを作成する
2.ROサーバーのセットアップ
3.ROサーバーをプライマリーサーバーとして変更設定する
4.クラスタからROサーバーを削除する
5.ROサーバー監査

1. プライマリサーバーにROサーバー構成パックを作成する

1) プライマリ Password Manager Proサービスを停止します。
2) プライマリサーバーでコマンドプロンプトを管理者権限で開き、PMP/binに移動します。
3) 以下のコマンドを実行し、ROサーバーにコピーするのに必要なファイルを含むROPack.zipファイルを作成します。
※生成されたレプリケーションパックZIPは、PMP/replicationフォルダー下に配置されます。

Windows: ROSetup.bat [IP_of_RO_Server] [userName] [password] [slotName] Linux: ROSetup.sh [IP_of_RO_Server] [userName] [password] [slotName]

[コマンドの入力内容] ⅰ -IP_of_RO_Server - ROサーバーの有効なIPアドレス
ⅱ-userName - レプリケーションに使用するユーザー名
ⅲ-password - レプリケーションユーザーのパスワード
ⅳ-slotName - レプリケーションを行うROサーバーのスロット名

制約事項:
・ユーザー名には、小文字、数字、アンダースコアのみを含めることができます。
・パスワードには、使用する文字の制限はありません。
・スロット名には、小文字、数字、アンダースコアのみを含めることができます。
ROサーバーを設定するため初めてレプリケーションパックを作成する際には、任意のユーザー名/パスワード/スロット名を入力する必要があります。
今後、同じROサーバーに追加でレプリケーションパックを生成する際には、同じ情報を入力する必要がありますのでご注意ください。
※Password Manager Proデータベースは、ユーザー名/パスワード/スロット名を保存しません。ご自身での保存をお願いいたします。

4) プライマリPassword Manager Proサービスを開始します。
5) プライマリサーバーでコマンドプロンプトを管理者権限で開き、PMP/binに移動します。
6) 以下のコマンドを実行し、証明書をインポートします。

Windows:
importCert.bat ..\conf \ServerCer.cer
importCert.bat ..\conf\CACert.pem
importCert.bat ..\agent\ServerCer.cer

Linux:
sh importCert.sh ../conf/ServerCer.cer
sh importCert.sh ../conf/CACert.pem
sh importCert.sh ../agent/ServerCer.cer

カスタム証明書をインストールする場合は、上記のコマンドで証明書のパスを置き換えてください。
2.ROサーバーのセットアップ

1) ROサーバーPassword Manager Proサービスを停止します。
2) ROサーバーのPassword Manager Proインストールフォルダに移動し、プライマリサーバーで作成したROPack.zipファイルを展開します。
これにより、構築済みのプライマリーサーバーファイルをROサーバーにコピーします。
3) プライマリサーバーからpmp_key.keyファイルをROサーバーの任意の場所にコピーし、/conf/manage_key.confファイルのpmp_key.keyファイルパスを実際格納先パスに更新します。
4) ROサーバーPassword Manager Proサービスを再開します。

  • PMPにカスタムSSL証明書を使用している場合は、プライマリーサーバーからSSL証明書をコピーし、ROサーバーPMP\confパスに貼り付けてください。
  • manage_key.confファイルがROサーバーに存在しない場合は、manage_key.confという名前のファイルを新規作成し、暗号化キーの場所を記述します。暗号化キーがリモートパスにある場合は、UNCフォーマットでパスを記述します。
  • ROサーバーでコマンドプロンプトを管理者権限で開き、PMP\binに移動して次のコマンドを実行し、証明書をインポートします。

Windows:
importCert.bat ..\conf\ServerCer.cer
importCert.bat ..\conf\CACert.pem
importCert.bat ..\agent\ServerCer.cer

Linux:
sh importCert.sh ../conf/ServerCer.cer
sh importCert.sh ../conf/CACert.pem
sh importCert.sh ../agent/ServerCer.cer

カスタム証明書をインストールする場合は、上記のコマンドで証明書のパスを必ず置き換えてください。

これにて、ROサーバーの設定は完了です。
プライマリサーバー側「管理>設定>リードオンリーサーバー」にて、ROサーバーの状態が表示されます。

3. ROサーバーをプライマリーサーバーとして変更設定する

1) プライマリーサーバーとして変換するROサーバーのPassword Manager Proサービスを停止します。
2) PMP\pgsql\dataフォルダーからrecovery.confファイルを削除します。
3) PMP\conf\configurations.propertiesファイルのreadonly.mode=trueという項目を削除します。
4) PMP\conf\serverstate.confを編集し、「ro」を「master」に変更します。

以上でROサーバーをプライマリーサーバーとして設定変更する手順は完了です。

次に、以下のコマンドを実行して、データベースから変換したROサーバーのIPアドレスを削除してください。

Windows:
PMP\bin\DeleteROServerIP.bat
PMP\bin\DeleteSlot.bat

Linux:
PMP/bin/DeleteROServerIP.sh
[IP_Address_of_RO_that_was_converted_to_Primary] PMP/bin/DeleteSlot.sh [slotName_of_RO_that_was_converted_to_Primary]

最後に、ステップ1(プライマリサーバーにROサーバー構成パックを作成する)およびステップ2(ROサーバーのセットアップ)の手順に従い、
既存のROサーバーを新しいプライマリーサーバーと同期するように再設定します。

4. クラスタからROサーバーを削除する

プライマリーサーバーにて下記コマンドを実行し、ROサーバーをクラスタから削除します。

Windows:
PMP\bin\DeleteROServerIP.bat

Linux:
PMP/bin/DeleteROServerIP.sh

ROサーバーに設定されている既存のスロットを削除するには、以下のコマンドを実行します。

Windows:
PMP\bin\DeleteSlot.bat

Linux:
PMP/bin/DeleteSlot.sh

5. ROサーバー監査

ROサーバーが有効になっている場合、ROサーバーの監査は、[監査>リソース監査・ユーザー監査>リードオンリーサーバー]下に表示されます。