PostgreSQLデータベース用リードオンリーサーバー(ROサーバー)の設定方法(ビルド12300以降)
作成日:2023年3月23日 | 更新日:2026年3月3日
概要
リードオンリーサーバー (以下、ROサーバー)は、ユーザーに対してデータ変更・更新を実行させず、Password Manager Proの読み取り操作のみを実行許可する冗長アプリケーションサーバー機能です。
ROサーバー設定は、書き込み操作も可能なセカンダリサーバーと読み取り操作のみ可能なROサーバーで構成される高可用性機能(HA)とは異なり、ご要望に合わせて複数のROサーバーを複数構築していただくことが可能です(セカンダリサーバーは構成対象ではありません)。構築されたすべてのROサーバーは、プライマリーサーバーに接続され同期されるため、データの一貫性が保証されます。
ROサーバーで実行されたすべての操作は、プライマリーサーバーから返答・監査され、他のROサーバーに複製されます。プライマリサーバーが故障した場合、管理者は任意のROサーバーをプライマリサーバーとして変換し、他すべてのROサーバーを再設定することで、新しく設定されたプライマリサーバーをミラーリングするようにできます。目次
ROサーバーのセットアップパック作成手順
事前準備:
ROサーバーにプライマリサーバーで構築済みのPassword Manager Proと同じビルドをインストール。
※インストーラ起動時[Read-only server]を選択してインストールを進める必要があります。- プライマリ Password Manager Proサービスを停止します。
- プライマリサーバーでコマンドプロンプトを管理者権限で開き、PMP/binに移動します。
- 以下のコマンドを実行し、ROサーバーにコピーするのに必要なファイルを含むROPack.zipファイルを作成します。
※生成されたレプリケーションパック(ZIPファイル)は、PMP/replicationフォルダー下に配置されます。 - [IP_of_RO_Server]:ROサーバーの有効なIPアドレス
- [userName]:レプリケーションに使用するユーザー名
- [password]:レプリケーションユーザーのパスワード
- [slotName]:レプリケーションを行うROサーバーのスロット名
- ユーザー名には、小文字、数字、アンダースコアのみを含めることができます。
- パスワードには、使用する文字の制限はありません。
- スロット名には、小文字、数字、アンダースコアのみを含めることができます。
- プライマリPassword Manager Proサービスを開始します。
- プライマリサーバーでコマンドプロンプトを管理者権限で開き、PMP/binに移動します。
- 以下のコマンドを実行し、証明書をインポートします。
Windows: ROSetup.bat [IP_of_RO_Server] [userName] [password] [slotName]
Linux: ROSetup.sh [IP_of_RO_Server] [userName] [password] [slotName]
[コマンドの入力内容]
※Password Manager Proデータベースは、ユーザー名/パスワード/スロット名を保存しません。ご自身での保存をお願いいたします。
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サーバーPassword Manager Proサービスを停止します。
- ROサーバーのPassword Manager Proインストールフォルダに移動し、プライマリサーバーで作成したROPack.zipファイルを展開します。 これにより、構築済みのプライマリーサーバーファイルをROサーバーにコピーします。
- プライマリサーバーからpmp_key.keyファイルをROサーバーの任意の場所にコピーし、/conf/manage_key.confファイルのpmp_key.keyファイルパスをコピーした場所のパスへ更新します。
- 当該フォルダーのフルパスには、2バイト文字(漢字、ひらがな、カタカナ、全角スペース等)を含まないようにしてください。
- PMPインストールフォルダーと同じ階層のフォルダーに暗号化キー(pmp_key.key)を保存する場合は、フォルダー名に「PMP」または「pmp」から始まる文字列は使用できません。
例)以下のようなフォルダー構成は使用できません。
インストールフォルダー:C:\Program Files\ManageEngine\PMP
暗号化キーの保存先フォルダー:C:\Program Files\ManageEngine\PMP_key
- ROサーバーPassword Manager Proサービスを再開します。
- PMPにカスタムSSL証明書を使用している場合は、プライマリーサーバーからSSL証明書をコピーし、ROサーバーPMP\confパスに貼り付けてください。
- manage_key.confファイルがROサーバーに存在しない場合は、manage_key.confという名前のファイルを新規作成し、暗号化キーの場所を記述します。暗号化キーがリモートパスにある場合は、UNCフォーマットでパスを記述します。
- ROサーバーでコマンドプロンプトを管理者権限で開き、PMP\binに移動して次のコマンドを実行し、証明書をインポートします。
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サーバーのPassword Manager Proサービスを停止します。
- PMP\pgsql\dataフォルダーからrecovery.confファイルを削除します。
- PMP\conf\configurations.propertiesファイルのreadonly.mode=trueという項目を削除します。
- PMP\conf\serverstate.confを編集し、「ro」を「master」に変更します。
Windows:最後に、ステップ1(プライマリサーバーにROサーバー構成パックを作成する)およびステップ2(ROサーバーのセットアップ)の手順に従い、 既存のROサーバーを新しいプライマリーサーバーと同期するように再設定します。DeleteROServerIP.bat
DeleteSlot.bat
Linux:DeleteROServerIP.sh [IP_Address_of_RO_that_was_converted_to_Primary]
DeleteSlot.sh [slotName_of_RO_that_was_converted_to_Primary]
ROサーバーの削除手順
プライマリーサーバーにて下記コマンドを実行し、ROサーバーをクラスタから削除します。
Windows:
PMP\bin\DeleteROServerIP.batLinux:
PMP/bin/DeleteROServerIP.sh
ROサーバーに設定されている既存のスロットを削除するには、以下のコマンドを実行します。
Windows:PMP\bin\DeleteSlot.batLinux:
PMP/bin/DeleteSlot.sh