PostgreSQLデータベース用リードオンリーサーバー(ROサーバー)の設定方法(ビルド12300以降)
作成日:2023年3月23日 | 更新日:2025年8月29日
概要
リードオンリーサーバー (以下、ROサーバー)は、ユーザーに対してデータ変更・更新を実行させず、Password Manager Proの読み取り操作のみを実行許可する冗長アプリケーションサーバー機能です。
ROサーバー設定は、単一のセカンダリサーバーのみを構築できる高可用性機能(HA)とは異なり、ご要望に合わせて複数のROサーバーを複数構築していただくことも可能です。構築されたすべてのROサーバーは、プライマリーサーバーに接続され同期されるため、データの一貫性が保証されます。
ROサーバーで実行されたすべての操作は、プライマリーサーバーから返答・監査され、他のROサーバーに複製されます。プライマリサーバーが故障した場合、管理者は任意のROサーバーをプライマリサーバーとして変換し、他すべてのROサーバーを再設定することで、新しく設定されたプライマリサーバーをミラーリングするようにできます。ROサーバー機能では、ユーザーはパスワード取得・閲覧のみが許可されます。リソースアカウントへのリモート接続はできません。
※本機能のご使用をご検討されている場合、別途ライセンスが必要となります。
ライセンスについては、ご購入の際にご連絡いただきました弊社営業担当まで別途ご確認をお願いいたします。
目次
ROサーバーのセットアップパック作成手順
事前準備:
ROサーバーにプライマリサーバーで構築済みのPassword Manager Proと同じビルドをインストール。
※インストーラ起動時[Configure this server as High availability secondary server]を選択してインストールを進める必要があります。 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
カスタム証明書をインストールする場合は、上記のコマンドで証明書のパスを置き換えてください。
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に移動して次のコマンドを実行し、証明書をインポートします。
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サーバーを新しいプライマリーサーバーと同期するように再設定します。ROサーバーの削除手順
プライマリーサーバーにて下記コマンドを実行し、ROサーバーをクラスタから削除します。
Windows:
PMP\bin\DeleteROServerIP.batLinux:
PMP/bin/DeleteROServerIP.sh
ROサーバーに設定されている既存のスロットを削除するには、以下のコマンドを実行します。
Windows:PMP\bin\DeleteSlot.batLinux:
PMP/bin/DeleteSlot.sh
ビルド12400以降にアップグレードすると、ROサーバーで設定されている既存のスロットの削除は、PostgreSQLサーバーによって自動的に実行されます。

