Payara Server管理コンソールの基礎 - #1 概要とコンセプト
Originally published on 13 Apr 2019
Last updated on 13 Dec 2019
これから数回にわたって、Payara Serverの管理コンソールの基本的な使い方について解説してゆきたいと思います。第1回目は、Payara Serverの管理コンソールの概要と、管理コンソールを使用する上で理解しておきたいPayara Serverのコンセプトについてご説明します。
まず、Payara Serverを起動してWebブラウザで http://localhost:4848/ を開くとすると、図1のような管理コンソール画面が表示されます。Payara Serverの管理操作の大半はこの管理コンソール上で実行できるように設計されています。
Payara Server多言語版ディストリビューションの場合は、お使いのOSの言語設定に合わせて管理コンソールがローカライズされます。図2に日本語環境における管理コンソール画面を示します。
管理コンソール画面は大きく、「ヘッダ」「左ペイン」「右ペイン」の3つに分かれています。
「ヘッダ」には管理コンソールそのものに関する情報が集約されています。「ヘッダ」右上には、管理コンソールの操作を記録して同等のasadminコマンドのスクリプトを生成する「Asadminレコーダー」のボタンがあります。「Asadminレコーダー」についてはPayara Serverのドキュメントをご参照ください。
「左ペイン」には、Payara Serverを構成するコンポーネントやサービスの一覧が並んでいます。Payara Serverを管理するには、コンポーネント構成の変更やサービスへのアクセスが必要になります。その対象を示しているものが「左ペイン」に並んでいる項目のリストです。
「左ペイン」で構成を変更したいコンポーネントまたはアクセスしたいサービスを選択すると、「右ペイン」にその詳細が表示されるようになっています。例えば、コンポーネントの構成を変更する場合には、「右ペイン」に表示されている設定値を変更し、その内容を保存します。
「左ペイン」の項目は、Payara Serverのアーキテクチャと密接に関連しています。そのため、管理コンソールを使用する上でPayara Serverのアーキテクチャを理解することはとても重要になってきます。「左ペイン」にはPayara Serverのコンポーネント・サービスが一通り並んでいますが、今回はその中でも特に重要となるものについて、そのコンセプトをご説明します。
Payara Serverのコンセプトを図示すると図3のようになります。この図の各項目は管理コンソール「左ペイン」とそれぞれ対応しています。
ドメイン
「ドメイン」とは、Payara Serverの実行環境そのものを意味します。ドメインの実体は様々な構成の集合体で、その中にはインスタンス、アプリケーション、リソースといったものが含まれます。ドメインは管理サーバー (DAS) と呼ばれる、特殊なインスタンスによって制御されています。
皆さんがPayara Serverを起動する際に使用するコマンド asadmin start-domain の本来の意味は、このドメインを起動するということです。
インスタンス
「インスタンス」とは、Payara Serverを構成するJVMのプロセスであり、サーバーの実体となっているものです。インスタンスは以下を含むJVMインスタンスとなっています。
l Jakarta EEの構成情報
l Jakarta EEの共有リソース
l アプリケーションのデプロイ領域
l サーバーの構成情報
Payara Serverの「ドメイン」には、ドメイン全体を制御する管理サーバー (DAS) と呼ばれるインスタンスが必ず1つ存在しています。その他、必要に応じてスタンドアロン・インスタンスが構成されます。そして各インスタンス上で「アプリケーション」が実行されます。
アプリケーション
ここで言う「アプリケーション」とは、サーバーサイドのJavaアプリケーションを指します。アプリケーションはJakarta EE APIを使用して構築され、必要に応じてサーバーが提供する共有リソース (例: データベースにアクセスするためのJDBCリソース) を使用することができます。
アプリケーションをサーバーの外部からアクセスできるようにセットアップすることを「デプロイ」するといいます。アプリケーションは任意のインスタンスにデプロイすることができます。
リソース
リソースとは、サーバー外部のシステム (EIS) への接続を提供する機能で、各アプリケーションから共通機能として使用することができます。リソースへのアクセスにはJNDIというネーミング規約が使用されます。Payara Serverが提供するリソースには、例えば以下のようなものがあります。
l JDBCリソースおよびコネクション・プール (データベースへのアクセス)
l JMSリソース (JMS非同期メッセージングへのアクセス)
l JavaMailセッション (SMTPサーバーへのアクセス)
l コネクタ (汎用的な外部接続、例: クラウドが提供する非同期メッセージング・サービスなど)
l 並行リソース
最後の「並行リソース」だけは特殊で、これは外部システムではなく、Payara Server内部に存在しています。これはアプリケーションでマルチスレッド処理を行うための、Jakarta EEサーバーが管理するExecutorServiceがその実体となります。
モニタリング
モニタリングとは、サーバーのコンポーネントやサービスの実行時の状態をレビューするための仕組みです。管理コンソールにもモニタリング機能は備わっていますが、実運用ではリモートからAMXというコンポーネントにアクセスしてモニタリングすることが多く見られます。AMXとは、Java標準のモニタリング仕様であるJMXとJSR 77 (J2EE Management API) を拡張したものであり、外部からはJMXのプロトコルでアクセスすることが可能となっています。
なお、Payara Server内部では、モニタリング対象となる項目はTree Node APIと呼ばれる仕組みを用いてツリー構造にて管理されています。各項目の名前はインターネット・ドメインのようなドット区切り名によって識別されます。管理コンソールを使用する上では特に意識する必要はありませんが、モニタリング項目がツリー構造で整理されていることは参考までに押さえておくと良いでしょう。
構成
構成とは、サーバーをどのように操作・実行するのかを決定づけるためのデータ・セットを指します。具体的には、例えば以下のような項目を挙げることができます。
l JVM設定およびシステム・プロパティ
l ログおよびモニタリングの設定
l Web/EJBコンテナおよびスレッド・プールの設定
l セキュリティや高可用性に関する設定
構成項目も、モニタリング項目と同様に、内部ではTree Node APIを用いてツリー構造で整理・管理されています。
まとめに代えて―管理タスクの基本
Payara Serverの管理タスクは、詳細には多岐にわたりますが、基本的な手順は以下のようになります。
1. ドメインおよびインスタンスを構成する
2. アプリケーションやリソースをデプロイする
3. サーバーをモニタリングする – インスタンス、アプリケーション、リソース
4. サーバーを安定稼働させるため、随時上記の事項を見直す
次回以降は、具体的な操作について見てゆきたいと思います。
Related Posts
Payara Micro 5によるUber JARの作成
Published on 18 May 2021
by Fabio Turizo
0 Comments
Payara Microでは、Webアプリケーションを自己完結型で簡単に実行することができます。2016年5月のPayara Serverリリースからは、WARファイルの内容とPayara Microを構成するクラスやリソースを束ねる “Uber JAR” を作成する簡単な方法があります。
この “Uber” Jarは、Docker ...
Payara Server 5における接続プールのご紹介
Published on 18 May 2021
by Arjan Tijms
2 Comments