IPsec VPN セッションに対する構成更新要求を送信した後に、要求された状態がトランスポート ノードの NSX のローカル制御プレーンで正常に処理されたかどうかを確認できます。

IPsec VPN セッションを作成するときに、IKE プロファイル、DPD プロファイル、トンネル プロファイル、ローカル エンドポイント、IPsec VPN サービス、IPsec VPN セッションなどの複数のエンティティが作成されます。これらすべてのエンティティで同じ IPSecVPNSession SPAN が共有されるため、同じ GET API 呼び出しを使用して、IPsec VPN セッションのすべてのエンティティの認識状態を取得することができます。API のみを使用して認識状態を確認することができます。

前提条件

  • IPsec VPN について理解しておく必要があります。IPsec VPN の理解 を参照してください。
  • IPsec VPN が正常に構成されていることを確認します。NSX IPsec VPN サービスの追加 を参照してください。
  • NSX Manager API にアクセスできる

手順

  1. POSTPUT、または DELETE 要求 API 呼び出しを送信します。
    次はその例です。
    PUT https://<nsx-mgr>/api/v1/vpn/ipsec/sessions/8dd1c386-9b2c-4448-85b8-51ff649fae4f
    {
       "resource_type": "PolicyBasedIPSecVPNSession",
       "id": "8dd1c386-9b2c-4448-85b8-51ff649fae4f",
       "display_name": "Test RZ_UPDATED",
       "ipsec_vpn_service_id": "7adfa455-a6fc-4934-a919-f5728957364c",
       "peer_endpoint_id":  "17263ca6-dce4-4c29-bd8a-e7d12bd1a82d",
       "local_endpoint_id": "91ebfa0a-820f-41ab-bd87-f0fb1f24e7c8",
       "enabled": true,
       "policy_rules": [
           {
               "id": "1026",
               "sources": [
                   {
                       "subnet": "1.1.1.0/24"
                   }
               ],
               "logged": true,
               "destinations": [
                   {
                       "subnet": "2.1.4..0/24"
                   }
               ],
               "action": "PROTECT",
               "enabled": true,
               "_revision": 1
           }
       ]
    }
  2. 返された応答ヘッダー内で x-nsx-requestid の値を検索して、コピーします。
    次はその例です。
    x-nsx-requestid   e550100d-f722-40cc-9de6-cf84d3da3ccb
  3. 次の GET 呼び出しを使用して、IPsec VPN セッションの認識状態を要求します。
    GET https://<nsx-mgr>/api/v1/vpn/ipsec/sessions/<ipsec-vpn-session-id>/state?request_id=<request-id>
    次の API 呼び出しでは、以前の手順で使用した例の idx-nsx-requestid の値を使用します。
    GET https://<nsx-mgr>/api/v1/vpn/ipsec/sessions/8dd1c386-9b2c-4448-85b8-51ff649fae4f/state?request_id=e550100d-f722-40cc-9de6-cf84d3da3ccb
    次に、認識状態が in_progress の場合に受信する応答の例を示します。
    {
      "details": [
        {
          "sub_system_type": "TransportNode",
          "sub_system_id": "fe651e63-04bd-43a4-a8ec-45381a3b71b9",
          "state": "in_progress",
          "failure_message": "CCP Id:ab5958df-d98a-468e-a72b-d89dcdae5346, Message:State realization is in progress at the node."
        },
        {
          "sub_system_type": "TransportNode",
          "sub_system_id": "ebe174ac-e4f1-4135-ba72-3dd2eb7099e3",
          "state": "in_sync"
        }
      ],
      "state": "in_progress",
      "failure_message": "The state realization is in progress at transport nodes."
    }
    次に、認識状態が in_sync の場合に受信する応答の例を示します。
    {
        "details": [
            {
                "sub_system_type": "TransportNode",
                "sub_system_id":  "7046e8f4-a680-11e8-9bc3-020020593f59",
                "state": "in_sync"
            }
        ],
        "state": "in_sync"
    }
    次に、認識状態が unknown の場合に受信する可能性のある応答の例を示します。
    {
        "state": "unknown",
        "failure_message": "Unable to get response from any CCP node. Please retry operation after some time."
    }
    {
        "details": [
           {
              "sub_system_type": "TransportNode",
              "sub_system_id": "3e643776-5def-11e8-94ae-020022e7749b",
              "state": "unknown", 
              "failure_message": "CCP Id:ab5958df-d98a-468e-a72b-d89dcdae5346, Message: Unable to get response from the node. Please retry operation after some time."
           },
           {
              "sub_system_type": "TransportNode",
              "sub_system_id": "4784ca0a-5def-11e8-93be-020022f94b73",
              "state": "in_sync"
           }
        ],
        "state": "unknown",
        "failure_message": "The state realization is unknown at transport nodes"
    }
    エンティティの DELETE 操作を実行した後に、次の例のような NOT_FOUND の状態を受信する可能性があります。
    {
       "http_status": "NOT_FOUND",
       "error_code": 600, 
       "module_name": "common-services",
       "error_message": "The operation failed because object identifier LogicalRouter/61746f54-7ab8-4702-93fe-6ddeb804 is missing: Object identifiers are case sensitive.."
    }
    セッションに関連付けられている IPsec VPN サービスが無効な場合は、次の例のような BAD_REQUEST 応答を受信します。
    {
        "httpStatus": "BAD_REQUEST",
        "error_code": 110199,
        "module_name": "VPN",
        "error_message": "VPN service f9cfe508-05e3-4e1d-b253-fed096bb2b63 associated with the session 8dd1c386-9b2c-4448-85b8-51ff649fae4f is disabled. Can not get the realization status."
    }