要求接続のトラブルシューティング

Flex Gateway を設定して実行するときに、接続の問題が発生する可能性があります。

これらの問題のトラブルシューティングを行うには、​flexctl check http​ コマンドを使用します。このコマンドは、アップストリームサービスと Flex Gateway 間のアウトバウンド接続と、Flex Gateway とクライアント間のインバウンド接続の両方に対する直接要求を行います。直接要求を実行すると、Flex Gateway 接続が分離され、問題の原因を特定できます。

次の図は、インバウンド要求とアウトバウンド要求の違いを示しています。

インバウンド接続はクライアントと Flex Gateway 間で行われ、アウトバウンド接続は Flex Gateway とアップストリームサービス間で行われます

Flex Gateway とアップストリームサービス間のアウトバウンド要求

アップストリームサービスと Flex Gateway 間の接続を分離すると、この 2 つの間の接続をテストできます。

アップストリームサービスへの直接アウトバウンド要求を実行する手順は、次のとおりです。

  1. Flex Gateway コンテナまたは VM にログインします。

    • Linux:

      ssh [-i sshkey.pem] <user>@<domain>
      ssh
    • Docker:

      docker exec -it <container-id> bash
      ssh
    • Kubernetes:

      kubectl -n <namespace> exec -it <pod-name> -- bash
      ssh
  2. アップストリームサービスへの要求を実行します。

    flexctl check http -X=POST -d='{\"key\": \"value\"}' -H='Authorization:token' <http://upstream.domain>
    ssh

クライアントと Flex Gateway 間のインバウンド要求

Flex Gateway とクライアント間の接続を分離すると、接続の問題の原因がロードバランサーであるか、または Flex Gateway とクライアント間に追加された別のシステムによるものであるかをテストできます。

クライアントへの直接インバウンド要求を実行する手順は、次のとおりです。

  1. Flex Gateway コンテナまたは VM にログインします。

    • Linux:

      ssh [-i sshkey.pem] <user>@<domain>
      ssh
    • Docker:

      docker exec -it <container-id> bash
      ssh
    • Kubernetes:

      kubectl -n <namespace> exec -it <pod-name> -- bash
      ssh
  2. Flex Gateway への要求を実行します。

    flexctl check http -X=POST -d='{\"key\": \"value\"}' -H='Authorization:token' http://localhost:<api-instance-port>/<path>
    ssh