PostgreSQLサーバーを使用したアプリケーションのスケーリングモデル

ユーザーベースの成長が続いていることから、組織は、持続可能なサービスを行うため、データベースへの継続的で中断されないアクセスが必要になります。一般的に、アプリケーションのスケーリングとは、アプリケーションのパフォーマンスやユーザーエクスペリエンスを損なうことなく、膨大な負荷や操作を処理できる能力を向上させるプロセスを指します。PAM360では、外部PostgreSQLデータベースクラスター経由のアプリケーションスケーリングの実装は、リソースとアカウントへの中断されないアクセスの提供し、アプリケーションスケーラビリティおよび全体パフォーマンスの強化を目的とします。一般的に、モデルは、1つのPostgreSQLデータベースクラスターに接続された1つのメインノードといくつかのサブノードで作動します。

このドキュメントを読み終える頃には、PostgreSQLにおけるアプリケーションのスケーリングに関連する以下のトピックについて理解しているはずです。

  1. 前提条件
  2. アプリケーションノードの設定
  3. サブノードのメインノードへの変更
  4. PAM360 Webインターフェースから実行されるノードベースの操作
  5. ノードベース監査証跡

1.前提条件

  1. PAM360のメインノードとそのすべてのサブノードは、個別に接続する必要はありませんが、同じPostgreSQLデータベースクラスターを指すようにする必要があります。ただし、メインノード、つまり操作を実行するマシンは、以下のいずれかの条件を満たす必要があります。
    • PAM360のエージェントレスパスワード管理機能が有効になっている場合、メインノードとターゲットエンドポイントは同じサブネット内に存在する必要があります。
    • メインノードとターゲットエンドポイントは、異なるネットワークに存在する場合でも相互に通信できる必要があります。つまり、ファイアウォールによってブロックされたり、非武装地帯などの接続範囲外に位置したりしてはなりません。
  2. 環境内でApplication Gatewayを展開している場合は、サブノードとして展開を予定しているサーバーに、Microsoft Visual C++ 再頒布可能パッケージ(Visual Studio 2015以降用)がインストールされていることを確認してください。

application-scaling1

メモ:

  • 構成されたサブノードは、他のマシンへの接続が十分な状態になるまで、そしてスケジュール設定された作動が中断されずに実行されるまで、メインノードに変更することができます。
  • このアプリケーションスケーリングモデルでは、最大4つのサブノードを作成できます。

2.アプリケーションノードの設定

メモ:

インストールプロセス中に、構成サーバーをHigh Availability Primary Serverとして選択する必要があり、さらに、インストール後にPAM360サービスを開始してはいけません。

メインノードを設定するには、以下の手順を実行してください。

  1. メインノードとして使用する予定のサーバーに、PAM360アプリケーションをインストールしてください。
  2. PostgreSQLデータベースクラスターをバックエンドデータベースとして構成します。これで、メインノードにインストールされたPAM360アプリケーションは、スタンドアロンのPostgreSQLデータベースクラスターを使用して動作するようになります。
  3. メインノードでPAM360サービスを再起動してください。
  4. <PAM360-Installation-Directory>/bin フォルダに移動し、コマンドプロンプトを開いて、お使いの PAM360 ビルドおよびオペレーティングシステムに応じた適切なコマンドを実行してください:
    1. ビルド8400以降では、AppScalingSetup.bat <Hostname-of-the-Subnode> または AppScalingSetup.sh <Hostname-of-the-Subnode> を実行して、<PAM360-Installation-Directory>/Replication フォルダ内に AppServerPack_<Hostname-of-the-Subnode>.zip を生成します。
    2. ビルド 8310 以前の場合は、AppScalingSetup.bat または AppScalingSetup.sh を実行し、<PAM360-Installation-Directory>/ApplicationScaling フォルダ内に ApplicationScalingPack.zip を生成してください。
    生成されたZIPファイルは、サブノードの設定に使用されます。

サブノードを設定するには、以下の手順を実行してください。

  1. サブノードとして使用する予定のサーバーにPAM360アプリケーションをインストールしてください。
  2. PostgreSQLデータベースクラスターのルートCA証明書をダウンロードしてください。PostgreSQLデータベース用のSSL証明書の作成方法がわからない場合は、このセクションを参照して必要なSSL証明書を生成し、SSL接続を検証してください。
  3. PostgreSQLデータベースクラスターのルートCA証明書を、サブノードにインストールされているPAM360アプリケーションにインポートします。これを行うには、サブノード上の <PAM360-Installation-Directory>/bin フォルダに移動し、コマンドプロンプトを開いて以下のコマンドを実行してください:
    importCert.bat <Absolute-Path-of-the-PostgreSQL-Database-Cluster-Certificate>
  4. メインノードで生成されたZIPファイルをコピーし、サブノードで展開します:
    1. ビルド8400以降では、AppServerPack_<Hostname-of-the-Subnode>.zip ファイルを PAM360-Installation-Directory 内に解凍します。
    2. ビルド 8310 以前の場合は、<PAM360-Installation-Directory>/conf フォルダ内で ApplicationScalingPack.zip を解凍します。
  5. メインノードからpam360_key.keyファイルをコピーし、サブノードの任意のディレクトリに貼り付けてください。次に、サブノード上の <PAM360-Installation-Directory>\conf\manage_key.conf ファイルにて、pam360_key.key ファイルのフルパスを更新してください。暗号化キーがリモートパスにある場合、パスはUNC形式で入力します。
  6. <PostgreSQL-Installation-Directory>\pgsql_installation\data フォルダに移動しpg_hba.conf ファイルを開いて、設定済みのサブノードのIPアドレスを含むエントリを末尾に追加してください。例:host all <user name><ip address>/32 md5
  7. <PostgreSQL-Installation-Directory>\pgsql_installation\data フォルダに移動し、postgresql.conf ファイルを開いて listen_addresses を検索します。そして、設定対象のサブノードのIPアドレスを、カンマ区切りで指定してください。
  8. それでは、PostgreSQLサーバーを再起動してください。

    メモ:

    必要な数のサブノードすべてに対して、同じ手順を繰り返してください。

  9. 次に、PAM360 Serviceをすべてのサブノードで起動します。前の手順の結果、すべてのサブノードが同じPostgreSQLクラスターをバックエンドデータベースとして使って起動します。
  10. サブノードのデフォルトURLは、https://subnode_servername:8282のようになります。すべてのサブノードにライセンスファイルを適用するには、すべてのサブノードのURLをWebブラウザで開いてログインします。右端上のプロファイルアイコンをクリックし、[License]オプションをクリックします。ここで、ライセンスのXMLファイルを追加してアップグレードします。
  11. Admin > Server Settings > PAM360 Serverに移動し、すべてのサブノードのSSL証明書を更新してください。
  12. PAM360 Serviceをすべてのサブノードで再起動します。

これで、すべてのサブノードが、関連するSSL証明書ではじまり、バックエンドデータベースと同じPostgreSQLクラスターを使用することになります。

メインノードとサブノードの設定が完了したら、PAM360 GUI から [管理] >> [Business Continuity] >> [アプリケーションのスケーリング] に移動して、それらを表示および管理します。

pgsql-appscaling-1

3.サブノードのメインノードへの変更

下の手順にしたがって、PostgreSQLデータベースクラスターの構成されたサブノードのいずれかをメインノードに変更します。この変更は、利用可能なPAM360アプリケーションサーバーのいずれかから、いずれかの時点で実行できます。

  1. PostgreSQLデータベースクラスターは継続して実行してください。
  2. メインノードを含む、サーバー内のすべてのPAM360アプリケーションを停止します。
  3. 必要なサブノードのいずれかで、<PAM360-Installation-Directory>/binフォルダに移動し、コマンドプロンプトを開いて、オペレーティングシステムに応じてmakePrimary.batまたはmakePrimary.shコマンドを実行します。
  4. 上記のコマンドを実行すると、メインノードと利用可能なサブノードサーバーの一覧が表示されます。ドロップダウンリストから任意のPAM360アプリケーションサーバーを選択し、Saveをクリックしてください。
  5. 以前停止したすべてのアプリケーションサーバーを再起動します。
  6. これで、選択されたサブノードサーバーがメインノードとして動作を開始します。

4.PAM360 Webインターフェースからのノードベースの操作

メモ:

カスタムロールにアプリケーションスケーリング権限がある管理者とユーザーのみ、'メインノードとして機能するサーバーからサブノードを有効化、無効化、名前変更、削除、および復元できます。

4.1 サブノードの有効化または無効化

  1. [管理] >> [Business Continuity] >> [アプリケーションのスケーリング] へ移動します。
  2. [アプリケーションのスケーリング]ダッシュボードから、必要なサブノードの横のトグルボタンをクリックして、有効化または無効化します。

4.2 ノードの名前を変更する

  1. [管理] >> [Business Continuity] >> [アプリケーションのスケーリング] へ移動します。
  2. [アプリケーションのスケーリング]ダッシュボードから、必要なノードのホスト名 の横の[edit]アイコンをクリックします。
  3. 開いたポップアップで、サーバー名を更新して、[Confirm]をクリックします。
  4. これで、ノードの名前が正常に変更されました。

4.3 サブノードの削除と復元

[管理] >> [Business Continuity] >> [アプリケーションのスケーリング] へ移動します。

サブノードを削除するには:

  1. 初めに、トグルボタンを使って、サブノードを無効にします。
  2. サブノードの右上隅にある[Delete]アイコンをクリックします。開いたポップアップで、[Confirm]をクリックします。
  3. サブノードが正常に削除されました。

    メモ:

    サブノードを削除すると、アプリケーションスケーリングダッシュボードからノードのみが非表示になり、データベースクラスターからエントリが削除されることはありません。物理サーバーとサーバー別構成を削除し、PAM360全体からサーバーを削除します。

サブノードを復元するには:

  1. アプリケーションスケーリングダッシュボードの[Restore Deleted Nodes]アイコンをクリックします。
  2. 次に、復元したいサブノードを選択し、Restoreをクリックします。選択したサブノードの復元に成功しました。

    メモ:

    ノードがデータベースクラスターおよびアプリケーションサーバーから削除された場合、サブノードは復元できません。

5.ノードベース監査証跡

デフォルトでは、PAM360には、リソースユーザー、およびタスクベースの監査カテゴリが含まれます。構成が完了し、アプリケーションスケーリングが有効になったら、本製品には、メインノードと、利用可能なサブノードが個別コラムになり、各カテゴリにノードベースの監査が追加表示されます。これで、リソース監査とユーザー監査の完全監査証跡をサポートします。

監査についてさらに詳しく知りたい場合は、こちらをクリックしてください。

application-scaling4