プライマリサーバーとリードオンリーサーバー
注:構築手順を実行する前に、PostgreSQLを製品データベースとして使用する場合の高可用性構成、構築前の前提条件およびHAを効果的に管理する方法をこちらのページからご確認いただくことを推奨します。
この構成方式では、すべての書き込み操作に対して一つのプライマリサーバーが使用され、リードオンリーサーバーはストリーミングレプリケーションを介してリアルタイムで更新される複製として機能します。このモデルは、書き込み中心のプライマリ操作とレポートや分析用の読み取り操作をリードオンリーサーバーが肩代わりするといったセキュアな運用が求められるシナリオに最適です。また、プライマリサーバーが障害を起こした場合には、リードオンリーサーバーを代理のプライマリサーバーに昇格させることでディザスタリカバリのメカニズムとしても機能します。
1.プライマリサーバーでセットアップパックを作成
- プライマリサーバーとして使用するサーバーにPassword Manager Proをインストールします。インストール中にサーバーの用途として[High Availability Primary Server]を選択します。
- インストールが完了したら、サーバーとデータベースを紐づけるためにPassword Manager Proを起動します。
- 運用中のPassword Manager Proがある場合、それをプライマリサーバーとすることも可能です。既存の高可用性構成は解除する必要があります。環境内に複数のリードオンリーサーバーがある場合、一つを残して削除する必要があります。リードオンリーサーバ-を削除する詳細な手順はこちらを確認してください。キーファイルをリモートディレクトリ上に保管している場合、環境内のすべてのサーバーからアクセスできるように、manage_key.confファイルを該当のパスに更新してください。
- プライマリサーバー上でPassword Manager Proサービスを停止します。
- リードオンリーサーバ-のセットアップパック作成のために、インストールディレクトリ配下のbinフォルダーから次のコマンドを実行します。
- Windows - ROSetup.bat <ROサーバーのIPAddress> <Username> <Password> <Slotname>
- Linux - ROSetup.sh <ROサーバーのIPAddress> <Username> <Password> <Slotname>
- 上記のスクリプトを実行後に、Password Manager Proのインストールディレクトリ配下にReplicationフォルダーが作成され、その配下にROPack_
.zip が作成されます。 - セットアップパックの作成後、次のコマンドを実行してプライマリサーバーへ必要な証明書をインポートする必要があります。
- Linux
- sh importCert.sh ../conf/ServerCer.cer
- sh importCert.sh ../conf/CAcert.pem
- sh importCert.sh ../agent/ServerCer.cer
- Windows
- importCert.bat ..\conf\ServerCer.cer
- importCert.bat ..\conf\CAcert.pem
- importCert.bat ..\agent\ServerCer.cer
- プライマリサーバー上でPassword Manager Proサービスを起動します。
注記:環境内のすべてのサーバーがアクセス可能な共有パスにpmp_key.keyファイルを配置することを推奨します。
注記:上記コマンドの各項目は、対象となるリードオンリーサーバ-の値に置き換えてください。Slotnameは、レプリケーションスロットの一意の識別子である必要があります。
注記:カスタム証明書をインストールする場合、上記のコマンドの証明書パスを対応したパスへ置き換えてください。
以上で、プライマリサーバーの構築とリードオンリーサーバ-用のセットアップパックの作成が完了しました。
注記:プライマリサーバー上で、PostgreSQLをサービスとして起動または停止する場合、インストールディレクトリのbinフォルダから次のコマンドを実行してください。
- Windows
- start_pgsql.bat
- stop_pgsql.bat
- Linux
- start_pgsql.sh
- stop_pgsql.sh
2.リードオンリーサーバーの構築
Password Manager ProのPostgreSQLにおける高可用性にて、リードオンリーサーバーを構築する手順は以下の通りです。
- リードオンリーサーバ-として使用するマシンにPassword Manager Proをインストールします。インストール時、Read-Only Serverを選択します。
- リードオンリーサーバ-のインストールディレクトリに移動し、ROPack_
.zip ファイルを展開します。これにより、プライマリサーバー設定されたリードオンリーサーバ-の構成に必要なファイルが上書きされます。 - もしキーファイルが、リモートディレクトリに保管されている場合、manage_key.confファイルに該当のフルパスを記載してください。
- 共有パスが利用不可の場合、セカンダリサーバーで使用可能なpmp_key.keyファイルをプライマリサーバーの使用可能なキーファイルに置き換え、それをセカンダリサーバー上でローカルディレクトリに配置し、インストールディレクトリ内のmanage_key.confでキーファイルのパスを更新します。
- もし、manage_key.confファイルがリードオンリーサーバ-で利用できない場合、manage_key.confファイルを新規作成しキーファイルのフルパスを記載します。
- 次のコマンドを実行し、リードオンリーサーバーに必要な証明書をインポートします。
- Linux
- sh importCert.sh ../conf/ServerCer.cer
- sh importCert.sh ../conf/CAcert.pem
- sh importCert.sh ../agent/ServerCer.cer
- Windows
- importCert.bat ..\conf \ServerCer.cer
- importCert.bat ..\conf\CAcert.pem
- importCert.bat ..\agent\ServerCer.cer
- リードオンリーサーバ-上でPassword Manager Proを起動します。
注記:カスタム証明書を使用している場合、プライマリサーバーから証明書をコピーし、リードオンリーサーバ-のインストールディレクトリ配下confフォルダに貼り付けます。カスタム証明書をインストールする場合、上記のコマンドの証明書パスを対応したパスへ置き換えてください。
以上で、PostgreSQLを使用した高可用性の設定は完了です。プライマリサーバーにログインし、[管理]タブ→[高可用性]に移動し、設定したセットアップの状態を確認してください。