Application Delivery Management
ご意見をお寄せいただきありがとうございました

この記事は機械翻訳されています.免責事項

APIプロキシサーバーとしてのNetScaler ADM

NetScaler Application Delivery Management (NetScaler ADM)は、独自の管理および分析機能に対するNITRO REST APIリクエストを受信できるだけでなく、管理対象インスタンスのREST APIプロキシサーバーとしても機能できます。REST APIクライアントは、APIリクエストを管理対象インスタンスに直接送信する代わりに、APIリクエストをNetScaler ADMに送信できます。NetScaler ADMは、応答する必要があるAPIリクエストと、変更せずにマネージドインスタンスに転送する必要があるAPIリクエストを区別できます。

NetScaler ADMはAPIプロキシサーバーとして次のようなメリットがあります。

  • API要求の検証:NetScaler ADMは、すべてのAPIリクエストを、構成済みのセキュリティおよびロールベースのアクセス制御(RBAC)ポリシーに照らして検証します。NetScaler ADMはテナント認識機能も備えているため、APIアクティビティがテナントの境界を越えないようにします。

  • 集中監査:NetScaler ADMは、管理対象インスタンスに関連するすべてのAPIアクティビティの監査ログを保持します。

  • セッション管理:NetScaler ADM は、APIクライアントを管理対象インスタンスとのセッションを維持するタスクから解放します。

NetScaler ADMがAPIプロキシサーバーとして機能する仕組み

NetScaler ADM で管理対象インスタンスにリクエストを転送する場合は、APIリクエストに次のHTTPヘッダーのいずれかを含めるようにAPIクライアントを構成します。

ヘッダー値 説明
_MPS_API_PROXY_MANAGED_INSTANCE_NAME 管理対象インスタンスの名前。
_MPS_API_PROXY_MANAGED_INSTANCE_IP 管理対象インスタンスのIPアドレス。
_MPS_API_PROXY_MANAGED_INSTANCE_ID 管理対象インスタンスのID。
MPS_API_PROXY_TIMEOUT NITRO API 要求のタイムアウト値。タイムアウト値を秒単位で設定します。プロキシタイムアウトを設定すると、ADM は要求がタイムアウトするまで指定された期間待機します。
_MPS_API_PROXY_MANAGED_INSTANCE_USERNAME 管理対象ADCインスタンスにアクセスするためのユーザー名。
MPS_API_PROXY_MANAGED_INSTANCE_PASSWORD 管理対象の ADC インスタンスにアクセスするためのパスワード。
MPS_API_PROXY_MANAGED_INSTANCE_SESSID 管理対象インスタンスにアクセスするためのセッション ID。

注:

[設定] > [管理] > [ システム構成 ] > [基本設定] で、[ インスタンスログインの認証情報を確認する] を選択した場合は、マネージドインスタンスのユーザー名とパスワードを設定してください。または、インスタンスセッション ID を指定することもできます。

これらのHTTPヘッダーが存在すると、NetScaler ADM はAPIリクエストを管理対象インスタンスに転送する必要があるAPIリクエストとして識別するのに役立ちます。ヘッダーの値は、NetScaler ADMがリクエストの転送先となる管理対象インスタンスを識別するのに役立ちます。

次の図はこのフローを示しています。

Device-API

上記の図に示すように、これらのHTTPヘッダーの1つが要求に表示されると、NetScaler ADM は要求を次のように処理します。

  1. リクエストを変更せずに、NetScaler ADMはリクエストをインスタンスAPIプロキシエンジンに転送します。

  2. インスタンスAPIプロキシエンジンはAPI要求を検証ツールに転送し、API要求の詳細を監査ログに記録します。

  3. 検証ツールは、要求が構成されているセキュリティポリシー、RBACポリシー、テナント境界などに違反がないことを確認します。管理対象インスタンスが利用可能かどうかを判断するチェックなど、追加のチェックを実行します。

APIリクエストが有効で、管理対象インスタンスに転送できる場合、NetScaler ADMはインスタンスSession Managerによって維持されるセッションを識別し、そのリクエストを管理対象インスタンスに送信します。

注:

[ インスタンスログインの認証情報をプロンプト ] オプションが無効になっていることを確認します。必要な操作:

  1. [ 設定] > [管理]に移動します。
  2. [ システム構成] で、[ システム]、[タイムゾーン]、[許可されたURL]、[今日のメッセージ]の順に選択します。

NetScaler ADM をAPIプロキシサーバーとして使用する方法

次の例は、APIクライアントがIPアドレス192.0.2.5のNetScaler ADMサーバーに送信するREST APIリクエストを示しています。NetScaler ADMは、IPアドレス192.0.2.10の管理対象インスタンスにリクエストを変更せずに転送する必要があります。すべての例で_MPS_API_PROXY_MANAGED_INSTANCE_IPヘッダーを使用します。

NetScaler ADMにAPIリクエストを送信する前に、APIクライアントは次のことを行う必要があります。

  • NetScaler ADM にログインします
  • セッション ID を取得
  • 後続の API リクエストにはセッション ID を含めてください。

ログオンAPI要求の形式は次のとおりです。

POST /nitro/v1/config/login Content-Type: application/json { "login": { "username":"nsroot", "password":"nsroot" } }

NetScaler ADMは、セッションIDを含む応答でログオン要求に応答します。次のサンプル応答本文は、セッションIDを示しています。

{ "errorcode": 0, "message": "Done", "operation": "add", "resourceType": "login", "username": "***********", "tenant_name": "Owner", "resourceName": "nsroot", "login": [ { "tenant_name": "Owner", "permission": "superuser", "session_timeout": "36000", "challenge_token": "", "username": "", "login_type": "", "challenge": "", "client_ip": "", "client_port": "-1", "cert_verified": "false", "sessionid": "##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D", "token": "b2f3f935e93db6a" } ] }

例 1: 負荷分散仮想サーバーの統計情報の取得

クライアントは、NetScaler ADM に次の形式のAPI要求を送信する必要があります。

GET /nitro/v1/stat/lbvserver Content-type: application/json _MPS_API_PROXY_MANAGED_INSTANCE_IP: 192.0.2.10 SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D

クッキーヘッダーの値は、ログイン API 呼び出しから返されたセッション ID です。そして、_MPS_API_PROXY_MANAGED_INSTANCE_IPの値は、ADCのIPアドレスです。

例 2: 負荷分散仮想サーバーの作成

クライアントは、NetScaler ADM に次の形式のAPI要求を送信する必要があります。

POST /nitro/v1/config/lbvserver/sample_lbvserver Content-type: application/json Accept-type: application/json _MPS_API_PROXY_MANAGED_INSTANCE_IP: 192.0.2.10 SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D { "lbvserver":{ "name":"sample_lbvserver", "servicetype":"HTTP", "ipv46":"10.102.1.11", "port":"80" } }

例 3: 負荷分散仮想サーバーの変更

クライアントは、NetScaler ADM に次の形式のAPI要求を送信する必要があります。

PUT /nitro/v1/config/lbvserver Content-type: application/json Accept-type: application/json _MPS_API_PROXY_MANAGED_INSTANCE_IP: 192.0.2.10 SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D { "lbvserver":{ "name":"sample_lbvserver", "appflowlog":"DISABLED" } }

例 4: 負荷分散仮想サーバーを削除する

クライアントは、NetScaler ADM に次の形式のAPI要求を送信する必要があります。

DELETE /nitro/v1/config/lbvserver/sample_lbvserver Accept-type: application/json _MPS_API_PROXY_MANAGED_INSTANCE_IP: 192.0.2.10 SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D

例 5: ADC での設定実行中の CLI のダウンロード

クライアントは、NetScaler ADM に次の形式のAPI要求を送信する必要があります。

GET /nitro/v1/config/nsrunningconfig Accept-type: application/json _MPS_API_PROXY_MANAGED_INSTANCE_IP: 192.0.2.10 SESSID: ##D2BF9C5F40E5B2E884A9C45C89F0ADE24DA8A8169BE6358D39F5D471B73D
このコンテンツの正式なバージョンは英語で提供されています。Cloud Software Groupドキュメントのコンテンツの一部は、お客様の利便性のみを目的として機械翻訳されています。Cloud Software Groupは機械翻訳されたコンテンツを管理していないため、誤り、不正確な情報、不適切な用語が含まれる場合があります。英語の原文から他言語への翻訳について、精度、信頼性、適合性、正確性、またはお使いのCloud Software Group製品またはサービスと機械翻訳されたコンテンツとの整合性に関する保証、該当するライセンス契約書またはサービス利用規約、あるいはCloud Software Groupとのその他すべての契約に基づき提供される保証、および製品またはサービスのドキュメントとの一致に関する保証は、明示的か黙示的かを問わず、かかるドキュメントの機械翻訳された範囲には適用されないものとします。機械翻訳されたコンテンツの使用に起因する損害または問題について、Cloud Software Groupは責任を負わないものとします。
APIプロキシサーバーとしてのNetScaler ADM