メインコンテンツまでスキップ

Route のテスト

Route を作成したら、API Gateway の Gateway URL にテスト request を送信し、request が API Gateway を通過して Route によってバックエンドに転送されることを確認します。このページでは Postman を例にしていますが、curl など HTTP request を送信できる任意のツールを使えます。

例で使用する設定:

コンポーネント値
API Gatewayanhdtp-2109、Gateway URL は https://YOUR_GATEWAY_URL
Routeroute-echo: Protocols HTTPS、HTTP Methods GET、Paths /echo
Upstreamupstream-echo: Target Address = backend address、Port 443
警告

request を受信するには、API Gateway が Active 状態で、Route が Published 状態である必要があります。API Gateway の詳細表示を参照してください。

ステップ 1API Gateway の Gateway URL をコピーします
1 / 6
ステップ 1: API Gateway の Gateway URL をコピーします

画像をクリックすると拡大します。

Route のテスト​

Route がある場合とない場合の結果を比較すると、Route の役割がよくわかります。Route をテストするには、次の手順を実行します。

  1. 左側のメニューで API Gateway → Gateway を選択します。Route を含む API Gateway の行で、Gateway URL 列のコピーアイコンをクリックします。

Gateway URL 列にコピーボタンがある API Gateway 一覧

  1. テストする path を付けた Gateway URL に GET request を送信します(例: https://YOUR_GATEWAY_URL/echo)。API Gateway に /echo path に一致する Route がない間は、結果は 404 Not Found、body は {"error_msg":"404 Route Not Found"} になります。これは、request は API Gateway に届いたものの、API Gateway が転送先を知らないことを意味します。

Route 作成前に Postman で 404 Route Not Found が返る様子

  1. request に一致する Route を作成します。Route の作成を参照してください。例では、route-echo Route が HTTPS 経由で /echo path への GET を受け付けます。

GET method と /echo path を設定した route-echo Route の Routing Rules セクション

Route の Upstream タブ(REF ラベル付き)で、Route が request を転送する backend address を確認します。

Target Address に backend address が表示された route-echo Route の Upstream タブ

  1. ステップ 2 と同じ request をもう一度送信します。結果は 200 OK で、バックエンドが返した body が表示されます。response には、Gateway URL のドメインを含む X-Forwarded-Host ヘッダーと、X-Real-IP ヘッダーが含まれます。

Gateway URL 経由で呼び出すと Postman で 200 OK が返る様子

  1. (任意)比較のために backend address を直接呼び出します。結果は同じく 200 OK ですが、X-Forwarded-Host と X-Real-IP ヘッダーはありません。この 2 つのヘッダーは API Gateway が追加するため、ステップ 4 の request は API Gateway を経由したことがわかります。

backend address を直接呼び出すと response に X-Forwarded-Host がない様子

結果の読み方​

結果意味
404 Not Found、body は {"error_msg":"404 Route Not Found"}request は API Gateway に届きましたが、その protocol、method、path に一致する Route がありません。
200 OK、response に Gateway URL のドメインを含む X-Forwarded-Host ヘッダーがあるrequest は API Gateway を通過し、Route に一致して、バックエンドに転送されました。

よくあるエラー​

エラー原因対処方法
Route を作成した後も 404 Route Not Found が返るrequest の protocol、method、path が Routing Rules と一致していません(例: Route が GET のみ受け付けるのに POST を送信している)request を Routing Rules セクションと比較します。Route の詳細表示を参照してください。
request が Routing Rules に一致しているのに 404 Route Not Found が返るRoute が Unpublished 状態ですStatus を Published に変更します。Route の編集を参照してください。
request が Gateway URL に届かないAPI Gateway がまだ Active 状態ではありませんAPI Gateway 一覧の Status 列を確認します。API Gateway の詳細表示を参照してください。

次のステップ​

に最終更新