これはJMP Live 18.0インストールヘルプです。その他のバージョンには17.217.117.016.216.116.0および15.2があります。

JMP Liveインストールヘルプ
JMP Liveのコンポーネントは以下の順序でインストールする必要があります。
1.
JMP Pro 18 のインストール
2.
JMP Liveデータベースのインストール
3.
Keycloakのインストール
4.
JMP Liveのインストール
以下のセクションではインストールしたJMP Liveの管理方法を紹介します。
移行に関する注意点
JMP Liveのアーキテクチャと認証について
JMP LiveのSSL証明書の検証
Keycloakを手動で接続してJMP Liveを開始
JMP Liveへの発行を有効または無効にする
JMP Proの承認
コードモジュールの更新
Windowsサービスのアンインストール
JMP Liveデータベースの維持
JMP Pro 18 のインストール
メモ: JMP Liveをインストールする前に、JMP Pro 18をインストールする必要があります。
JMP Pro 18をインストールするには、まずjmppro_1800_win.exeファイルをダブルクリックし、その後は、画面の指示に従ってください。このファイルはJMPからダウンロードしたZIPファイルに含まれています。
JMP Liveデータベースのインストール
JMP Liveデータベースをインストールすると、PostgreSQL 14.5とJMP Live専用のデータベースがインストールされます。これには、アカウントのオーナーログとデータベーススキームが含まれます。
メモ: 先に進む前に、JMP Liveデータベース用に使用するすべてのリスニングポートに対してアクセスが許可されているかどうかを、Windowsの設定で確認してください。
先に進む前に注意すべき事項
JMP Liveデータベースをインストールするためには、Windows Serverの管理者としてログインしなければなりません。
JMP Liveを初めてインストールする場合は、JMP Liveデータベースのインストールにある通常の手順に従ってください。
JMP Liveがすでにインストールされている場合は、PostgreSQLデータベースのアップグレードの手順に従ってください。
PostgreSQLデータベースのバージョン14以上がすでにインストールされている場合は、JMP LiveデータベースインストーラではなくSQLを使用してデータベースを追加できます。詳細については、既存のデータベースを使用したJMP Liveのインストールを参照してください。
JMP Liveデータベースのインストール
1.
「JMPLiveDatabase.msi」をダブルクリックします。
このファイルはJMPからダウンロードしたZIPファイルに含まれています。
図1.1 JMP Liveデータベース設定ウィザード
JMP Live Database Setup Wizard
2.
[次へ]をクリックします。
図1.2 インストールフォルダを指定
Specify Installation Folders
3.
JMP LiveデータベースとPostgreSQLデータベースのインストール先を指定します。
デフォルトのインストール先をそのまま使う場合は、[次へ]をクリックします。
インストール先のフォルダを変更するには、[参照]をクリックします。
メモ: PostgreSQLデータベースのインストール先ディレクトリに十分な空き容量があることを確認してください。
図1.3 データベースのパラメータを指定
Specify Database Parameters
4.
次のパラメータを入力します。
メモ: アップグレードする場合は、これらのパラメータがJMP Live環境ファイルにある値と一致することを確認してください。詳細については、(オプション)詳細設定を参照してください。
ポート: PostgreSQLが他のデータベースと通信する際に使用するTCPポート。通常は5432です。PostgreSQL 11からアップグレードする場合、前のデータベースと同じポート番号を使用することはできないので、5433を使用することをお勧めします。
データベース名: JMP Liveが使用するデフォルトのデータベースの名前。webjmpをそのまま使用することをお勧めします。管理者ユーザIDのdba_webjmpは変更できません。
管理者パスワード: 管理者パスワードはデフォルトでPassword1に設定されています。パスワードを変更することを強くお勧めします。
メモ: 使用できる文字は、A~Z、a~z、0~9、;,/?:@&=+$#-_.!~*'()です。
図1.4 JMP Liveデータベースのインストールを開始
Start JMP Live Database Installation
5.
[インストール]をクリックします。
6.
インストールが完了したら、[完了]をクリックします。
7.
JMP Liveのインストールに進む前にコンピュータを一度再起動し、PostgreSQLサーバーが起動することを確認します。データベースが起動したかどうかは、pgAdminツールで調べることができます。
ネットワークセキュリティの注意事項
インストールの途中で、データドライブの場所(デフォルトでは、C:\Program Files\PostgreSQL\14\data)にpg_hba.confという名前のネットワークアクセス許可ファイルが追加されます。このファイルの形式は、PostgreSQLに対応しています。JMPが提供しているバージョンのファイルでは、インストールしたコンピュータの外からネットワーク経由でデータベースにアクセスできるようになっています。そのため、JMP Liveをインストールしたコンピュータの外にデータベースを分散させることもできます。このようなタイプのアクセスを希望しない場合は、必ずpg_hba.confの設定を変更してください。ファイル自体に方法が記述されていますが、PostgreSQLのサイトで関連する情報を検索することもできます。
PostgreSQLデータベースのアップグレード
JMP Liveのインストールまたはアップグレードを行うときは、JMPによって提供される最新バージョンのPostgreSQLをインストールすることをお勧めします。PostgreSQLデータベースをアップグレードするには、PostgreSQLのWebサイトにあるデータベースの移行手順に従ってください。一般に、この手順は次のようなステップで成り立っています。
1.
Postgresのpg_dumpユーティリティでexport large objectsのオプションを指定して、データベースのコピーを作成・保存します。
2.
旧バージョンのPostgreSQLをアンインストールします。データディレクトリを保持する必要がありますが、これはデフォルトで自動的に行われます。
3.
新しいバージョンのPostgreSQLをインストールします。データの場所は旧バージョンの時と同じにします。
4.
データが見つからない場合は、Postgresが提供しているpg_restoreユーティリティを使って以前のデータを新しいデータベースにロードします。
既存のデータベースを使用したJMP Liveのインストール
互換性のあるPostgreSQLのバージョン(14以上)がすでにある場合は、JMP Liveデータベースをインストールせずに、必要なデータベースやスキーム、ログイン情報を自分で追加することができます。pgAdminツールその他の、クエリが使えるデータベース探索ツールで、次のようなSQLを使用します。
CREATE USER dba_webjmp WITH CREATEDB CREATEROLE LOGIN ENCRYPTED PASSWORD 'Password1';
CREATE DATABASE webjmp WITH OWNER dba_webjmp;
\connect webjmp
CREATE SCHEMA IF NOT EXISTS webjmp AUTHORIZATION dba_webjmp;
デフォルトの名前を変更する場合は、JMP LiveとJMPPoolの環境ファイルの中でデータベースへのアクセスが記述されている箇所でも名前を変更しなければなりません。詳細については、(オプション)詳細設定を参照してください。
Keycloakのインストール
メモ: JMP LiveデータベースをにインストールしてからKeycloakをインストールし、KeycloakのでJMP Liveをインストールしてください。
JMP Liveは、ID管理やアクセスなどの認証管理にKeycloakを使用します。JMP Liveユーザがログインする際、バックグラウンドではKeycloakで認証が行われます。Keycloakは、さまざまなIDプロバイダーに対応し、フェデレーション方式のシングルサインオン機能を提供しているため、JMP Liveユーザは使い慣れたメカニズムでアクセスできます。
ヒント: Keycloakのインストールは簡単です。Keycloakをインストールし、実行すると、IDプロバイダーへの接続に必要なカスタマイズの大部分が自動的に行われます。
Keycloakの更新
JMP Live 17からJMP Live 18に更新する場合は、次のような手順が必要です。
1.
JMP Live 17バージョンのKeycloakの管理者設定およびデータベース設定を把握していることを確認してください。JMP Live 18バージョンのKeycloakでも同じ情報が必要になります。
2.
JMP Live 17バージョンのKeycloakをアンインストールします。
3.
(推奨されるオプション)古いKeycloakディレクトリの名前を変更します(たとえば、Keycloak.old)。
このディレクトリの場所は、デフォルトではC:\Program Files\SAS\Keycloakです。
4.
JMP Live 18バージョンのKeycloakをインストールします。
Keycloakのインストール
1.
「Keycloak.exe」をダブルクリックします。
このファイルはJMPからダウンロードしたZIPファイルに含まれています。
図1.5 インストーラの言語を選択
Select Your Setup Language
2.
インストーラの言語を選択し、[次へ]をクリックします。
図1.6 Keycloakの「ようこそ」ウィンドウ
Keycloak Welcome Window
3.
[次へ]をクリックします。
図1.7 Keycloakのインストール先を指定
Specify the Keycloak Install Location
4.
Keycloakのインストール先となる場所を指定し、[次へ]をクリックします。
メモ: Keycloakファイルは、インストールディレクトリ内のサブフォルダに配置されます。このサブフォルダは、移動や変更ができません。
図1.8 Keycloak管理者を設定
Set Up the Keycloak Administrator
5.
管理者のログイン情報を指定し、[次へ]をクリックします。
デフォルトでは、ユーザ名はkeycloakadmin、パスワードはpasswordに設定されています。パスワードを変更することをお勧めします。
図1.9 Javaのインストール先を指定
Specify the Java Install Location
Keycloakのインストールプロセスでは、Azul Javaもインストールされます。Azul Javaがすでにインストールされている場合は、何も変更されません。
6.
Javaのインストール先となるディレクトリを指定し、[次へ]をクリックします。
メモ: インストーラによってWindowsの[システムの詳細設定]にJAVA_HOME環境変数が追加されます。
図1.10 ポートとサービスの設定
Configure Ports and Services
7.
次のようなKeycloakの詳細を指定します。
HTTPポート: HTTPネットワークポートを入力します。デフォルトのポートは8888です。このポートは、Keycloakサーバーに対して開いている必要があります。
HTTPSポート: HTTPSネットワークポートを入力します。デフォルトのポートは8443です。このポートは、Keycloakサーバーに対して開いている必要があります。
Keycloakホスト名(DNS): Keycloakサーバーのホスト名を入力します。
KeycloakをWindowsサービスとしてインストール: このオプションを選択すると、KeycloakがWindowsサービスとしてインストールされます。WindowsサービスとしてインストールしたKeycloakは、自動的に開始され、コンピュータが再起動したときも自動的に開始されるので、常に実行中になります。このオプションを選択しなかった場合は、初回やコンピュータの再起動時に手動でKeycloakを開始しなければなりません。このオプションはデフォルトで選択されているので、そのままにすることをお勧めします。
8.
[次へ]をクリックします。
図1.11 Keycloakの証明書を指定
Specify Keycloak Certificates
Keycloakは、ユーザの組織の真正性を保証し、KeycloakとIDプロバイダーの間での安全な接続を可能にするためにSSL証明書を必要とします。
注意: 証明書を指定しないと、インストールが完了しません。
9.
組織のSSL証明書の場所を指定します。証明書は、認定プロバイダーから入手する必要があります。
SSL証明書とは、ブラウザとWebサーバーの安全な通信を可能にする暗号鍵をテキストファイルにまとめたものです。暗号鍵は、各組織に固有のもので、DigiCert、Symantec、Network Solutionsなどのサードパーティベンダーから提供されます。JMP Liveを証明書なしで実行することはできません。
公開鍵として指定するファイルには、証明書・中間証明書・ルート証明書をこの順序で連結したものが含まれていなければなりません。
秘密鍵のファイルは、公開鍵証明書と同じサードパーティーベンダーから提供されます。
10.
[次へ]をクリックします。
図1.12 データベースパラメータを指定
Configure Database Parameters
Keycloakは、ユーザやクライアントに関する情報をデータベースに保存します。
11.
データベース情報を入力します。
メモ: 次の情報は、JMP Liveデータベースのインストール時に入力した情報と一致する必要があります。詳細については、JMP Liveデータベースのインストールを参照してください。
データベースのホスト名: JMP Liveデータベースがあるコンピュータの別名またはDNS名を入力します。
データベースポート: データベースが待機(リッスン)するポートを入力します。
データベース名: JMP Liveデータベースの名前を入力します。
データベースのユーザ名: データベース管理者のユーザ名を入力します。
データベースのパスワード: データベース管理者のパスワードを指定します。
12.
[次へ]をクリックします。
図1.13 Keycloakのインストール準備が完了
Ready to Install Keycloak
13.
[インストール]をクリックして続行します。
図1.14 完了ウィンドウ
Completion Window
14.
[完了]をクリックします。
JavaとKeycloakのそれぞれに処理があるため、プロセスの完了に数分かかることがあります。進行状況を示すインジケータとコマンドプロンプトが表示されます。
KeycloakをWindowsサービスとして実行するオプションを選択した場合は、インストールが完了した時点でKeycloakが実行されているはずです。オプションを選択しなかった場合は、次のコマンドを使って手動で開始します。
<keycloakディレクトリ>\bin\kc.bat start --optimized
15.
ブラウザを開き、図 1.10で指定したHTTPポートまたはHTTPSポートを使用してKeycloakの「Welcome」ページに移動します。デフォルトのポートを選択した場合、これはhttp://localhost:8888/authまたはhttps://localhost:8443/authになります。
図1.15 Keycloakの「Welcome」ページ
Keycloak Welcome Page
16.
[Administration Console]をクリックします。
図1.16 Keycloak Administration Consoleの一般オプション
Keycloak Administration Console General Options
ユーザアクセスを設定するには、Keycloakのマニュアルを参照してください。
17.
JMP Liveのインストールに進みます。
JMP Liveのインストール
メモ: JMP LiveのインスタンスにWeb Application Firewall(WAF)ルールを適用している場合は、SizeRestrictions_BODYルールを無効にしないとJMP Liveが機能しません。
1.
(JMP Liveのインストールに、Windowsリモートデスクトップを使用している場合にのみ必要です。それ以外の場合は、ステップ2へ進んでください。)[セッションごとの一時フォルダを使用しないオプションが有効になっていることを確認してください。
a.
Windowsコンピュータで、コマンドプロンプトを開きます。
b.
「cd %temp%」と入力します。
その結果、C:\ユーザー\<ユーザID>\AppData\Local\Temp\2>に移動した場合は、[セッションごとの一時フォルダを使用しない]無効になっていることを意味します。その場合は、このオプションを有効にしてからJMP Liveのインストールに進んでください。
C:\ユーザー\<ユーザID>\AppData\Local\Temp>に移動した場合は、[セッションごとの一時フォルダを使用しない]有効になっているため、そのままJMP Liveのインストールに進むことができます。
2.
「JMPLive.exe」をダブルクリックします。
このファイルはJMPからダウンロードしたZIPファイルに含まれています。
図1.17 インストーラの言語を選択
Select Your Setup Language
3.
インストーラの言語を選択し、[次へ]をクリックします。
図1.18 JMP Liveの前提条件の設定ウィザード
JMP Live Prerequisites Setup Wizard
4.
[次へ]をクリックします。
図1.19 Node.jsのインストールパスを選択
Select Installation Path for Node.js
5.
Node.jsのインストール先を指定します。
デフォルトのインストール先をそのまま使う場合は、[次へ]をクリックします(推奨)。
インストール先のフォルダを変更するには、[参照]をクリックします。
図1.20 インストールする前提条件を選択
Select Prerequisites to Install
Node.jsは必須のインストール項目であるため、デフォルトで選択されています。
6.
[次へ]をクリックします。
図1.21 JMP Lives設定ウィザード
JMP Live Setup Wizard
7.
[次へ]をクリックします。
図1.22 インストールフォルダを指定
Specify Installation Folder
8.
JMP Liveのインストール先を指定します。
デフォルトのインストール先をそのまま使う場合は、[次へ]をクリックします(推奨)。
インストール先のフォルダを変更するには、[参照]をクリックします。
インストール先を変更した場合は、次の点に注意してください。
JMP Liveは指定した場所にインストールされますが、PostgreSQLは常にデフォルトの場所にインストールされます。
JMP Liveはログ情報を生成するので、新しいインストール先に十分なディスク容量があることを確認してください。推奨する最小容量は1 GBです。
図1.23 コンポーネントの選択ウィンドウ
Component Selection Window
9.
このコンピュータにインストールしたいコンポーネントを(少なくとも1つ)選択します。
このコンピュータに両方のコンポーネントをインストールする場合は、両方が選択された状態のまま、次に進みます。
コンポーネントを異なるコンピュータに分散させる場合は、このコンピュータにインストールするコンポーネントのみを選択してください。もう一方のオプションをインストールするには、別のコンピュータでもう一度インストーラを実行しなければなりません。
メモ: ワーカープールアーキテクチャ用にインストールをする場合は、JMP Pool Managerを選択し、ステップ16に進んでください。詳細については、JMP Liveのアーキテクチャと認証についてを参照してください。
10.
(オプション)選択したコンポーネントをWindowsサービスとしてインストールするかどうかを指定します。
このオプションを選択する場合は、次の点に注意してください。
ログインしているかどうかに関わらず、JMP Liveはバックグラウンドで実行されます。
コンピュータが再起動すると、JMP Liveのサービスが自動的に再開されます。
Windowsコンソールではなくログ(テキスト)ファイルに情報が書き込まれます。ログファイル用に十分な容量があることを確認し、ストレージの問題が発生しないように定期的にログファイルを削除してください。以下は、ログファイルのデフォルトの場所です。
C:\Program Files\JMP\JMP Live\JMPLive\build\daemon\webjmpsvc.out.log
C:\Program Files\JMP\JMP Live\JMPPool\build\daemon\jmppoolsvc.out.log
図1.24 ポートとデータベースの詳細を指定
Specify Ports and Database Details
11.
JMP Webサーバーに関して次の指定を行ってください。
Webサーバーポート: ブラウザからのリクエストを取得するHTTPSポートを入力します。デフォルトでは、3501に設定されています。ポート443(デフォルトのHTTPSポート)を指定することもできますが、専用のポートを使用した方が監視やアクセスの制御がしやすくなります。Webサーバーコンポーネントの手前にアプリケーションロードバランサーをインストールする場合は、このポートを指定してください。
データベースのホスト名: ポート:
JMP Live用のPostgreSQLデータベースを実行しているコンピュータのDNS名を入力します。デフォルトの名前はlocalhost(インストールコンピュータ)ですが、PostgreSQLを実行している専用サーバーを指定するのが普通です。このコンピュータは、企業のファイアウォールの内部、ファイアウォールの外、クラウドサービスのいずれにあるものでもかまいません。
PostgreSQLのインストール時に外部からの通信用として指定したポートを入力します。デフォルトのPostgreSQLポートは5432です。詳細については、図 1.3を参照してください。
データベース名: PostgreSQLの中でJMP Liveデータベースに設定された名前を入力します。データベースインストーラが使用するデフォルトの名前はwebjmpです。この名前の変更は可能ですがお勧めしません。
データベースのユーザ名およびデータベースのパスワード: JMP Liveデータベースのインストール時に指定した管理者ユーザIDとパスワードを入力します。データベースのユーザ名はdba_webjmpを使用し、パスワードはデフォルトのもの(Password1)を変更し使っていることでしょう。ここには、その変更後のパスワードを入力してください。
データベース接続にSSLを使用: PostgreSQLデータベースがSSLで暗号化された通信を必要とする場合は、このオプションを選択します。
図1.25 管理者アカウントの作成
Create an Administrator Account
メモ: 管理者アカウントの作成を強くお勧めします。ただし、JMP Liveを前のバージョンからアップデートするところで、データベースですでに管理者アカウントが存在している場合は、[管理者アカウントを今すぐ作成]ボックスの選択を解除してこの手順をスキップしてください。
12.
JMP Liveへのログインに使用する管理者ユーザ名を入力します。パスワード(デフォルトはpassword)と、JMP Liveにコンテンツを投稿する際に表示される表示名を指定します。次のことに注意してください。
管理者ユーザ名は小文字を使用しなければならず、スペースを含むことはできません。
管理者アカウントを作成したら、このアカウントにログインして他のユーザを管理者に指定することができます。
管理者アカウントは、いつでもコマンドラインインターフェースを使って作成できます。JMP Liveデータベースの維持を参照してください。
図1.26 SSL証明書を指定
Specify SSL Certificates
13.
組織のSSL証明書に移動するか、SSL証明書の名前を入力します。
SSL証明書とは、ブラウザとWebサーバーの安全な通信を可能にする暗号鍵をテキストファイルにまとめたものです。暗号鍵は、各組織に固有のもので、DigiCert、Symantec、Network Solutionsなどのサードパーティベンダーから提供されます。JMP Liveを証明書なしで実行することはできません。
プライマリの証明書と鍵は、購入者に対して設定されています。ルート(CA)証明書は、サードパーティベンダーによって提供されます。中間証明書とルート証明書が同じベンダーから提供されたものである場合は、テキストエディタを使って、中間証明書・ルート証明書の順で1つのファイルに連結しなければなりません。そうして作成したファイルを、ルート(CA)ファイルとして指定します。
JMP Liveインストーラによって、ローカルホスト上で最小限のテストをするための証明書セットが用意されています。ただし、サイトをローカルのブラウザで閲覧すると警告が表示されます。また、インストールコンピュータ以外のブラウザからはサイトにアクセスできません。
ヒント: SSL証明書は、JMP Liveのインストールが完了した後に検証できます。詳細については、JMP LiveのSSL証明書の検証を参照してください。SSL証明書検証ユーティリティを実行するには、node.jsのコマンドラインから、 下記のディレクトリへ行きコマンドを入力します: C:\Program Files\JMP\JMP Live\JMPLive>npm run check-ssl
14.
Cookieの有効期限: JMP LiveにサインインしたことをJMP Webコンポーネントにどれだけの間記憶させるかを指定します。
デフォルト値は720分(12時間)ですが、セキュリティを高めたいときは時間を短くしてください。
Cookieの有効期限は、アイドルタイムアウトとは異なります。サイトの使用を継続することはできますが、Cookieの期限が切れた時点でもう一度サインインする必要があります。
図1.27 Keycloakの設定
Set Up Keycloak
メモ: Keycloakを使用する代わりに、Microsoft Active Directoryへの直接接続を追加することもできます。詳細については、Active DirectoryまたはLDAPの使用を参照してください。この方法は将来のバージョンのJMP Liveではサポートされなくなりますのでご注意ください。
15.
Keycloakに関して次のような設定を行います。
Keycloak ID管理を使用: Keycloak認証システムを有効にします。このオプションを選択しない場合は、ローカル認証が使用されます。この場合、JMP Liveでアカウントを作成する必要があります。これらのユーザは、他のIDプロバイダーに対しては認証されません。KeycloakとIDプロバイダーの接続については、Keycloakのマニュアルを参照してください。
Keycloakの別名(DNS名): Keycloakの認証サービスを実行しているサーバーの名前を入力します。
KeycloakのHTTPSポート: Keycloakがリクエストを待機するポートの番号を入力します。デフォルトのポートは8443です。
管理者名: Keycloak内のJMP Live realmの管理者名を入力します。Realmは、JMP Liveのログイン情報を、Keycloak認証を使用する可能性のある他のソフトウェアとは別の場所に維持します。
管理者パスワード: KeycloakのJMP Live Realmの管理者パスワードを入力します。
JMP Liveの別名(DNS名): メインのJMP Liveサイトを実行するコンピュータの名前を入力します。
図1.28 Pool Managerの設定
Configure the Pool Manager
16.
このコンピュータでPool Managerを実行する場合は、[Pool Managerとして設定]ボックスを選択します。
1台のコンピュータですべてのコンポーネントを使用する場合、または1台のコンピュータでPool ManagerとJMPセッションを使用する場合は、このオプションを選択します。
このコンピュータをワーカープールだけに使用する場合は、このオプションを選択しないでください。
17.
Pool Mangerのオプションを指定します。
JMP Liveの別名(DNS名): DNS名を入力します。通常は、machine name.domain name.com/orgという形式です。次のことに注意してください。
localhostオプションを使ってすべてのコンポーネントをインストールする場合を除き、Webホスト名を指定する必要があります。
すべてのコンポーネントを1台のコンピュータにインストールした場合でも、安全な接続のために組織のSSL証明書を使用することになるでしょう。その場合、通常証明書はコンピュータに関連付けられているため、コンピュータ名をWebホスト名として入力します。
Pool Managerのホスト名: ([Pool Managerとして設定]を選択した場合は無効です。)ワーカープールを別のコンピュータにセットアップしている場合は、Pool Managerの任務をこなすコンピュータのDNS名を入力します。
Webサーバーポート: (すべてのコンポーネントを1台のコンピュータにインストールしている場合は、ポート番号がすでにJMP Webコンポーネントで指定されているのでこのオプションは無効です。)JMP Poolコンポーネントだけをインストールする場合は、JMP Webコンポーネントを別のコンピュータにインストールしたときに使用したポートを入力します。
Poolリスニングポート: このプールがJMP Pool ManagerとJMP Webコンポーネントからの通信を待機(リッスン)するポートを入力します。
Pool Managerのリスニングポート: (ワーカープールを設定している場合のみ有効です。)JMP Pool Managerの設定でPoolリスニングポートとして指定したポートを入力します。ワーカープールは、JMP Pool Managerにこのポートが使用可能であることを伝える必要があります。
図1.29 JMPの設定
Configure JMP Settings
セッションがJMP Pool Managerまたはワーカープールの一部かどうかに関係なく、JMPセッションの作成をサポートするすべてのコンピュータに、JMPのインストーラを使ってJMPがインストールされている必要があります。レポートが変更されると、JMP Liveの処理を行うためにこれらのJMPセッションが開始されます。
18.
次のようなJMPの詳細を指定します。
JMPセッションの基本ポート: JMPセッションがJMP Pool Managerとの通信に使用する基本ポートを入力します。JMPの各インスタンスには、この基本ポートの番号から始まる一意の番号が割り当てられます。
JMP実行ファイルのパス: JMP Proがある場所のパスを入力します。デフォルトのインストールパスが表示されるので、JMP Proを他の場所にインストールした場合のみ、パスを変更してください。
プールの初期セッション数: プールの初回実行時に開始されるJMPセッションの数を入力します。
プールの最大セッション数: このプールの一部としてこのコンピュータで実行できるJMPセッション数の上限を入力します。初期セッション数として指定された数がすべて使用されているとき、セッションが追加されます。
メモ: Pool Managerをインストールしていて、それを他のワーカープールへのリソース配分だけに使用したい場合は、初期セッション数と最大セッション数を0に設定できます。その場合、ワーカープールを設定し、実行するまで、サイトは機能しません。
図1.30 JMPの設定
Configure JMP Settings
コンポーネントをWindowsサービスとしてインストールすることを選択した場合は、図 1.30が表示されます。そうでない場合は、図 1.31に進みます。
19.
JMP Poolサービスアカウントのログイン情報を指定します。
JMP Proの承認に使うドメイン: このコンピュータでJMP Proの承認に使うユーザのネットワークドメインを入力します。ローカルの管理者アカウント(クラウドサービスのものなど)を使用している場合は、ホスト名を入力します。
ヒント: ホスト名を調べるには、まずWindows + rキーを押してください。「cmd」とタイプし、[OK]をクリックします。「hostname」とタイプし、Enterを押します。
JMP Proの承認に使うユーザID: このコンピュータでJMP Proの承認に使うユーザ名を入力します。
JMP Proの承認に使うパスワード: このコンピュータでJMP Proの承認に使うユーザのパスワードを入力します。
ヒント: ユーザ名とパスワードは控えておいてください。ログインしてプール用にJMP Liveの承認をする際に必要になります。詳細については、JMP Proの承認を参照してください。
パスワードをもう一度入力: 確認のためにパスワードを再入力します。
図1.31 JMPの設定
Configure JMP Settings
20.
次のようなJMPの詳細を指定します。
アイドルタイムアウト(秒): ここに入力した秒数の間、操作を行わないと、JMP Webコンポーネントとの接続が切断され、新しいリクエストが待機されます。
Webサーバー待機のタイムアウト(ミリ秒): 実行中のトランザクションにおいて、ここに入力したミリ秒数の間、通信がないと、そのワークリクエストが中断され、破棄されます。
データベースのユーザ名: データベース管理者のユーザ名を入力します。
データベースのパスワード: データベース管理者のパスワードを指定します。
SSLルート証明書: (JMP Pool Managerコンポーネントのみをインストールしている場合に表示されます。)組織の認証局ファイルがある場所を入力します。
図1.32 JMP Liveのインストールを開始
Start JMP Live Installation
21.
[インストール]をクリックしてJMP Liveインストールを開始し、インストールが完了したら[終了]をクリックします。
JMP Liveが自動的にKeycloakに接続するので、ステップ15で入力したJMP Liveの別名を使って、JMP Liveにログインできます。JMP Liveにログインできない場合は、手動で接続を確立する必要があります。詳細については、Keycloakを手動で接続してJMP Liveを開始を参照してください。
22.
JMP Proの承認に進みます。詳細については、JMP Proの承認を参照してください。
ヒント: JMP Proの承認を行った後、Active Directoryからユーザやグループを読み込んでJMP Liveに追加することが可能になります。詳細については、JMP Liveヘルプを参照してください。
JMP Proの承認
JMP ProとJMP Liveをインストールした後、JMP PoolサービスのためにJMP Proの承認を行う必要があります。JMPの承認は、初回の承認後も定期的に行わなければなりません。再承認が必要になる日付は、JMP Liveの[管理者]>[サーバー]で確認できます。
ヒント: 再承認は、Poolの使用率がピークに達する時間帯を避けて行うことをお勧めします。再承認によってPoolに多少のダウンタイムが生じる可能性があります。
JMP Proを承認または再承認するには
1.
JMP Poolサービスを実行しているマシンにログインします。
JMP PoolをWindowsサービスとして実行している場合は、JMP Proをアクティベートしたユーザとしてログインします。これは、Windowsサービスを実行しているユーザと同じなければなりません。
JMP PoolをWindowsのコマンドラインを使って実行している場合は、JMP Proを承認したユーザとしてログインします。
2.
(このステップは、期限より前に再承認を行う場合のみ実行してください。)
a.
Windowsのレジストリに移動します。Windowsアイコンをクリックし、[レジストリ エディター]とタイプします。
b.
レジストリから次のフォルダを削除します: Computer\HKEY_CURRENT_USER\SOFTWARE\JMP\JMPPRO\18.0\License
3.
jmp.exeファイルを開きます(デフォルトの場所は C:\Program Files\JMP\JMPPro\18)。
4.
プロンプトに従って承認を行います。承認後JMP Proが起動したら、すぐに終了してかまいません。
5.
JMP Liveで、[管理者]>[Pool]をクリックします。[すべて終了]Image shown hereをクリックしてすべてのJMPセッションを強制的に再ロードします。
(オプション)詳細設定
JMP Liveのインストールの中で、いくつかの設定を行います。これらの設定を後で変更する場合、または詳細な設定を追加する場合は、環境ファイル(.env)を更新します。JMP LiveとJMP Pool Managerのコンポーネントは、デフォルトで次の場所に環境ファイルを作成します。
C:\Program Files\JMP\JMP Live\JMPLive
C:\Program Files\JMP\JMP Live\JMPPool
注意: 環境ファイルに変更を加えるときは、十分な注意を払ってください。些細なミスでもJMP Liveが機能しなくなる原因になります。
環境ファイルを変更したら、その内容を反映させるため、コンポーネントを再起動する必要があります。コンポーネントを再起動する方法については、Keycloakを手動で接続してJMP Liveを開始を参照してください。
JMP Live環境ファイルの設定
ADMIN_LANG
(オプション)CLIツールを使用する際の表示言語を設定する。オプションには、de(ドイツ語)、en(英語)、es(スペイン語)、fr(フランス語)、it(イタリア語)、ja(日本語)、ko(韓国語)、zh-CN(中国語)があります。
APIKEY_ENABLED
(オプション、ブール値)ユーザがJSLを使ってJMP Live APIにアクセスする際にキーが必要かどうかを指定する。ユーザは、JMP Liveのユーザプロファイルを通じてAPIキーを取得できる。デフォルトの値は1(有効)。
AUTH_SCHEME
(必須)JMP Webコンポーネントが使用する認証スキーム。可能な値は、keycloak、ldap、local。この項目は、1つのJMP Serverインスタンスで1度だけ設定し、空白のデータベースを使って最初からやり直す場合以外は変更しないようにしてください。
CIPHERS
(オプション)許可される暗号スイートを、引用符なしの、カンマ区切りのリストとして指定する。デフォルトでは、次の暗号スイートが許可されている。
TLS_AES_128_GCM_SHA256
TLS_AES_256_GCM_SHA384
TLS_AES_128_CCM_SHA256
TLS_AES_128_CCM_8_SHA256
ECDHE-RSA-AES128-GCM-SHA256
ECDHE-ECDSA-AES128-GCM-SHA256
ECDHE-RSA-AES256-GCM-SHA384
ECDHE-ECDSA-AES256-GCM-SHA384
これらの暗号の一部だけを許可したい場合は、カンマ区切りのリストを指定する。たとえば:
CIPHERS=TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_AES_128_CCM_SHA256,TLS_AES_128_CCM_8_SHA256
COOKIE_EXPIRE_MINUTES
(オプション)セッションCookieが有効な時間の長さを分を単位として指定する。_MINUTESと_SECONDSの両方を指定した場合は、時間の長い方が適用される。デフォルトの値は720(12時間)。
COOKIE_EXPIRE_SECONDS
(オプション)セッションCookieが有効な時間の長さを秒を単位として指定する。_MINUTESと_SECONDSの両方を指定した場合は、時間の長い方が適用される。COOKIE_EXPIRE_SECONDSを使用する場合は、COOKIE_EXPIRE_MINUTESを0に設定すること。デフォルト値は、許可される最小値である5秒。
COOKIE_SAMESITE_NONE
(オプション)JMP Liveで使用するCookie SameSite属性の値を指定する。
JMP Liveのコンテンツを他のアプリケーションに組み込みたい場合は、値をLax (0)に設定するとうまくいかないので注意。これがデフォルト値です。
値をNone (1)に設定した場合、ブラウザの設定によって阻止されなければ、組み込みは可能。
COOKIE_SECRET
(必須)このJMP LiveインスタンスのセッションCookieに対してハッシュを計算するためのシークレット。
DB_DATABASE
(必須)使用するDB_HOST上のPostgreSQLデータベースの名前。通常は、webjmp
DB_HOST
(必須)PostgreSQLデータベースを実行しているコンピュータのホスト名。「ホスト名:ポート」の形式を取る。ポートは必ず含めること。
DB_MAX_CONN_JMP_LIVE
JMP Liveの1つのインスタンスが並行して保持できるデータベース接続の最大数。デフォルトの値は25です。この値は、次のような点を考慮して設定します。
データベース自体に(postgresql.conf内で)定義されている「max_connections」の値を超えることはできない。
1つのクラスターでJMP Liveのインスタンスを複数実行する場合もありうる。
「max_connections」の値は、JMP LiveとJMP Poolの間で分割される(JMP Liveに80%、JMP Poolに20%の割り当てを推奨します)。
DB_PASSWORD
(必須)DB_USERNAMEがPostgreSQLへの接続時に使用するパスワード。
DB_SSL_CA_FILE
(オプション)安全なSSLモードで実行するための認証局ファイルの相対パス。
DB_SSL_CERT_FILE
(オプション)相互SSL認証を使用する際のクライアント証明書公開鍵ファイルの相対パス。
DB_SSL_INSECURE
(オプション)クライアント証明書が信頼の置ける機関によって署名されているかを、PostgreSQLが検証するかどうかを指定する。デフォルト値は0(検証する)。検証させない場合は、値を1に設定する。
DB_SSL_KEY_FILE
(オプション)相互SSL認証を使用する際のクライアント証明書秘密鍵ファイルの相対パス。
DB_SSL_ON
(オプション)JMP LiveからPostgreSQLに接続する際にSSLの使用が必須であるかどうかを指定する。デフォルト値は0(JMP Live接続でSSLは必須ではない)。SSLの使用を必須にするには、値を1に設定する。
DB_USERNAME
(必須)PostgreSQLユーザのユーザ名。通常は、dba_webjmp。
DEBUG_DEV
(オプション)コードにあるデバッグステートメントのうち、どれがアクティブでどれがアクティブでないかを示す文字列をカンマで区切ったリスト。デフォルト値はなし。
DEBUG_DEPTH
(オプション)デバッグステートメントにおいて、どの深さまでのオブジェクトをログに送信するかを指定する(たとえば、「debug('This is my object: %O', myObject);」)。デフォルト値は10です。
JMPLIVE_BASEURL
(必須)JMP PoolやKeycloakなどのコンポーネントがJMP Liveサイトと通信するときに使用するURL。
LOG_HTTPHEADERS
(オプション、ブール値)HTTPリクエストのプリティプリントのログレコードにHTTPヘッダを含めるかどうかを指定する。デフォルトの値は0(ヘッダを含めない)。
LOG_LEVEL
(オプション)このJMP Serverインスタンスでアクティブなbunyanロガーメッセージの最低レベルを設定する。これらのメッセージは、Logglyに渡される。可能な値は、trace、debug、info、warn、error、fatal。コード内のロガーの行は、「logger.debug(...);」のようになる。デフォルト値はinfo。
LOG_PRETTY
(オプション、ブール値)コンソールストリーム内のbunyanログを生のJSON(0)とプリティプリント(1)のどちらで表示するかを指定する。これは、コンソールストリームだけを対象とした設定で、Logglyストリームは常に生のJSONで表示される。デフォルトの値は0(生のJSON)。
LOGGLY_SUBDOMAIN
(オプション)Logglyにログレコードを送信するためのサブドメインを設定する。
LOGGLY_TOKEN
(オプション)Logglyにログレコードを送信する際に使用するトークンを設定する。
NODE_ENV
(必須)JMP Serverにとって正しいモードである「production」に設定する。
PORT
(必須)このJMP Liveのインスタンスが実行されているHTTPSポート。
SESSION_TICKET_EXPIRE_HOURS
(オプション)Ticketsテーブル内でJMPセッションチケットレコードを保持する時間を時間を単位として指定する。これは、JMPセッションを対象とするもので、ログインセッションには適用されない。_MINUTESと_HOURSの両方を指定した場合は、時間の長い方が適用される。デフォルト値は24時間。
SESSION_TICKET_EXPIRE_MINUTES
(オプション)Ticketsテーブル内でJMPセッションチケットレコードを保持する時間を分を単位として指定する。この時間が過ぎるとレコードは削除される。これは、JMPセッションを対象とするもので、ログインセッションには適用されない。デフォルトの値は1440(24時間)。
SESSION_PURGE_INTERVAL_MINUTES
(オプション)有効期限の切れたセッションをデータベースからパージする頻度を、分を単位として指定する。_MINUTESと_SECONDSの両方を指定した場合は、時間の長い方が適用される。デフォルト値は15分。
SESSION_PURGE_INTERVAL_SECONDS
(オプション)有効期限の切れたセッションをデータベースからパージする頻度を、秒を単位として指定する。_MINUTESと_SECONDSの両方を指定した場合は、時間の長い方が適用される。SESSION_PURGE_INTERVAL_SECONDSを使用する場合は、SESSION_PURGE_INTERVAL_MINUTESを0に設定すること。デフォルト値は、許可される最小値である5分。
SSL_CA_FILE
(オプション)認証局ファイルの相対パス。
SSL_CERT_FILE
(オプション)証明書ファイルの相対パス。
SSL_KEY_FILE
(オプション)証明書のKEYファイルの相対パス。
JMP Pool環境ファイルの設定
APPLYPACKAGEPREFS
(オプション、ブール値)パッケージに保存されている環境設定をサーバーに適用するかどうかを指定する。0は偽、1は真。デフォルト値は、1(真)。
DB_MAX_CONN_JMP_POOL
このJMP Poolが並行して保持しようとするデータベース接続の最大数。デフォルト値は10です。この値は、次のような点を考慮して設定します。
データベース自体に(postgresql.conf内で)定義されている「max_connections」の値を超えることはできない。
複数のJMP Poolがある場合もありうる。
「max_connections」の値は、JMP LiveとJMP Poolの間で分割される(JMP Liveに80%、JMP Poolに20%の割り当てを推奨します)。
DB_PASSWORD
(必須)PostgreSQLデータベースにログインするためのパスワード。
DB_SSL_CA_FILE
(オプション)安全なSSLモードで実行するための認証局ファイルの相対パス。
DB_SSL_CERT_FILE
(オプション)相互SSL認証を使用する際のクライアント証明書公開鍵ファイルの相対パス。
DB_SSL_INSECURE
(オプション)クライアント証明書が信頼の置ける機関によって署名されているかを、PostgreSQLが検証するかどうかを指定する。デフォルト値は0(検証する)。検証させない場合は、値を1に設定する。
DB_SSL_KEY_FILE
(オプション)相互SSL認証を使用する際のクライアント証明書秘密鍵ファイルの相対パス。
DB_SSL_ON
(オプション)JMP LiveからPostgreSQLに接続する際にSSLの使用が必須であるかどうかを指定する。デフォルト値は0(JMP Live接続でSSLは必須ではない)。SSLの使用を必須にするには、値を1に設定する。
DB_USERNAME
(必須)PostgreSQLデータベースにログインするためのユーザ名。
DEBUG
(オプション)コードにあるデバッグステートメントのうち、どれがアクティブでどれがアクティブでないかを示す文字列をカンマで区切ったリスト。デフォルト値はなし。
HOST
(オプション)このJMP Poolのホスト名。デフォルトのホスト名は、os.hostname()。
INITIAL_JMP_PROCESSES
(オプション)Webサイトでレポートが操作される際に、レポートの再計算のために開始されるJMPセッションの数。デフォルト値は4。
IS_MANAGER
(オプション、ブール値)このプールがPool Managerかどうかを指定する。マスタープールの場合は、値を1に設定する。
JMP_BASE_PORT
(必須)JMPセッションが待機(リッスン)するポートの範囲のうち最初のもの。
JMP_INSTALLDIR
(オプション)JMPデスクトップアプリケーションのインストール場所をJMP Liveに知らせる。
JMP_LOGSTART
(オプション)ライセンス情報や環境設定情報をどこから取得したかなどを記録する、JMPのスタートアップログを作成する。
JMP_PATH
(必須)JMP実行ファイルのパス。
JMP_SERVER_IDLE_TIMEOUT
(オプション)JMPサーバがリサイクルされるまでにアイドル状態でいられる時間(秒数)。デフォルト値は120秒。
JMPLIVE_BASEURL
(Pool Managerの場合のみ使用。)JMP PoolやKeycloakなどのコンポーネントがJMP Liveサイトと通信するときに使用するURL。
LOAD_JMP_ADDINS
JMPの起動時にJMPアドインをロードするかどうか。デフォルト値は1(アドインをロードする)。アドインをロードしたくない場合は、値を0に設定する。
LOG_LEVEL
(オプション)このJMP Serverインスタンスでアクティブなbunyanロガーメッセージの最低レベルを設定する。これらのメッセージは、Logglyに渡される。可能な値は、trace、debug、info、warn、error、fatal。コード内のロガーの行は、「logger.debug(...);」のようになる。デフォルト値はinfo。
LOG_PRETTY
(オプション、ブール値)コンソールストリーム内のbunyanログを生のJSON(0)とプリティプリント(1)のどちらで表示するかを指定する。これは、コンソールストリームだけを対象とした設定で、Logglyストリームは常に生のJSONで表示される。デフォルトの値は0(生のJSON)。
MAX_JMP_PROCESSES
(オプション)必要に応じて開始されるJMPプロセスの最大数(エラスティックJMPPool)。デフォルト値は、INITIAL_JMP_PROCESSES。
NODE_ENV
(必須)JMP Serverにとって正しいモードである「production」に設定する。
POOL_MANAGER_HOST
(Pool Managerでない場合のみ使用。)Pool Managerプロセスを実行しているコンピュータのDNS名。デフォルト値はlocalhost。
POOL_MANAGER_PORT
(Pool Managerでない場合のみ使用。)Pool Managerがワーカープールインスタンスとの通信に使用するポート。デフォルトのポートはPORT。
PORT
(必須)このJMP Poolが待機(リッスン)するポート。
SSL_CA_FILE
(オプション)認証局ファイルの相対パス。
WEBJMP_RETRY_WAIT
(Pool Managerの場合のみ使用。)JMP Webコンポーネントに再接続を試みるまでの待機時間をミリ秒を単位として指定する。デフォルトの値は5000ミリ秒。
移行に関する注意点
旧バージョンのJMP Liveからバージョン18に移行する場合は、JMP Liveに実装されている以下の機能に違いがありますのでご注意ください。
表1.1 JMP Live 18への移行に関するメモ 
シナリオ
以前の動作
JMP Live 18の動作
パスワードで保護されたSMTPサーバーを使用している。
パスワードは、暗号化せずにデータベースに保管されます。
パスワードは暗号化されるようになりました。アップグレード後に、[管理者]>[設定]から、JMP Liveの[メールの設定]セクションでSMTPパスワードを再入力しなければなりません。
フラグの付いたユーザまたは投稿がある。
ユーザまたは投稿にフラグが付きます。
フラグの付いたユーザまたは投稿は、18ではサポートされません。フラグの付いたユーザまたは投稿はすべて是認されます。
スペースのメンバーに対してダウンロードの権限を許可したが、スペース内の個々の投稿についてはダウンロードを許可していない。
個々の投稿はダウンロードできません。
18では、個々の投稿についてダウンロードを許可しないことはできません。メンバーに対して投稿のダウンロードが許可されているスペースでは、これまで許可されていなかった投稿もダウンロードが可能となります。
ユーザに、作成・編集・置換・削除の権限が与えられている。
4種類の権限のすべてがサポートされます。
投稿の作成・編集・置換・削除をすべて可能にする「投稿」という1つの権限が用意されています。
JSLを使って新しいJMP Liveレポートを作成したい。
New Web Reportコマンドを使用します。
New JMP Live Contentコマンドを使用します。
JMP Liveのアーキテクチャと認証につい
JMP Liveサーバーをオンプレミスでインストールする場合は、JMP Liveシステムのアーキテクチャや、サードパーティのIDプロバイダーによる認証の設定方法について理解しておくことが重要です。
アーキテクチャの概要
JMP Liveは、互いに通信する複数のモジュールで構成されています。このアーキテクチャにより、複数のコンピューティングリソースに作業負荷を分散させ、大量のリクエストが処理できるようになっています。
図1.33 JMP Liveのアーキテクチャ
JMP Live Architecture
JMP Liveを単一のコンピューティングリソースで実行することもできますが、これはお勧めできません。データベースをJMP Liveの他のコンポーネントから分離し、データベースに専用のコンピューティングインスタンスを割り当てることをお勧めします。このコンピューティングインスタンスを頻繁にバックアップすることで、JMP Liveのコンテンツの安全性を維持できます。データベースにはホスティングサービスを使用し、その他の機能はオンプレミスのリソースを用いるということもできます。その場合は、JMP Liveデータベースインストーラを使わずに、PostgreSQL 14.5と互換性のあるインスタンスをホスティングサービスの環境にセットアップする必要があります。既存のデータベースを使用したJMP Liveのインストールの手順に従ってください。
インストールサイズの特定
個々のインストールサイトには、パフォーマンスに影響を及ぼす未知の要因があるため、インストールのサイズを決めるのは簡単ではありません。ネットワーク速度が重要な要因であるほか、専用のコンピュータを使うか、仮想コンピュータを使うかという決定などもパフォーマンスに影響します。JMPは、ここでご紹介している構成がどの場所でも十分に機能するということは保証できません。
インストールサイズを検討する上で主要な基準となるのはユーザの数です。
小規模な構成はユーザが100人の場合を想定しています。
中規模な構成はユーザが500人の場合を想定しています。
大規模な構成はユーザが2000人の場合を想定しています。
いずれの場合も、各ユーザが時々サイトを使用していろいろなレポートを見る、負荷がうまく分散されている状況を想定しています。時々の使用というのは、1日に10回ぐらいの頻度を指しています。
サイトを常時使用するユーザがいる場合は、よりしっかりとした構成が必要です。
限られた数のレポートに頻繁にアクセスするユーザがいる場合は、JMP Webコンポーネント専用のコンピューティングリソースとデータベースの両方が堅牢でなければなりません。
小規模な構成
小規模なJMP Live構成(ユーザ数が100人程度)では、データベース以外のすべてのコンポーネントを1台の専用コンピュータにインストールすることができます。
図1.34 小規模な構成に推奨される設定
Recommended Configuration for a Small Deployment
この構成では、JMP WebコンポーネントとJMP Poolコンポーネントを同じコンピュータにインストールします。インストールの際に[Pool Managerとして設定]オプションを選択します。このJMP Pool Managerに関連付けられるJMPインスタンスの数が、このサイトで実行されるJMPインスタンスの総数になります。
コンピューティングリソースの能力は高ければ高いほど良く、大部分がプロセッサのタイプやネットワーク速度などに依存します。最低でも、16 GB以上の専用RAMを備えた4コアのコンピュータが必要です。データベースのため最も重要なストレージの容量は、保管するレポートの数に依存し、最小要件は1 TBです。
中規模な構成
中規模なJMP Live構成(ユーザ数が500人程度)では、集められるレポートの種類に応じて2つの設定が考えられます。
多数のレポートが発行されるものの、レポート自体にはデータフィルタが含まれず、統計量を再計算する必要性がない場合は、JMP Webコンポーネントに重点を置いて検討します。
レポートで大量の計算が必要になる場合は、JMP Pool Managerに重点を置きます。
JMP Webコンポーネントに重点を置く場合、または大量の計算が必要な環境かどうか不明な場合は、以下のような設定をお勧めします。
図1.35 中規模な構成に推奨される設定
Recommended Configuration for a Medium Deployment
JMP Webコンポーネントのパフォーマンスを最適にする場合の標準的な設定は、JMP Pool Managerが独自のJMPセッションを持たないというものです。JMP Pool ManagerでJMPセッションの数を0に設定します。すべてのJMPセッションが2番目のコンピューティングリソースであるJMP Session Poolにある形になります。
より計算能力の高い環境が必要な場合は、JMP Pool Managerにセッションを割り当てます(たとえば5個)。そうすると、JMP Webコンポーネントのパフォーマンスは下がる可能性がありますが、レポートのための計算能力が高まります。
大規模な構成
大規模なJMP Live構成(ユーザ数が2.000人程度)では、複数のJMP Session Poolが必要なだけでなく、JMP Pool Manager専用のコンピューティングリソースを用意することになります。
図1.36 大規模な構成に推奨される設定
Recommended Configuration for a Large Deployment
JMP Webコンポーネント、JMP Pool Managerコンポーネント、JMP Session Pool、PostgreSQLデータベースは、すべて専有のインスタンスとします。使用できるJMPセッションの数は、それぞれのインスタンスの計算能力とメモリ容量に依存します。
以下は、各インスタンスに関する要件です。
JMP WebコンポーネントとJMP Session Poolインスタンス: 最低でも4コアのコンピュータ、できれば32 GBのRAMを備えた8コアのコンピュータを使用することをお勧めします。
JMP Pool Manager: 最低でも16 GBのRAMを備えた4コアのコンピュータが必要です。
PostgreSQLデータベース: コンピュータは、組織のレポート発行量に基づいてストレージ要件を予測し、備える必要があります。スケーラブルなインスタンスが最適ですが、そうでない場合の最小要件は5 TBです。
次のような要素の考慮も推奨します。
HTTPリクエストとHTTPSリクエストのセキュリティのために単一のエントリポイントを提供するロードバランサー。
主要なデータベースに障害や接続の問題が発生した場合にすばやく切り替えるためのPostgreSQLデータベースのバックアップ。バックアップは頻繁に更新する必要があります。
ホスティングサービスに関する検討事項
一部のホスティングサービス(Amazon Web ServicesやMicrosoft Azureなど)では、JMP Session Poolに対して自動スケーリングを設定することができます。これは、次のような仕組みです。
1.
Session Poolノード上のトリガー(時刻やCPU使用率など)により、追加のコンピューティングリソースが始動します。
2.
新たに始動したリソースのJMP Session Poolが、使用可能になった時点でPool Managerに報告します。
自動スケーリングを利用するには、スケーリングの際に複製されるイメージにSession Poolをインストールするプロセスで、コンポーネントをWindowsサービスとしてインストールするオプションを選択しておかなければなりません。これによって、コンピューティングインスタンスのインスタンス化の際に自動的にSession Poolコンポーネントが開始されます。Session PoolがPool Managerに報告し、コンピューティングサービスの提供が可能であることを登録します。
認証に関する検討事項
JMP Liveでは、インストールする場所に応じた認証機能が提供されます。オンプレミスのインストールでは、組織がActive DirectoryまたはLDAP(Lightweight Directory Access Protocol)をサポートしている場合、JMP LiveはMicrosoft Active Directoryエンドポイントに接続できます。
ここで説明する認証メカニズムは、JMP LiveとユーザのIDプロバイダーの間の接続に関係します。JMPとJMP Liveの間の通信はこれとは異なります。
図1.37 JMP Live認証のオプションと流れ
JMP Live Authentication Options and Flow
Keycloakアプリケーション
Keycloakアプリケーションは、各種の認証メカニズムへの橋渡しを行います。OpenID Connect(OIDC)を使い、JMPクライアント、JMP Live、Keycloakの間でトランザクションの安全性が確保されます。Keycloakと各種認証メカニズムの間の通信は、そのメカニズムによって異なりますが、TLSである場合が多いです。
Keycloakは、JMP LiveとJMPに認証セッショントークンを付与します。これらのトークンは、ユーザがJMP Liveを使用する権限を持っているかどうかを示します。また、認証セッションの有効期限が切れたときは、それをJMP Liveに知らせます。
Active DirectoryまたはLDAPの使用
Active DirectoryまたはLDAPを使ったオンプレミス認証を可能にするには、JMP Webコンポーネントの環境ファイルで特定のパラメータを設定する必要があります。
1.
次の場所(デフォルト)にあるJMP Webコンポーネントの環境ファイルを開きます: C:\Program Files\JMP\JMP Live\JMPLive\.env
2.
JMP WebコンポーネントをWindowsサービスとしてインストールした場合は、環境ファイルに変更を加える前にタスクマネージャーでサービスを停止してください。
3.
.envファイルで以下のパラメータを設定します。
AUTH_SCHEME=ldap
認証方法をLDAPまたはActive Directoryに設定する。
LDAP_URL="ldap://site_ldap_endpoint.mycompany.com:port#"
Active Directoryリクエストの通信エンドポイント。port#は、Active Directory通信に使用する4桁のポート番号です。Active DirectoryまたはLDAPのインスタンスに直接接続する必要があります。
LDAP_BIND_DN="CN=COMPANY LDAP-Read,OU=Generic and Shared Accounts,OU=Admin,DC=mydepartment,DC=mycompany,DC=com"
Active Directoryバインドの管理者アカウント。値はサイトによって異なります。匿名バインドが許可されていないサイトでは、ドメイン固有のアカウントである場合があります。
LDAP_SEARCH_BASE="DC= mydepartment,DC= mycompany,DC=com"
ユーザをユーザ名で検索する基本ドメイン。
LDAP_BIND_CRED="abcd1234efgh"
管理者アカウントのパスワード。
LDAP_SEARCH_FILTER=(samAccountName={{username}})(memberOF=CN=JMP Live User Group,OU=Groups,DC=mydepartment,DC=mycompany,DC=com))
ユーザの検索に使用するフィルタ。{{}}の中のユーザ名は、入力されたユーザ名として補間されます。あるユーザがグループに属しているかどうかを調べるには、memberOFオプションを使用します。
4.
.envファイルを保存します。
5.
JMP WebコンポーネントをWindowsサービスとしてインストールした場合は、環境ファイルの変更を完了した後、タスクマネージャーでサービスを再開します。
JMP LiveのSSL証明書の検証
SSL証明書は、JMP Liveのインストールが完了した後に検証できます。以下に、インストールのデフォルトを使用した例を示します。
1.
Windowsのスタートメニューに移動し、Node.jsのコマンドプロンプトを開きます。
2.
次の場所(デフォルト)にあるJMPLiveフォルダに移動します: C:\Program Files\JMP\JMP Live\JMPLive
3.
次のコマンドを入力します。
npm run check-ssl
C:\Users\userid>cd C:\Program Files\JMP\JMP Live\JMPLive
C:\Program Files\JMP\JMP Live\JMPLive>npm run check-ssl
> jmplive@18.0.0 check-ssl
> node ./config/checkSSL.js
 
The certificate was read correctly.
The private key was read correctly.
The certificate authority was read correctly.
Certificate start date: 03/02/2024
Certificate expiration date: 17/03/2024
The public certificate and private key match correctly.
The certificate was issued by the provided certificate authority.
 
C:\Program Files\JMP\JMP Live\JMPLive>
Keycloakを手動で接続してJMP Liveを開始
JMP Pro、JMP Liveデータベース、JMP Live、Keycloak、JMP Liveをインストールした後、JMP LiveとKeycloakには自動的に接続されますが、インストールが完了してもJMP Liveにログインできない場合は、手動でKeycloakに接続してJMP Liveを開始する必要があります。
1.
JMP LiveデータベースをKeycloakデータベースとして使用している場合は、JMP Liveを一回実行します。
これにより、Keycloakを操作するためのスキーマとテーブルがJMP Liveデータベースに書き込まれます。
2.
JMP LiveがWindowsサービスとして実行されている場合は、それを停止します。
a.
Windowsの検索ボックスに「タスク マネージャー」とタイプします。または、Ctrl+Alt+Deleteキーを押し、[タスク マネージャー]を選択します。
b.
[サービス]タブをクリックします。
ヒント: [サービス]タブが表示されていない場合は、[詳細]をクリックしてみてください。
c.
webjmpsvc.exejmppoolsvc.exeを右クリックし、[停止]をクリックします。
3.
Windowsの検索ボックスに「コマンドプロンプト」とタイプします。コマンドプロンプトを管理者として実行してください([コマンドプロンプト]を右クリックし、[管理者として実行]を選択)。
4.
JMPLiveコンポーネントインストールディレクトリに移動します。「cd C:\Program Files\JMP\JMP Live\JMPLive」と入力してください(JMP Liveがデフォルトのディレクトリにある場合)。
5.
メモ帳を使って.envファイルを編集するため、「start Notepad .env」と入力します。
6.
.envファイル内で、次の行のパラメータを確認します。
AUTH_SCHEME=keycloak
メモ: その他の選択肢には、ldaplocalがあります。ldapは、旧バージョンでLDAPまたはMicrosoft Active Directoryに接続するための選択肢です(JMP 15.0以上を使用している場合を除き、選択しないでください)。localでは、IDプロバイダーに接続しないでスタンドアローン型の認証を実行できます。
KEYCLOAK_SERVER_URL=https://mykeycloakserver.mydomain.com:8443
ここで、mykeycloakserver.mydomain.com:8443はKeycloakサーバーのURLとHTTPSアクセスが可能なポートを示します。
KEYCLOAK_ADMIN=keycloakadmin
keycloakadminは、KeycloakのJMP Live realmの管理者名です。
KEYCLOAK_ADMIN_CREDENTIALS=Password1
Password1は、KeycloakのJMP Live realmの管理者パスワードです。
JMPLIVE_BASEURL=https://myjmpliveinstance.mydomain.com:3501
myjmpliveinstance.mydomain.com:3501は、JMP LiveサーバーのDNS名または別名とHTTPSアクセスに使用しているポートです。
7.
.envファイルの変更を保存します。[ファイル]>[上書き保存]をクリックします。
8.
JMP Liveコンポーネントを開始します。
JMP LiveをWindowsサービスとしてインストールした場合は、タスクマネージャーを開き、[サービス]タブ(ステップ2を参照)で各JMP Liveサービスを開始します。webjmpsvc.exejmppoolsvc.exeを右クリックし、[開始]をクリックします。
JMP LiveをWindowsサービスとしてインストールしていない場合は、Windowsサービスとしてインストールされていないコンポーネントの手順を実行します。
JMP LiveとKeycloakが接続されます。
Windowsサービスとしてインストールされていないコンポーネント
1.
JMP Liveがインストールされているディレクトリに移動します。デフォルトの場所は、C:\Program Files\JMP\JMP Live\JMPLiveです。
2.
launch.cmdファイルをダブルクリックします。このコンピュータにインストールされているすべてのコンポーネントが開始されます。
3.
インストールが複数のコンピュータに分散している場合は、ステップ2をそれぞれのコンピュータで繰り返します。
各コンポーネントのコマンドプロンプトが表示され、コンポーネントの動作ステータスが確認できます。
ヒント: コンポーネントを停止するには、Ctrl+Breakキー、またはCtrl+Cキーを押します。
JMP Liveへの発行を有効または無効にする
JMP Liveは、会社がJMPコンテンツを非公開で共有するために購入し、ホストするWebサイトです。JMP Publicは、JMP Liveのパブリックインスタンスで、誰もがJMPコンテンツの共有に利用できます。
発行の設定は、jmpStartAdmin.jslファイルを作成して管理できます。
JMP Liveへの発行を有効または無効にする
管理者は、特定のURLに対してJMP Liveへの発行を有効または無効にすることができます。ユーザのコンピュータ上のjmpStartAdmin.jslファイルにURLを設定できます。
Enable JMP Live URL()は、ユーザが発行先として使用できるURLを指定します。たとえば:
Enable JMP Live URL( "https://public.jmp.com" ) // JMP PublicのURLに発行できるようにする
Disable JMP Live URL()は、ユーザが発行先として使用できないURLを指定します。たとえば:
Disable JMP Live URL( "https://public.jmp.com" ) // JMP PublicのURLに発行できないようにする
メモ: あるURLを両方のリストに含めた場合、そのURLには発行できなくなります。
URLを指定する際、アスタリスクをワイルドカードとして使用できます。
*(任意のURL)
*.jmp.comjmp.comで終わるURL)
http://public.*http://publicで始まるURL)
*public*publicを含むURL)
コードモジュールの更新
JMP Liveの大部分は、JavaScriptを使って開発されています。Node.jsは、Webサーバーにおけるコーディングのためのエコシステムや、JMP Liveの実行に必要なインフラストラクチャの多くを提供しています。このエコシステムには、個別に開発された多数のソフトウェアが含まれ、特定の機能を実現しています。これらのモジュールは、随時、セキュリティ修正プログラムを使って更新する必要があり、この更新作業を定期的な自動プロセスの一部にすることも可能です。JMPは、JMP Liveの新しいリリースの配布時に毎回コードモジュールを更新していますが、次のリリースを待たずにモジュールを更新し、セキュリティの問題を修正することもできます。
コードモジュールを更新するためには、Windowsのコマンドプロンプトからパッケージ管理ツールのnpmを実行する必要があります。これを手動で行う手順は、次のとおりです。
1.
Windowsのスタートメニューに移動し、Node.jsを探します。
2.
Node.js のコマンドプロンプトを管理者として開始します。
3.
npmでセキュリティパッケージを使ってパッケージを更新するには、JMP LiveディレクトリとJMPPoolディレクトリで次のようなコマンドを実行します。
npm audit fix
次のようなコマンドで、上記の操作で適用される修正プログラムに接頭辞を付けることもできます。
npm audit fix --dry-run
JSON形式の出力が必要な場合は、--dry-runコマンドラインに--jsonを追加します。
Windowsサービスのアンインストール
JMP LiveはインストールしたままでWindowsサービスを削除したい場合は、メインのアプリケーションディレクトリにあるuninstall_services.cmdファイルを実行します。Windowsサービスをもう一度インストールする場合は、同様にinstall_services.cmdファイルを実行します。これらのファイルは、インストールの際にWindowsサービスとしてインストールするオプションを選択した場合のみ、作成されています。
JMP Liveデータベースの維持
JMP Liveデータベースを維持する管理者は、PostgreSQLデータベースが持つ次のような事柄に精通していなければなりません。
バックアップと復元
データベースを維持するための標準的な作業
JMP Liveデータベース接続プール
バックアップと復元
JMP Liveの管理者には、PostgreSQLでのバックアップ機能や復元機能をよく理解し、バックアップと復元の手順を計画しておくことを強くお勧めします。
詳細については、https://www.postgresql.org/docs/14/backup.htmlを参照してください。
データベースを維持するための標準的な作業
JMP Liveの管理者には、PostgreSQLのデータベース維持機能をよく理解し、標準的な手順を計画しておくことを強くお勧めします。
詳細については、https://www.postgresql.org/docs/14/maintenance.htmlを参照してください。
注意: 使用しているJMP Liveのバージョンが15.2以前である場合は、vacuumlo.exeを実行しないでください。この操作はバージョン15.2以前では安全ではありません。
JMP Liveデータベース接続プール
JMP Liveデータベースは、無限数の接続を受け入れられるわけではないため、無限数のリクエストに同時に応えることはできません。データベース自体に、postgresql.confファイル内のmax_connectionsの値で定義した制限が課されています。JMP Liveインストーラを使ってPostgreSQLデータベースをインストールした場合、この値はデフォルトで500に設定されています。この値は、データベース接続の合計数の上限と考えてください。上限の値や、接続数をどこでどれだけ消費するかは、自分で決めることができます。
上限の変更
上限は、postgresql.confファイル内のmax_connectionsの値で定義されています。上限を変更するには、max_connectionsの値を変更し、PostgreSQLサービスを再起動します。接続は自由に増やせるわけではありません。接続を増やせば、メモリの使用量も増えます。PostgreSQLのマニュアルや信頼の置けるソースを参考にして値を決めるようにしてください。
接続数上限の分配の変更
接続数の分配は、次の2つの値を通じて制御できます。
C:\Program Files\JMP\JMP Live\JMPLive\.envにあるDB_MAX_CONN_JMP_LIVEの値。
この値は、JMP Liveの1つのインスタンスが並行して保持しようとするデータベース接続の最大数を示します。
この値を変更する際のヒントについては、C:\Program Files\JMP\JMP Live\JMPLive\.env.exampleを参照してください。
トラフィックの大部分が投稿を読むことやコメントすることによって生じると予想される場合は、JMP Liveに割り当てる分を増やします。
C:\Program Files\JMP\JMP Live\JMPPool\.envにあるDB_MAX_CONN_JMP_POOLの値。
この値は、JMP Poolの1つのインスタンスが並行して保持しようとするデータベース接続の最大数を示します。
この値を変更する際のヒントについては、C:\Program Files\JMP\JMP Live\JMPPool\.env.exampleを参照してください。
トラフィックの大部分がレポートの再発行やレポートの操作(たとえば、列スイッチャーやローカルデータフィルタの使用)によって生じると予想される場合は、JMP Poolに割り当てる分を増やします。
JMP Liveクラスター
インストール後、npm startコマンドを使ってJMP Liveを開始した場合は、JMP Liveサーバーコードのインスタンスが1つだけ開始されます。しかし、npm run clusterコマンドを使ってJMP Liveを開始した場合、JMP Liveサーバーコードの複数のインスタンスが開始されます。クラスターモードを使用すると、1つのインスタンスがビジーでもクライアントは別のインスタンスから応答を得ることができます。通常は、クラスターモードを使用します。クラスターに含まれるJMP Liveサーバーのインスタンスの数は、サーバー上にあるコアの数とほぼ同じです。
接続数上限の例
この例では、接続の合計数を500、JMP Liveクラスター内のJMP Liveサーバーの数を4、JMP Poolの数を2とします。DB_MAX_CONN_JMP_LIVEの値は100、DB_MAX_CONN_JMP_POOLの値は50です。
図1.38 接続数上限の例
Example of Sample Budget
テクノロジーに関する通知
JMP Liveソフトウェアに付属する無料のオープンソースソフトウェアについては、お客様のJMP Liveページの[ヘルプ]>[通知]セクション、または次のリンクでご確認ください: https://support.sas.com/en/documentation/third-party-software-reference/licenses.html