前のトピック: WS_API - Web サービス API アプリケーション

次のトピック: システム アプリケーション


WS_API_SAMPLE - Web サービス API サンプル アプリケーション

最新バージョン: 1.0.3-1

Web サービス API は CA AppLogic 2.9 の正式リリースおよびそれ以降のバージョンでのみ提供されます。

WS_API_SAMPLE アプリケーションは、CA AppLogic Web Service API アプリケーション(WS_API)にアクセスするシンプルなポータル アプリケーションを構築する方法についてサンプルを提供します。 このアプリケーションを提供する目的は、CA AppLogic グリッド上で実行される WS_API アプリケーションのインスタンスに Web API リクエストを発行するポータルおよびアプリケーションの開発者を支援することです。

CA AppLogic Web サービス 'WS_API_SAMPLE' アプリケーション境界プロパティ

プロパティ名

タイプ

説明

in_usr_ip

IP

WS_API_SAMPLE ポータルにアクセスできる IP アドレスです。 このプロパティは必須です。

net_out_ip

IP

WS_API_SAMPLE アプリケーションが HTTP または HTTPS ベースのリクエストを WS_API アプリケーションに発行するために使用される IP アドレスです。 このプロパティは必須です。

vpn_out_ip

IP

WS_API_SAMPLE アプリケーションが HTTP ベースのリクエストを VPN トンネルを介して WS_API アプリケーションに発行するために使用される IP アドレスです。 このプロパティは必須です。

netmask

IP

vpn_out_ip、in_usr_ip、net_out_ip が存在するネットワーク用のネットワーク マスク。 このプロパティは必須です。

gateway

IP

トラフィックのルーティングに使用される IP ゲートウェイのアドレス。 このプロパティは、WS_API アプリケーションにアクセスするために指定する必要があります。 このプロパティは必須です。

dns1

IP

ホスト名解決のための DNS サーバの IP アドレス。 このプロパティは必須です。

dns2

IP

ホスト名解決のためのバックアップ DNS サーバの IP アドレス。 デフォルト: 0.0.0.0

api_ports

文字列

WS_API_SAMPLE アプリケーションがアクセスできるポートのカンマ区切りリスト。 デフォルト: empty

allowed_hosts

文字列

WS_API_SAMPLE にアクセスできる許可された IP アドレスまたは IP アドレス範囲のリスト(CIDR 形式)。 デフォルト: 0.0.0.0/0 (すべて許可)

重要: vpn_out_ip、in_usr_ip、net_out_ip のプロパティに設定される IP アドレスは、使用する CA AppLogic グリッドで利用可能な IP アドレスである必要があります。 グリッドのダッシュボード上で、ネットマスク、ゲートウェイおよび DNS サーバと一緒に、それらを検索することができます。 将来は、CA AppLogic でこれらのアドレスが自動的に提供されるようにする予定です。

アプリケーション リソース

リソース

最小

最大

デフォルト

CPU

0.45

72

1.05

メモリ

704 MB

132 GB

1.343 GB

帯域幅

6 Mbps

12 Gbps

1.151 Gbps

アプリケーション ボリューム

BackupHelper アプリケーションには以下のボリュームがあります。

ボリューム

説明

コンテンツ

スクリプト、ログ、および Web インターフェースが含まれるファイル システム。 このボリュームは変更できません。

実装詳細
アプリケーション アーキテクチャ

BackupHelper には以下のコンポーネントがあります。

概要

WS_API_SAMPLE アプリケーションは、CA AppLogic グリッド上で実行される WS_API のインスタンスにアクセスするために設定する必要があります。 このアプリケーションを開始する前に、ここでの説明どおりに WS_API アプリケーションのインスタンスを開始します。 次に、WS_API_SAMPLE を設定し、WS_API アプリケーションのインスタンスに設定されたプロパティに関する設定を行います。

WS_API_SAMPLE を設定する方法

  1. アプリケーションの portal ボリュームの bin サブディレクトリ上に存在するポータル スクリプトを編集し、スクリプト内の IP 変数を以下のとおり設定します。
  2. IP 変数を usr_ip に設定し、HTTP または HTTPS ベースのリクエストが WS_API アプリケーションに発行されるようにするか、aux に設定し、HTTP ベースのリクエストが VPN トンネル経由で発行されるようにします。
  3. VDC 情報を編集し、WS_API アプリケーション上の vdcs.conf と一致するようにします。 例:
    # 以下の VDC 情報を編集
    <p>
    <label for="location">Select Location: </label>
    <select name="location">
    <option value="dallas">Dallas, TX, USA</option>
    <option value="sandiego">San Diego, CA, USA</option>
    <option value="japan">Tokyo, Japan</option>
    <option value="netherlands">Amsterdam, Netherlands</option>
    </select>
    </p>
    上記を、WS_API アプリケーション内に設定された VDC に変更する必要があります。 mygrid1 および mygrid2 がそれぞれ Dallas と San Diego で実行される 2 つの VDC である場合、上記の HTML コードを以下のように変更します。 
    # 以下の VDC 情報を編集
    <p>
    <label for="location">Select Location: </label>
    <select name="location">
    <option value="mygrid1">Dallas, TX, USA</option>
    <option value="mygrid2">San Diego, CA, USA</option>
    </select>
    </p>
    

WS_API_SAMPLE は以下のいずれかのモードで動作するように設定できます。

HTTP の使用

このモードでは、ポータルは、標準の HTTP ベースのインターフェースを使用して WS_API アプリケーションのインスタンスへ API リクエストを発行します。
例: curl "http://usr_ip/api/v1/app/list?vdc=mygrid1"

HTTPS の使用

このモードでは、ポータルは、安全な HTTP ベースのインターフェース(つまり HTTPS)を使用して WS_API アプリケーションのインスタンスへ API リクエストを発行します。 そのためには、api_client.pem キーが WS_API_SAMPLE アプリケーションの portal ボリューム上の keys サブディレクトリにコピーされる必要があります。
例: curl -k -E /mnt/fs/keys/api_client.pem "https://usr_ip/api/v1/app/list?vdc=mygrid1".

VPN トンネルの使用

このモードでは、ポータルは、標準の HTTP ベースのインターフェースを使用して、安全な VPN トンネルを介して WS_API アプリケーションのインスタンスへ API リクエストを発行します。 トンネルを作成するには、WS_API アプリケーションのインスタンスの vpn_key ボリュームの server サブディレクトリに生成された client.xxxxxxxxxxxxxxxxxxxxxxxxx.key、client.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.crt、および ca.crt を、WS_API_SAMPLE アプリケーションの vpn_key ボリュームの client サブディレクトリにコピーするだけです。 out_vpn コンポーネントが開始されたら、安全なトンネルが作成されます。
例: curl "http://aux/api/v1/app/list?vdc=mygrid1"

Web ブラウザによってポータルにアクセスするには、ブラウザで http://in_usr_ip/api/portal にアクセスします。

アプリケーション アーキテクチャ

CA AppLogic Web サービス 'WS_API_SAMPLE' アプリケーションのインフラストラクチャを以下に示します。

次のコンポーネントがあります。

API サンプル アプリケーション スイート

ノート

オープン ソースおよびサードパーティ ソフトウェアの使用

以下のオープン ソース/サードパーティ ソフトウェアが portal ボリュームにインストールされます。

ソフトウェア

バージョン

変更

ライセンス

ノート

JSON

2.15

いいえ

Artistic

該当なし

IPC-Run

0.82

いいえ

GPLv2

該当なし

XML-Simple

1.40

いいえ

Artistic

該当なし

Sort-Naturally

1.02

いいえ

Artistic

該当なし