PostgreSQLデータベースを使用したリードオンリーサーバーモデル

リードオンリーサーバーモデルは、重要な耐障害性レイヤーを追加することで、PAM360の高可用性戦略を強化します。複数の場所に設定可能なリードオンリーサーバーは、読み取り操作の実行に特化しており、データの改ざんを防ぐことでデータの整合性を維持します。これらのサーバーはプライマリサーバーと同期して動作し、実質的にミラーサーバーとして機能します。プライマリサーバーが故障した場合、リードオンリーサーバーのいずれかをプライマリサーバーとして構成できます。

メモ:

  • PAM360で、ユーザーは、リードオンリーサーバーからパスワードのみを取り込むことができます。
  • リードオンリーサーバーで実行する操作はすべて、プライマリサーバーに戻されて監査され、他のリードオンリーサーバーに複製されます。
  • プライマリサーバーが故障した場合、管理者は、リードオンリーサーバーをプライマリサーバーに変換し、他のすべてのリードオンリーサーバーを再構成し、新しいプライマリサーバーに変更します。
  • ビルド8400以降、PAM360では、利用可能なリードオンリーサーバーを介してRDP、SSH、およびVNC接続を開始できます。また、リードオンリーサーバーから記録されたセッションを再生するには、セッション構成設定において、セッション記録用のストレージ構成をネットワークパスで設定する必要があります。

リードオンリーサーバーモデルの仕組み

プライマリサーバーの障害や壊滅的な事態が発生した場合、リードオンリーサーバーはシームレスにプライマリサーバーのロールを引き継ぎ、運用の中断のない継続性を確保します。セカンダリ サーバーを1台しか配置できない他の高可用性構成とは異なり、複数のリードオンリーサーバーを各地に構成できるため、より高い柔軟性が得られます。

プライマリサーバーに障害が発生した場合、管理者はリードオンリーサーバーを簡単にプライマリサーバーに変換し、残りのサーバーを再構成して新しいプライマリインスタンスを指すようにすることができます。この機能により、予期せぬ障害が発生した場合でも、PAM360は回復力と運用能力を維持することが保証されます。しかし、PAM360では、リードオンリーサーバーを介して実行できる操作は、パスワードの取得とリモートセッションの開始のみに限定されています。これらのサーバー上で実行されるすべての操作は、プライマリサーバーによってログに記録および監査され、そのレコードは他のリードオンリーサーバーに複製されます。

ro-server-architechture

プライマリサーバーとリードオンリーサーバーの設定

プライマリサーバーおよびリードオンリーサーバーでの構成プロセスを開始する前に、環境内のすべてのリードオンリーサーバーにPAM360が正常にインストールされていることを確認してください。インストールが完了したら、以下のドキュメントの手順に従って、プライマリサーバーとリードオンリーサーバーの両方に必要な構成調整を適用してください。さらに、プライマリサーバーに障害が発生した場合に、リードオンリーサーバーをプライマリサーバーとして機能させるための詳細な手順を以下に示します。

メモ:

  • サーバー環境にPostgreSQLデータベースが構成されたセカンダリサーバーモデルが設定されている場合は、リードオンリーサーバーを構成する前に、セカンダリサーバーの構成を削除してください。
  • 環境にアプリケーションゲートウェイが展開されている場合は、リードオンリーサーバーとして展開予定のサーバーに、Microsoft Visual C++ 再頒布可能パッケージ (Visual Studio 2015 以降用) がインストールされていることを確認してください。
  1. プライマリサーバーでのリードオンリーサーバー構成パックの作成
  2. リードオンリーサーバーのセットアップ
  3. リードオンリーサーバーをプライマリサーバーとして構成
  4. リードオンリーサーバーのクラスターからの削除
  5. リードオンリーサーバー監査の試行
  6. トラブルシュートのヒント

1.プライマリサーバーでのリードオンリーサーバー構成パックの作成

  1. プライマリサーバー上の <PAM360-Installation-Directory>/bin フォルダに移動し、ご使用のオペレーティングシステムに応じて以下のコマンドを実行してください。これにより、リードオンリーサーバーにコピーする必要のあるファイルを含む ROPack.zip ファイルが作成されます。

    Windows:

    ROSetup.bat <IP_of_RO_Server><userName><password><slotName>

    Linux:

    ROSetup.sh <IP_of_RO_Server><userName><password><slotName>

    メモ:

    • ROPack.zipを作成するとき、リードオンリーサーバーのすべてに、一意のslotNameが必要です。
    • 初めて複製パックを作成してリードオンリーサーバーを構成する場合、各自選択したユーザー名パスワードを入力します。今後追加の複製パックをインストールするには、同じユーザー名とパスワードを入力する必要があります。PAM360データベースにはユーザー名とパスワードは保存されませんので、注意してください。そのため、これらは安全な場所に保存することを推奨します。

    ここでは、
    1. IP_of_RO_Serverは、リードオンリーサーバーの有効なIPアドレスです。
    2. userNameは、レプリケーションに使用されるユーザー名です。
    3. passwordは、レプリケーションユーザーのパスワードです。
    4. slotNameは、レプリケーション用のリードオンリーサーバーのスロット名です。

    メモ:

    • すべてのリードオンリーサーバーに単一のユーザー名とパスワードで十分です。
    • ユーザー名には、小文字、数字および下線のみ使用できます。
    • 複製スロット名には、小文字、数字、および下線のみ使用できます。
    • リードオンリーサーバーそれぞれには、一意のスロット名が必要です。

    レプリケーションパックのZIPファイルが正常に生成され、<PAM360-Installation-Directory>/replication フォルダに保存されます。
  2. それでは、以下のコマンドを実行して証明書をインポートしてください。

    Windows:

    importCert.bat <PAM360-Installation-Directory>\conf \ServerCer.cer
    importCert.bat <PAM360-Installation-Directory>\conf\CACert.pem
    importCert.bat <PAM360-Installation-Directory>\agent\ServerCer.cer

    Linux:

    sh importCert.sh <PAM360-Installation-Directory>/conf/ServerCer.cer
    sh importCert.sh <PAM360-Installation-Directory>/conf/CACert.pem
    sh importCert.sh <PAM360-Installation-Directory>/agent/ServerCer.cer
  3. メモ:

    カスタム証明書をインストールするには、上記のコマンド内の証明書のパス全体を絶対パスに置き換えてください。

読取専用構成パックが正常に構成され、プライマリサーバーがセットアップされました。

2.リードオンリーサーバーのセットアップ

  1. リードオンリーサーバー上のPAM360インストールディレクトリに移動し、ROPack.zipファイルを解凍します。これで、ここですでに利用可能なプライマリサーバーのファイルが置き換わります。
  2. プライマリサーバーからリードオンリーサーバーに pam360_key.key ファイルをコピーし、<PAM360-Installation-Directory>/conf/manage_key.conf ファイル内の pam360_key.key ファイルのパスを更新します。
  3. manage_key.confファイルがリードオンリーサーバーにない場合、manage_key.confという名前の新しいファイルを作成し、暗号化キーの場所に入力します。暗号化キーがリモートパスにある場合、パスはUNC形式で入力します。
  4. それでは、以下のコマンドを実行して証明書をインポートしてください。

    Windows:

    importCert.bat <PAM360-Installation-Directory>\conf \ServerCer.cer
    importCert.bat <PAM360-Installation-Directory>\conf\CACert.pem
    importCert.bat <PAM360-Installation-Directory>\agent\ServerCer.cer

    Linux:

    sh importCert.sh <PAM360-Installation-Directory>/conf/ServerCer.cer
    sh importCert.sh <PAM360-Installation-Directory>/conf/CACert.pem
    sh importCert.sh <PAM360-Installation-Directory>/agent/ServerCer.cer

    メモ:

    PAM360のインストールにカスタムSSL証明書を使用する場合は、プライマリサーバーからSSL証明書をコピーし、リードオンリーサーバーの次のパスに貼り付けてください:<PAM360-Installation-Directory>/conf。カスタム証明書をインストールするには、上のコマンドで証明書のパスを置き換えます。

リードオンリーサーバーが正常にセットアップされました。PAM360インターフェースで、設定済みのリードオンリーサーバーを表示するには、[管理] >> [Business Continuity] >> [リードオンリーサーバー] に移動します。

ro-pgsql-1

3.リードオンリーサーバーをプライマリサーバーとして構成

  1. プライマリサーバーとして変換されるリードオンリーサーバーを停止します。
  2. <PAM360-Installation-Directory>/pgsql/data フォルダから、standby.signal ファイルを削除してください。
  3. <PAM360-Installation-Directory>/pgsql/ext_confフォルダからpostgres_ext.confファイルを開きます。リカバリプロパティ以下のすべてのエントリを削除してください。
  4. <PAM360-Installation-Directory>/conf/configurations.properties ファイル内の readonly.mode=true というエントリを削除してください。
  5. <PAM360-Installation-Directory>/conf フォルダにある serverstate.conf ファイルを開きます。roを検索してmasterに変更してください。
  6. PAM360 Serverを起動すると、これで、リードオンリーサーバーがプライマリサーバーとして起動されます。リードオンリーサーバーが正常にプライマリサーバーとして構成されました。
  7. 次に、以下のコマンドを実行し、変換したリードオンリーサーバーのIPアドレスをデータベースから削除します。

    Windows:

    <PAM360-Installation-Directory>\bin\DeleteROServerIP.bat <RO_IP_Address_that_was_converted_to_Primary>
    <PAM360-Installation-Directory>\bin\DeleteSlot.bat <slotName_of_RO_that_was_converted_to_Primary>

    Linux:

    <PAM360-Installation-Directory>/bin/DeleteROServerIP.sh <IP_Address_of_RO_that_was_converted_to_Primary>
    <PAM360-Installation-Directory>/bin/DeleteSlot.sh <slotName_of_RO_that_was_converted_to_Primary>
  8. 次に、手順1(プライマリサーバーでのリードオンリーサーバー構成パックの作成)と手順2(リードオンリーサーバーの設定)に従って、既存のリードオンリーサーバーをこのプライマリサーバーと同期するように再構成します。

4.リードオンリーサーバーのクラスターからの削除

プライマリサーバーから以下のコマンドを実行し、リードオンリーサーバーをクラスターから削除します:

  1. 既存のリードオンリーサーバーを削除するには、次のコマンドを実行します。

    Windows:

    <PAM360-Installation-Directory>\bin\DeleteROServerIP.bat <RO_IP_Address>

    Linux:

    <PAM360-Installation-Directory>/bin/DeleteROServerIP.sh <RO_IP_Address>
  2. リードオンリーサーバーに設定されている既存のスロットを削除するには、次のコマンドを実行します。

    Windows:

    <PAM360-Installation-Directory>\bin\DeleteSlot.bat <RO_Slot_Name>

    Linux:

    <PAM360-Installation-Directory>/bin/DeleteSlot.sh <RO_Slot_Name>

メモ:

ビルド6600にアップグレードすると、リードオンリーサーバーに設定されている既存のスロットの削除がPostgreSQLサーバーによって自動的に実行されます。


5.リードオンリーサーバー監査の試行

リードオンリーサーバーが有効になっている場合、リードオンリーサーバーの監査ログは、リソース監査ユーザー監査の下に、完全な監査証跡とともに別々のコラムとして表示されます。監査について詳しくはこちらをクリックしてください。

ro-pgsql-2

6.トラブルシュートのヒント

[管理] >> [Business Continuity] >> [リードオンリーサーバー] に移動し、リードオンリーサーバーのステータスが非アクティブになっているか確認してください。非アクティブの場合、以下の手順にしたがってトラブルシュートします:

プライマリサーバーについては、以下の手順に従ってください。

  1. <PAM360_installation_folder>/pgsql/data フォルダに移動します。
  2. pg_hba.conf ファイルを開き、リードオンリーサーバーの IP アドレスレプリケーション ユーザー名が正しいかどうかを確認してください。

リードオンリーサーバーの場合は、以下の手順に従ってください。

  1. <PAM360-Installation-Directory>/pgsql/data フォルダに移動し、以下の操作を実行してください。
    1. pg_hba.conf ファイルを開き、プライマリサーバーとリードオンリーサーバーの IP アドレスが正しいかどうかを確認してください。
    2. さらに、# TYPE DATABASE USER ADDRESS METHODセクションに移動し、レプリケーションのユーザー名IPアドレス、およびスロットの詳細が正しくフォーマットされていることを確認してください。例:host replication pmpuser 10.214.147.123/32 md5。
    3. 次に、configuration.properties ファイルを開き、readonly.mode=true という値があるかどうかを確認します。

問題が解決しない場合は、<PAM360_installation_folder>/logs および <PAM360_installation_folder>/pgsql/data/pg_log のディレクトリパスにあるログファイルを pam360-support@manageengine.com までお送りください。引き続きサポートさせていただきます。