API Gateway REST または HTTP API をカスタムドメイン名で呼び出すときの 403「認証トークンが見つかりません」エラーをトラブルシューティングする方法を教えてください。

最終更新日: 2022 年 11 月 11 日

指示に従って、 Amazon API Gateway REST または HTTP API のカスタムドメイン名を設定しました。APIを呼び出すと、403「認証トークンがありません」というエラーが表示されます。このエラーをトラブルシューティングして解決するにはどうすればよいですか?

簡単な説明

カスタムドメイン名を持つ API Gateway API は、URL パスが正しくない場合、API を呼び出すと 403「認証トークンがありません」というエラーを返します。

注意:API Gateway API ステージ URL を使用しても、403「認証トークンが見つかりません」エラーは返されません。

解決方法

API Gateway API 用に設定されたカスタムドメイン名は、API マッピングを使用して API ステージを接続し、カスタムドメイン名を通じて API にトラフィックを送信します。API マッピングには API、ステージ、カスタムドメイン名、およびオプションでマッピングに使用するパスがあります。詳細については、「API マッピングの使用」を参照してください。

次の例では、カスタムドメイン「https://api.example.com」 API マッピングは次のように設定されています。

API ステージ パス デフォルト URL カスタムドメイン URL
abcd3456ef API 1 開発 (なし) https://abcd3456ef.execute-api.us-east-1.amazonaws.com/dev https://api.example.com
wxyz1234ab API 2 テスト 命令 https://wxyz1234ab.execute-api.us-east-1.amazonaws.com/test https://api.example.com/orders
mnop5678qr API 3 prod お客様 https://mnop5678qr.execute-api.us-east-1.amazonaws.com/prod https://api.example.com/customers

この設定例では、URL https://abcd3456ef.execute-api.us-east-1.amazonaws.com/dev/resourceA を使用して API 1 に対して行われたリクエストは、トラフィックを「ResourceA」に正常にルーティングします。これは、ステージ名「dev」のリソースに対してリクエストが行われるためです。ただし、URL https://api.example.com/dev/resourceA を使用した同じリクエストでは、403「認証トークンがありません」というエラーが返されます。このエラーは、ステージ「dev」がカスタムドメイン名の (none) パスにマップされているために発生します。カスタムドメイン名を使用して「ResourceA」にリクエストをルーティングするには、URL が https://api.example.com/resourceA であることを確認してください。

同様に、https://wxyz1234ab.execute-api.us-east-1.amazonaws.com/test/resourceB に相当するカスタムドメイン名 URL は https://api.example.com/orders/resourceB です。これは、API 2 の「テスト」ステージがカスタムドメイン API マッピングの「orders」パスにマッピングされているためです。