ノード マネージャ管理者ガイド

     前  次    新しいウィンドウで目次を開く     
ここから内容の開始

スクリプト ノード マネージャのコンフィグレーション

以下の節では、スクリプトベースのノード マネージャのコンフィグレーション方法について説明します。

 


概要

SSH ノード マネージャは、{WL_HOME}/common/bin/ にあるシェル スクリプト wlscontrol.sh です。wlscontrol.sh は、ノード マネージャを使用して制御するサーバ インスタンスをホストするマシンごとに存在していなければなりません。このスクリプトは、サイト固有の要件を満たすようにカスタマイズできます。

ノード マネージャまたはノード マネージャ クライアントを実行するマシンごとに SSH クライアントが実行可能でなければなりません。また、このスクリプトはユーザ ID が実行するパス内になければなりません。通常、SSH クライアントは Unix または Linux インストールの標準的な一部です。

 


ノード マネージャ ユーザの作成

ノード マネージャを実行する前に、ノード マネージャ機能の実行専用の UNIX ユーザ アカウントを作成する必要があります。このユーザは、SSH のノード マネージャをホストするすべてのマシンと、ノード マネージャ クライアント (管理サーバを含む) をホストするすべてのマシンに追加しなければなりません。

 


xinetd サービスとしてのノード マネージャのコンフィグレーション

inetd または xinetd サービスとして実行するようにノード マネージャをコンフィグレーションする場合は、以下の考慮事項が適用されます。

以下の例では、xinetd 内にノード マネージャをコンフィグレーションする方法を示します。

# default: off
# description:nodemanager as a service
service nodemgrsvc
{
   type = UNLISTED
   disable = no
   socket_type = stream
   protocol = tcp
   wait = yes
   user = <username>
   port = 5556
   flags = NOLIBWRAP
   log_on_success += DURATION HOST USERID
   server = <path-to-jave>/java
   env = CLASSPATH=<cp> LD_LIBRARY_PATH=<ldpath>
   server_args = -client -DNodeManagerHome=<NMHome> <java options>
   <nodemanager options> weblogic.NodeManager -v
}

 


デフォルトの SSH ポートのオーバーライド

ノード マネージャで使用されるデフォルトの SSH ポートは 22 です。この設定は、以下の方法でオーバーライドできます。

 


スクリプトベースのノード マネージャのセキュリティのコンフィグレーション

ノード マネージャの SSH シェル スクリプトは、異なるマシン上のユーザ間のセキュアな信頼関係を提供する、SSH ユーザベースのセキュリティに依存します。認証は必要ありません。ノード マネージャのコマンドおよびスクリプトを実行するための UNIX ユーザ アカウントを作成します (通常はドメインごとに 1 つ)。このユーザとしてログインしたユーザは、ユーザ名とパスワードを指定しなくてもノード マネージャ コマンドを発行できます。

注意 : ノード マネージャ コマンドと WebLogic Server コマンドが、コマンドの実行に使用される UNIX ユーザ ID のパスで使用可能になっていることを確認する必要もあります。

WebLogic Server スクリプトのセキュリティ

サーバの移行や他のタスクを実行するには、wlscontrol.sh などのスクリプトを実行するユーザ ID に十分なセキュリティ パーミッションが必要です。たとえば、ネットワーク インタフェースを通じて IP アドレスをオンラインにしたり、オフラインにしたりできるパーミッションなどです。

サーバの移行は、サーバに障害が発生したことを検出したときに、クラスタ マスターによって実行されます。クラスタ マスターは SSH を使用して対象のマシンにあるスクリプトを起動し、移行を開始します。対象のマシンにあるスクリプトは、クラスタのマスター上でサーバを実行しているのと同じユーザ ID で実行されます。

サーバの移行を実行するために必要なコマンドは ifconfig と arping です。これらのスクリプトには高度な OS 権限が必要になるため、セキュリティ ホールの可能性を防止できる点に留意することが重要です。

sudo を使用すると、高度な権限による ifconfig と arping の実行のみを許可するように SSH をコンフィグレーションできます。

スクリプトベースのノード マネージャ用のリモート サーバ起動セキュリティ

ノード マネージャを使用してサーバ インスタンスを起動するには、リモート起動ユーザのユーザ名とパスワードが必要です。管理サーバと管理対象サーバでは、これらの資格の指定方法が異なります。

ノード マネージャによって起動されたサーバ インスタンスでは、自動再起動に使用するために、サーバの起動に使用された資格が暗号化され、サーバ固有の boot.properties ファイルに保存されます。

キーと値のペアの生成と配布

スクリプトベースのノード マネージャでは、2 種類のキーと値のペアが使用されます。この節では、キーと値のペアをノード マネージャのクライアントまたはサーバをホストするマシンに配布する手順について説明します。

共有のキーと値のペア

このオプションでは、同じキーと値のペアをノード マネージャのクライアントまたはサーバをホストするすべてのマシンに配布します。

最も簡単な方法は、ノード マネージャ ユーザのホーム ディレクトリを各マシンにマウントするようにするように LAN を設定することです。これにより、キーと値のペアがすべてのマシンで使用可能になります。この方法を使用しない場合は、次の手順を行います。

  1. SSH インストールに付属の ssh-keygen コマンドを使用して、ユーザの RSA キー値ペアを生成します。
  2. プライベート キーと公開鍵のデフォルトの場所はそれぞれ、~/.ssh/id_rsa~/.ssh/id_rsa.pub です。

    これらのキーが異なる場所に格納されている場合は、ssh コマンドにオプションを追加してキーの場所を指定するように ShellCommand テンプレートを変更します。

  3. ノード マネージャ マシン上の ~/.ssh/authorized_keys ファイルに公開鍵を追加します。次に例を示します。
  4. command="/home/bea/server90/common/nodemanager/nodemanager.sh" 1024 33 23...2323

    ここで、例で示した次の文字列を、id_rsa.pub に格納されている生成した公開鍵で置き換えます。

    1024 33 23...2323

    注意 : プレフィックス command=<command> は、公開鍵を使用してマシンとのセッションを確立するユーザが nodemanager.sh で指定されたコマンドしか実行できないことを保証しています。これによりユーザはノード マネージャ機能を実行するだけになり、データ、システム ユーティリティなどのマシン上のリソースへの権限のないアクセスが防止されます。
  5. ノード マネージャのサーバ インスタンスまたはクライアントをホストする各マシンにキーと値のペアを手動で配布します。
  6. クライアント マシン上で次のコマンドを実行して、ノード マネージャ クライアントがノード マネージャにアクセスできることを確認します。
  7. /home/bea$ ssh montgomery VERSION

    次の応答は、クライアントがノード マネージャに正常にアクセスしたことを示します。

    +OK NodeManager v9.1.0

個々のキーと値のペア

ノード マネージャ クライアントをホストするマシンごとに、次の手順を行います。

  1. 前の節の手順 1 の説明に従って、ノード マネージャ ユーザの個々の RSA キー値ペアを生成します。

前の節の手順 2 の説明に従って、マシン上の ~/.ssh/authorized_keys ファイルに公開鍵を追加します。


ページの先頭       前  次