NX-API CLI について
NX-API CLI は、XML 出力をサポートする Cisco NX-OS CLI システムの拡張機能です。NX-API CLI は、特定のコマンドの JSON 出力フォーマットもサポートしています。
Cisco Nexus スイッチでは、コマンドライン インターフェイス(CLI)はスイッチ上でのみ実行されます。NX-API CLI は HTTP / HTTPS を使ってスイッチの外部で CLI を使用できるようにすることで、これらの CLI のユーザー補助を改善します。この拡張機能をスイッチの既存の Cisco NX-OS CLI システムに使用できます。NX-API CLIは show コマンド、構成と Linux Bash をサポートします。
NX-API CLI は JSON-RPC をサポートしています。
注意事項と制約事項
-
NX-API CLI は、スイッチで Cisco NX-OS CLI を実行するために VSH を生成します。VSH のタイムアウトは 5 分です。Cisco NX-OS CLI の実行に 5 分以上かかると、コマンドは失敗し、「Back-end processing error.」というメッセージが表示されます。これは、NX-API コマンドのタイムアウトによって制御されます。これは、NX-API を介して要求されたコマンドを実行できる時間を制御します。この値は 300 秒に固定されており、変更できません。
-
Cisco NX-OS リリース 10.2(1)F 以降では、 system server session cmd-timeout を使用してタイムアウトを増やすことができます。
-
NX- API はワーカープロセスを生成し、複数のワーカープロセスがリクエストを均等に負担するようにします。
-
nginx のバックエンドワーカープロセスの数は 4 です。
-
N3k および低メモリベースプラットフォームの nginx バックエンドワーカープロセスの数は 2 です。
-
-
各ワーカープロセスは、5 つの永続的な VSH セッションのプールを維持します。各 VSHセッションは、着信リクエストからのユーザー名とリモート IP の組み合わせで一意に識別されます。新しいリクエストが来るたびに、ワーカー プロセスは一致するユーザー名とリモート IP エントリがすでに存在するかどうかを確認します。存在する場合は、対応する VSH セッションを使用します。存在しない場合は、プール内の可用性に基づいて新しい VSH セッションが作成され、新しいエントリがプールに追加されます。ワーカープロセスがすでに最大許容 VSH セッションを実行している場合、新しいリクエストは拒否され、適切なエラー メッセージが応答で返されます。
-
ワーカープロセスごとの VSH セッション数はハードコードされた値であり、構成することはできません。任意の時点で存在できるセッションの合計数は 20 です。
-
NX-API に関連付けられているトラストポイント、証明書、またはキーが削除されても、NX-API は NX-API 証明書、トラストポイント、または NX-API クライアント証明書の認証設定を保持します。そのため、NX-API 機能には影響が及びます。NX-API の現在のインスタンスは正常に動作しますが、NX-API コマンドの再構成によってインスタンスが破損する可能性があります。これを防ぐには、no crypto ca trustpoint コマンドを使用してトラストポイントまたは証明書を削除するときに、NX-API 設定も削除または更新することが重要です。
チャンクモード
-
チャンクモードは、2 つの同時セッションのみをサポートします。チャンクオプションが選択されている場合、一度に 2 つの並列セッションでのみ指定できます。
-
リリース 10.3(1)F リリースまで、チャンク モードでサポートされる応答の最大サイズは 200 MB です。
-
10.3(1)F リリース以降、チャンクモードは、スペースが揮発性領域(約 2.0GB)で使用可能である限り、応答サイズをサポートします。チャンクモード応答がサポートするサイズは、揮発性領域のスペースによって異なります。揮発性領域の 90% がいっぱいになると、その後最初に show 出力がファイルに収集されたとき、チャンクモードは失敗を返します。各応答でサポートされるチャンクサイズは 10 MB です。
転送
NX-APIは、転送のように HTTP または HTTPS を使用します。CLI は、HTTP / HTTPS POST 本文にエンコードされます。
Cisco NX-OS リリース 9.2(1) 以降、NX-API 機能は HTTPS ポート 443 でデフォルトで有効になっています。HTTP ポート 80 は無効化されています。
NX-API は、ホスト上でネイティブに、またはゲスト シェル内で実行されるアプリケーションの UNIX ドメイン ソケットを介してサポートされます。
NX-API バックエンドは Nginx HTTP サーバを使用します。Nginx プロセスとそのすべての子プロセスは、CPU とメモリの使用量が制限されている Linux cgroup 保護下にあります。Nginx のメモリ使用量が cgroup の制限を超えると、Nginx プロセスは再起動されて、NX-API 構成(VRF、ポート、証明書構成)が復元されます。
メッセージ形式
NX-API は、XML 出力をサポートする Cisco Nexus 7000 シリーズ CLI システムの拡張機能です。NX-API は、特定のコマンドの JSON 出力フォーマットもサポートしています。
![]() (注) |
|
セキュリティ
-
NX-API は HTTPS をサポートします。HTTPS を使用すると、デバイスへのすべての通信が暗号化されます。
-
NX-API は、デフォルトでは非セキュア HTTP をサポートしていません。
-
NX-API は、デフォルトでは弱い TLSv1 プロトコルをサポートしていません。
NX-API は、デバイスの認証システムに統合されています。ユーザーは、NX-API を介してデバイスにアクセスするための適切なアカウントを持っている必要があります。NX-API では HTTP basic 認証が使用されます。すべてのリクエストには、HTTP ヘッダーにユーザー名とパスワードが含まれている必要があります。
![]() (注) |
ユーザーのログイン資格情報を保護するには、HTTPS の使用を検討する必要があります。 |
[機能(feature)] マネージャ CLI コマンドを使用して、NX-API を有効にすることができます。NX-API はデフォルトで無効になっています。
NX-API は、ユーザーが最初に認証に成功したときに、セッション ベースの Cookie、nxapi_auth を提供します。セッション Cookie を使用すると、デバイスに送信される後続のすべての NX-API 要求にユーザー名とパスワードが含まれます。ユーザー名とパスワードは、完全な認証プロセスの再実行をバイパスするために、セッション Cookie で使用されます。セッション Cookie が後続の要求に含まれていない場合は、別のセッション Cookie が必要であり、認証プロセスによって提供されます。認証プロセスの不必要な使用を避けることで、デバイスのワークロードを軽減できます。
![]() (注) |
nxapi_auth cookie は 600 秒(10 分)で期限切れになります。この値は固定されており、調整できません。 |
![]() (注) |
NX-API は、スイッチ上の Programmable Authentication Module(PAM)を使用して認証を行います。cookie を使用して PAM の認証数を減らし、PAM の負荷を減らします。 |