A.2. SGD Gateway のコンポーネント

SGD Gateway は次のコンポーネントで構成されます。

A.2.1. ルーティングトークンについて

SGD Gateway はルーティングトークンを使用して AIP 接続を管理します。ルーティングトークンは、経路の送信元および送信先の SGD サーバーを識別する、署名され暗号化されたメッセージです。ルーティングトークンにはタイムスタンプが含まれており、トークンの寿命を制限するために使用されます。

発信ルーティングトークンは次のようになります。

  • SGD サーバーの非公開鍵を使用して SGD サーバー上で署名されます。

  • SGD Gateway の証明書を使用して SGD サーバー上で暗号化されます。

  • クライアントデバイスの SGD Client に送信されます。

着信ルーティングトークンは次のようになります。

  • SGD Gateway の非公開鍵を使用して SGD Gateway 上で復号化されます。

  • 送信元 SGD サーバーの CA 証明書を使用して SGD Gateway 上で確認されます。

  • SGD Gateway 上で破棄されます。ルーティングトークンを提示している接続は、送信先 SGD サーバーにルーティングされます。

A.2.2. SGD Gateway で使用されるキーストア

SGD Gateway は非公開鍵と証明書を使用して、ルーティングトークンへのデジタル署名、ルーティングトークンの確認、アレイ内の SGD サーバーに対する接続のセキュリティー保護、SGD Gateway へのクライアント接続のセキュリティー保護、およびリフレクションサービスへのアクセスの承認を行います。

SGD Gateway で使用される証明書と非公開鍵は、/opt/SUNWsgdg/proxy/etc ディレクトリのキーストアに保存されています。

このディレクトリには次のキーストアがあります。

  • SGD Gateway キーストア。SGD Gateway キーストア keystore には、SGD Gateway の証明書と非公開鍵、アレイ内の SGD サーバーの CA 証明書、および SGD サーバーの SSL 証明書があり、アレイ内の SGD サーバーに対するセキュア接続に使用されます。

    SGD Gateway キーストアのエントリを追加、削除、および一覧表示するには、gateway コマンドを使用します。

  • クライアントキーストア。クライアントキーストア keystore.client には、単一の SGD Gateway SSL 証明書と非公開鍵があり、クライアントデバイスと SGD Gateway の間の接続をセキュリティー保護するために使用されます。デフォルトでは、このキーストアには自己署名付き証明書が入っています。この証明書を認証局 (CA) によって署名された証明書で置き換えることができます。

  • リフレクションサービスキーストア。リフレクションサービスキーストア keystore.reflection には、SGD Gateway でリフレクションサービスへのアクセスの承認に使用される証明書と非公開鍵が含まれています。デフォルトでは、このキーストアには自己署名付き証明書と非公開鍵が入っています。

キーストアは、SGD Gateway のインストール後に gateway setup コマンドを実行したときに自動的に作成されます。

注記

すべてのキーストアで同じパスワードが使用され、パスワードは /opt/SUNWsgdg/etc/password ファイルで定義されます。このパスワードは、キーストアの最初の作成時に自動的に作成されるランダムなパスワードです。パスワードファイルを読み取ることができるのはスーパーユーザー (root) だけです。

A.2.3. ルーティングプロキシ構成ファイル

ルーティングプロキシ構成ファイルは /opt/SUNWsgdg/etc/gateway.xml です。これは、データプロトコルの種類に応じて経路を構成する XML ファイルです。ルーティングおよび SSL プロトコルに必要なキーストアの場所とパスワードも、このファイルで構成されます。

ルーティングプロキシ構成ファイルは、SGD Gateway のインストール時に自動的に作成され、gateway config コマンドを使用して SGD Gateway の構成を変更したときに更新されます。

注意

gateway config コマンドは、Gateway の構成に使用します。可能なかぎり、gateway.xml ファイルを手動で編集しないでください。gateway.xml ファイルの構成が間違っていると、SGD Gateway の動作が停止することがあります。

デフォルトのルーティングプロキシ構成ファイルは /opt/SUNWsgdg/etc/password ファイル内のパスワードを使用して、SGD Gateway が使用するキーストアにアクセスします。このパスワードをディスクに保存したくない場合は、パスワードファイル内のエントリを書きとめます。パスワードファイルを削除し、gateway.xml ファイルからすべての <keystore> 要素の password エントリを削除します。次に SGD Gateway を起動するとき、キーストアパスワードの入力を求められます。

SGD Gateway が使用するキーストアのパスワードを変更するには、keytool コマンドの -storepasswd オプションを使用します。たとえば、keystore.client キーストアのパスワードを変更するには、次のコマンドを実行します。

# /opt/SUNWsgdg/java/default/bin/keytool -storepasswd \
-keystore /opt/SUNWsgdg/proxy/etc/keystore.client 

keytool アプリケーションを使用する方法の詳細については、JDK Tools and Utilities のドキュメントを参照してください。

注記

/opt/SUNWsgdg/etc ディレクトリには、ほかの .xml および .template ファイルもあります。これらのファイルは、gateway config コマンドで gateway.xml ファイルを更新するために内部的に使用されます。これらのファイルを手動で編集しないでください。

A.2.4. Apache Web サーバーの設定ファイル

SGD Gateway で使用するために構成された Apache Web サーバーの構成ファイルは、/opt/SUNWsgdg/httpd/apache-version/conf ディレクトリにあります。

このディレクトリにある設定ファイルは、Apache Web サーバーの逆プロキシ処理と負荷分散を設定するために使用されます。

A.2.4.1. 逆プロキシと負荷分散の設定

逆プロキシ処理と負荷分散を構成するためのファイルは、extra/gateway サブディレクトリにあります。これらのファイルは、メインの httpd.conf ファイルで次の Include 指令によって有効にされます。

# SGD Reverse Proxy/Load Balance settings
Include conf/extra/gateway/httpd-gateway.conf

httpd-gateway.conf ファイルは、Apache Web サーバーの逆プロキシと負荷分散を構成します。負荷分散グループのメンバーは、httpd-gateway.conf ファイルで次のように Include 指令を使用して定義されます。

<Proxy Balancer://mysgdservers/>
Include conf/extra/gateway/servers/*.conf
</Proxy>

extra/gateway/servers ディレクトリには、負荷分散グループの各 SGD Web サーバーの構成ファイルがあります。構成ファイルには server-name.conf という名前が付けられます。ここで、server-namegateway server add コマンドで使用されたサーバー名です。このコマンドの詳細については、「gateway server add」を参照してください。

SGD Gateway ではスティッキーセッション HTTP 負荷分散が使用されます。つまり、Apache 逆プロキシはクライアントのブラウザに Cookie を設定することによって、ブラウザが必ず負荷分散で選択された SGD Web サーバーに戻るようにします。ユーザーセッションの終了時に Cookie は期限切れになります。

スティッキーセッションの Cookie は、httpd-gateway.conf ファイルで次のように Header add Set-Cookie 指令によって有効にされます。

Header add Set-Cookie "BALANCEID=balanceworker.%{BALANCER_WORKER_ROUTE}e; path=/" \
env=BALANCER_ROUTE_CHANGED

ここで、BALANCEID は Cookie の名前、BALANCER_WORKER_ROUTEBALANCER_ROUTE_CHANGED は Apache mod_proxy_balancer モジュールによってエクスポートされた環境変数です。これらの環境変数については、Apache mod_proxy_balancer のドキュメントを参照してください。

A.2.5. SGD Gateway で使用される Apache モジュール

SGD Gateway に付属の Apache Web サーバーでは、逆プロキシと負荷分散のために標準の Apache モジュールが使用されます。モジュールは DSO (Dynamic Shared Object) モジュールとしてインストールされます。

これらのモジュールは、 /opt/SUNWsgdg/httpd/apache-version/conf/httpd.conf にある Apache 構成ファイル httpd.conf で、LoadModule 指令によって有効にされます。