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

Route の作成

Route は、API Gateway がどの request を処理するか(protocol、HTTP method、path で照合)と、その request を Service または Upstream 経由でどのバックエンドに転送するかを定義します。各 Route は 1 つの API Gateway に属します。Routing Rules は手動で入力するか、API Catalog にある API の endpoint から取得できます。

警告

Route を作成する前に、API Gateway が Active になっている必要があります。API Gateway の詳細表示を参照してください。

Route を手動で作成する​

Create Route 画面の左側のナビゲーションには、Basic Information → Routing Rules → Backend Target → Timeout → Review の 5 つのセクションがあります。Basic Information、Routing Rules、Backend Target は必須です。まだ有効でないセクションには赤い ⓘ アイコンが表示され、3 つのセクションがすべて有効になった場合にのみ Create ボタンが有効になります。

ステップ 1Create Route をクリックして Create Route 画面を開きます
1 / 6
ステップ 1: Create Route をクリックして Create Route 画面を開きます

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

Route を手動で作成するには、次の手順を実行します。

  1. 左側のメニューで API Gateway → Route を選択し、右上で API Gateway を選択してから、Create Route をクリックします。

  2. Basic Information セクションで、次の情報を入力します。

フィールド必須説明
NameYRoute の名前です。一覧に表示され、検索に使われます。英字で始まり、小文字 a-z、数字 0-9、_、- のみ使用できます。名前は API Gateway 内で一意である必要があります。
DescriptionNRoute の用途です。後から他の人が理解できるように、どの API や機能グループに使うかなどを記述します。
StatusYPublished(デフォルト): Route は有効で、一致するトラフィックを受信します。Unpublished: Route は設定を保持したまま、トラフィックを受信しません。削除せずにメンテナンスやテストのために Route を一時停止する場合に使います。
PriorityNrequest が複数の Route に同時に一致する場合(path が重なる場合など)の優先順位です。Priority が高い Route が先に選ばれます。整数のみ、デフォルトは 0 です。

Create Route 画面の Basic Information セクション

  1. Routing Rules セクションを選択し、request が Route に一致するための条件を入力します。
フィールド必須説明
ProtocolsYRoute が受け付ける protocol です: HTTP、HTTPS、HTTP,HTTPS、GRPC、GRPCS、GRPC,GRPCS。フォームを開いた時点では空のため、値を選択する必要があります。
HTTP MethodsNクリックして、Route が照合する method を選択します: GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、CONNECT、TRACE、PURGE。何も選択しない場合、Route はすべての method に一致します。API 全体をプロキシする場合に適しています。
PathsYRoute が照合する path です(例: /api/v1)。完全一致の場合は / で始め、正規表現で照合する場合は ~ で始めます。同じ Route に path を追加するには + Add をクリックします。

Protocols と Paths を入力した Routing Rules セクション

注記

最初の Paths フィールドは入力した値がそのまま使われるため、+ Add をクリックする必要はありません。+ Add をクリックして新しい行を空のままにすると、Create ボタンが無効のままになります。空の行は削除してください。

  1. Backend Target セクションを選択し、Route が request を転送する先を選択します。2 つのオプションは排他的で、切り替えると他方の選択はクリアされます。
オプション説明
Via Service(デフォルト)既存の Service を選択します。Service は複数の Route で共有するバックエンドと plugin をまとめたもので、一度設定すれば再利用できます。Upstream は Service から継承されるため、Upstream は選択しません。参照先の設定を確認できるように、上部に Service タブと Upstream タブ(REF ラベル付き)が表示されます。
Via UpstreamUpstream フィールドで Upstream を選択します。Route はその Upstream の target を直接参照します。バックエンドがこの Route だけに使われる場合に使います。参照先の設定を確認できるように、上部に Upstream タブ(REF ラベル付き)が表示されます。

Via Upstream を選択した Backend Target セクション

ヒント

適切な Service や Upstream がまだない場合は、一覧で + Create new Service または + Create new Upstream を選択します。NEW ラベル付きのタブが追加され、この画面を離れずにその場で作成できます。フィールドは Service の作成および Upstream の作成と同じです。

  1. Route に独自の timeout が必要な場合は、Timeout セクションを選択します。空のままにしたフィールドには、API Gateway のデフォルト設定が使われます。
フィールド必須説明
Connect Timeout (s)Nバックエンドへの接続を確立するまでの最大時間(秒)です。
Send Timeout (s)Nバックエンドへの request の送信を完了するまでの最大時間(秒)です。
Read Timeout (s)Nバックエンドからの response を待つ最大時間(秒)です。バックエンドが遅い場合にクライアントが待つ時間を決めます。

フィールドには正の数のみ入力できます。

  1. Review セクションを選択し、Basic Information、Routing Rules、Backend ごとにまとめられた設定全体を確認します。ここでは編集できません。変更する場合は、対応するセクションを選択します。

Create Route 画面の Review セクション

  1. Create をクリックして完了します。

Route created successfully というメッセージが表示され、Route 画面に戻り、新しい Route が一覧の先頭に表示されます。

Route created successfully のメッセージと一覧の先頭にある新しい Route

API Catalog から Route を作成する​

ステップ 2Create Route from API Catalog をクリックして Select APIs フォームを開きます
1 / 8
ステップ 2: Create Route from API Catalog をクリックして Select APIs フォームを開きます

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

API が spec 付きで API Catalog にすでに登録されている場合に使います。選択した endpoint から HTTP Methods と Paths が自動入力されるため、手入力は不要です。

API Catalog から Route を作成するには、次の手順を実行します。

  1. 左側のメニューで API Gateway → Route を選択し、右上で API Gateway を選択してから、Create Route をクリックします。

  2. Create Route from API Catalog をクリックして Select APIs フォームを開きます。

Create Route from API Catalog ボタンと Select APIs フォームがある Create Route 画面

  1. API CATALOG フィールドで元の API を選択します。API の endpoint がページ単位で表示されます。Search by path / method / name ボックスに入力すると endpoint をすばやく検索でき、Select all / None をクリックするとすべて選択・解除できます。

  2. 必要な endpoint を選択し、Merge APIs to Route をクリックします。選択した endpoint の数はフォームの下部に表示されます。

2 つの endpoint を選択した Select APIs フォーム

  1. 自動入力された Routing Rules セクションを確認します。上部の Prefilled from API Catalog バーには、API 名、マージされた endpoint の数、および 2 つのボタン(endpoint を選び直す Change selection と、自動入力されたデータを破棄する Reset)が表示されます。
フィールド入力のされ方
HTTP Methods選択した endpoint の method が設定されます。
Paths同じグループの path は 1 つのパターンにまとめられます。例: /pet と /pet/findByStatus は /pet/* になります。
Protocols入力されません。選択しないと Routing Rules は無効のままです。

API Catalog から自動入力された Routing Rules

警告

選択した endpoint に共通の path prefix がない場合(例: /pet、/store/order、/user が混在する場合)、システムはそれらを 1 つの Path にまとめられないため、Paths を手動で入力するよう求めます。

  1. 手動作成のステップ 2–5 と同様に、Basic Information を入力し、Backend Target と Timeout を選択します。

  2. Review セクションを選択して確認し、Create をクリックします。どの API から Route を作成したかがわかるように、Review にも Prefilled from API Catalog バーが表示されます。

Prefilled from API Catalog バーがある Review セクション

注記

API Catalog 画面から Map to Route または Deploy to gateway で開始することもできます。API Catalog を API Gateway にデプロイを参照してください。

よくある問題​

エラー原因対処方法
Name has invalid charactersName が英字で始まっていないか、大文字や特殊文字が含まれていますステップ 2 のルールに従って名前を変更します。
Route name already existsこの API Gateway に同じ名前の Route がすでに存在します別の名前を使います。
Create ボタンが無効赤い ⓘ アイコンが表示されたままのセクションがあります。通常は Protocols が未選択か、Paths に空の行がありますⓘ アイコンのあるセクションを開き、必須フィールドを入力します。
Something went wrong. Please try again later.システムエラーです。フォームのデータは保持されます数分後にもう一度 Create をクリックします。

次のステップ​

に最終更新