-
-
-
-
-
API プロキシサーバーとしての NetScaler ADM
This content has been machine translated dynamically.
Dieser Inhalt ist eine maschinelle Übersetzung, die dynamisch erstellt wurde. (Haftungsausschluss)
Cet article a été traduit automatiquement de manière dynamique. (Clause de non responsabilité)
Este artículo lo ha traducido una máquina de forma dinámica. (Aviso legal)
此内容已经过机器动态翻译。 放弃
このコンテンツは動的に機械翻訳されています。免責事項
이 콘텐츠는 동적으로 기계 번역되었습니다. 책임 부인
Este texto foi traduzido automaticamente. (Aviso legal)
Questo contenuto è stato tradotto dinamicamente con traduzione automatica.(Esclusione di responsabilità))
This article has been machine translated.
Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)
Ce article a été traduit automatiquement. (Clause de non responsabilité)
Este artículo ha sido traducido automáticamente. (Aviso legal)
この記事は機械翻訳されています.免責事項
이 기사는 기계 번역되었습니다.책임 부인
Este artigo foi traduzido automaticamente.(Aviso legal)
这篇文章已经过机器翻译.放弃
Questo articolo è stato tradotto automaticamente.(Esclusione di responsabilità))
Translation failed!
API プロキシサーバーとしてのNetScaler® ADM
NetScaler Application Delivery Management (NetScaler ADM) は、自身の管理および分析機能のためにNITRO REST APIリクエストを受信できるだけでなく、管理対象インスタンスのREST APIプロキシサーバーとしても機能します。APIリクエストを管理対象インスタンスに直接送信する代わりに、REST APIクライアントはAPIリクエストをNetScaler ADMに送信できます。NetScaler ADMは、自身が応答する必要があるAPIリクエストと、変更せずに管理対象インスタンスに転送する必要があるAPIリクエストを区別できます。
APIプロキシサーバーとして、NetScaler ADMは以下の利点を提供します。
-
APIリクエストの検証。NetScaler ADMは、構成されたセキュリティポリシーおよびロールベースのアクセス制御 (RBAC) ポリシーに対してすべてのAPIリクエストを検証します。NetScaler ADMはテナントを認識しており、APIアクティビティがテナント境界を越えないようにします。
-
集中監査。NetScaler ADMは、管理対象インスタンスに関連するすべてのAPIアクティビティの監査ログを保持します。
-
セッション管理。NetScaler ADMは、APIクライアントが管理対象インスタンスとのセッションを維持するタスクから解放します。
NetScaler ADM の API プロキシサーバーとしての動作
NetScaler ADMにリクエストを管理対象インスタンスに転送させたい場合、APIクライアントがAPIリクエストに以下のいずれかのHTTPヘッダーを含めるように構成します。
| Header values | Description |
|---|---|
| _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 |
注
Settings > Administration > System Configurations > Basic Settings で Prompt Credentials for Instance Login を選択した場合、管理対象インスタンスのユーザー名とパスワードを必ず構成してください。または、インスタンスセッションIDを指定することもできます。
これらのHTTPヘッダーのいずれかが存在することで、NetScaler ADMはAPIリクエストを管理対象インスタンスに転送する必要があるものとして識別できます。ヘッダーの値は、NetScaler ADMがリクエストを転送すべき管理対象インスタンスを特定するのに役立ちます。
このフローを次の図に示します。

上図に示すように、これらのHTTPヘッダーのいずれかがリクエストに現れると、NetScaler ADMはリクエストを次のように処理します。
-
リクエストを変更せずに、NetScaler ADMはリクエストをインスタンスAPIプロキシエンジンに転送します。
-
インスタンスAPIプロキシエンジンはAPIリクエストをバリデーターに転送し、APIリクエストの詳細を監査ログに記録します。
-
バリデーターは、リクエストが構成されたセキュリティポリシー、RBACポリシー、テナンシー境界などに違反しないことを保証します。また、管理対象インスタンスが利用可能であるかどうかのチェックなど、追加のチェックを実行します。
APIリクエストが有効で、管理対象インスタンスに転送できる場合、NetScaler ADMはインスタンスセッションマネージャーによって維持されているセッションを識別し、そのリクエストを管理対象インスタンスに送信します。
注
Prompt Credentials for Instance Login オプションが無効になっていることを確認してください。無効にするには:
- Settings > Administration に移動します。
- System Configurations で、System, Time zone, Allowed URLs and Message of the day を選択します。
NetScaler ADM を API プロキシサーバーとして使用する方法
以下の例は、IPアドレス192.0.2.5を持つNetScaler ADMサーバーにAPIクライアントが送信する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"
}
}
<!--NeedCopy-->
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"
}
]
}
<!--NeedCopy-->
例 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
<!--NeedCopy-->
ここで、Cookieヘッダーの値はログイン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"
}
}
<!--NeedCopy-->
例 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"
}
}
<!--NeedCopy-->
例 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
<!--NeedCopy-->
例 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
<!--NeedCopy-->
共有
共有
This Preview product documentation is Cloud Software Group Confidential.
You agree to hold this documentation confidential pursuant to the terms of your Cloud Software Group Beta/Tech Preview Agreement.
The development, release and timing of any features or functionality described in the Preview documentation remains at our sole discretion and are subject to change without notice or consultation.
The documentation is for informational purposes only and is not a commitment, promise or legal obligation to deliver any material, code or functionality and should not be relied upon in making Cloud Software Group product purchase decisions.
If you do not agree, select I DO NOT AGREE to exit.