REST API の API マッピングの使用
API マッピングを使用して、API ステージをカスタムドメイン名に接続します。ドメイン名を作成し、DNS レコードを設定したら、API マッピングを使用して、カスタムドメイン名を使用して API にトラフィックを送信します。
API マッピングは、API、ステージ、およびオプションでマッピングに使用するパスを指定します。たとえば、API の production
ステージを https://api.example.com/orders
にマッピングできます。
HTTP API と REST API ステージを同じカスタムドメイン名にマッピングできます。
API マッピングを作成する前に、API、ステージ、およびカスタムドメイン名が必要です。カスタムドメイン名の作成と設定の詳細については、「API Gateway でのリージョン別カスタムドメイン名の設定」を参照してください。
API リクエストのルーティング
API マッピングは、例えば orders/v1/items
と orders/v2/items
のように、複数のレベルで設定できます。
複数のレベルで API マッピングを設定するには、カスタムドメイン名をリージョン別とし、TLS 1.2 セキュリティポリシーを使用する必要があります。
API Gateway は、最も長い一致パスを持つ API マッピングにリクエストをルーティングします。API Gateway は、API マッピング用に設定されたパスだけを考慮し、呼び出す API を選択します。API ルートは考慮しません。リクエストに一致するパスがない場合、API Gateway は空のパス (none)
にマッピングした API にリクエストを送信します。
たとえば、次の API マッピングを持つカスタムドメイン名 https://api.example.com
を考えてます。
-
(none)
API 1 にマッピングされている 。 -
orders/v1/items
API 2 にマッピングされている 。 -
orders/v2/items
API 3 にマッピングされている 。 -
orders/v2/items/categories
API 4 にマッピングされている 。
リクエスト | 選択した API | 説明 |
---|---|---|
|
|
リクエストは、この API マッピングと完全に一致します。 |
|
|
リクエストは、この API マッピングと完全に一致します。 |
|
|
API Gateway は、最も長い一致パスを持つ API マッピングを選択します。リクエストの最後にある |
|
|
API Gateway は、最も長い一致パスを持つ API マッピングを選択します。 |
|
|
API Gateway は、空のマッピングをキャッチオールとして使用します。 |
制限
-
API マッピングでは、カスタムドメイン名とマップされた API が同じ AWS アカウントにある必要があります。
-
API マッピングに含めることができるのは、文字、数字、および
$-_.+!*'()/
の文字だけです。 -
API マッピングのパスの最大文字数は 300 文字です。
-
TLS 1.2 セキュリティポリシーでは、HTTP API をリージョン別カスタムドメイン名にだけマッピングできます。
-
WebSocket API を HTTP API または REST API と同じカスタムドメイン名にマッピングすることはできません。
API マッピングを作成する
API マッピングを作成するには、最初にカスタムドメイン名、API、およびステージを作成する必要があります。カスタムドメイン名の作成方法については、「API Gateway でのリージョン別カスタムドメイン名の設定」を参照してください。
例えば、すべてのリソースを作成する AWS Serverless Application Model テンプレートについては、GitHub で「Sessions With SAM