VPC から API Gateway API に接続するときに HTTP 403 Forbidden エラーが発生するのは何故ですか?

最終更新日: 2020 年 12 月 16 日

Amazon Virtual Private Cloud (Amazon VPC) から Amazon API Gateway API を呼び出していますが、HTTP 403 Forbidden エラーが発生します。何故ですか?

簡単な説明

この HTTP 403 エラーは、Amazon VPC に関連付けられている API Gateway インターフェイス VPC エンドポイントプライベート DNS が有効になっている場合に最もよく発生します。このエラーが発生した場合、VPC から API Gateway API へのすべてのリクエストは、そのインターフェイス VPC エンドポイントに解決されます。ただし、VPC エンドポイントを使用してパブリック API に接続することはできません。

インターフェイス VPC エンドポイントでプライベート DNS が無効になっている場合、または Amazon VPC にエンドポイントがない場合は、以下の「プライベート DNS の無効化」セクションを参照してください。

解決方法

Amazon VPC に関連付けられたインターフェイス VPC エンドポイントでプライベート DNS が有効になっているかどうかを確認する

Amazon VPC をチェックして、プライベート API Gateway API にアクセスするためのインターフェイス VPC エンドポイントがあるかどうかを確認します。インターフェイスエンドポイントがある場合は、 プライベート DNS 設定が有効になっているかどうかを確認します。詳細については、「VPC での DNS サポート」を参照してください。

プライベート DNS を有効にしてパブリック API に接続する

プライベート DNS が有効になっている場合は、 エッジ最適化のカスタムドメイン名またはリージョンのカスタムドメイン名を使用してパブリック API に接続します。

重要: パブリック API に接続しようとする VPC 内のリソースは、インターネット接続が必要です。また、リージョンのカスタムドメイン名の DNS レコードを設定する場合、A タイプのエイリアスレコードを使用する必要があります。ただし、エッジ最適化のカスタムドメイン名では、A タイプのエイリアスレコードまたは CNAME レコードを使用できます。詳細については、「API Gateway で API のカスタムドメイン名を設定する」を参照してください。

プライベート DNS を無効にしてパブリック API に接続する

インターフェイス VPC エンドポイントでプライベート DNS が無効になっている場合、または Amazon VPC にエンドポイントがない場合は、次の条件に該当することを確認します。

Amazon VPC にパブリック API へのアクセス許可がある場合は、パブリック DNS を使用してパブリック API に接続します。詳細については、「API ゲートウェイ での REST API へのアクセスの制御と管理」を参照してください。

(オプション) インターフェイス VPC エンドポイントのプライベート DNS 設定を変更する

インターフェイス VPC エンドポイントのプライベート DNS 設定はいつでも変更できます。この設定を変更すると、API のステージ URL のインターフェイス VPC エンドポイントのプライベート IP への解決が無効または有効になります。

注: この設定を変更すると、Amazon VPC からプライベート API に接続する方法およびパブリック API に接続する方法に影響します。

  1. Amazon VPC コンソールの Endpoints ペインを開きます。
  2. インターフェイス VPC エンドポイントを選択します。
  3. [ Actions]、[Modify Private DNS names] の順に選択します。
  4. Enable Private DNS Name で、[Enable for this endpoint] チェックボックスをオンまたはオフにします。
  5. [Modify Private DNS names] を選択します。

詳細については、「VPC の DNS サポートを表示および更新する」を参照してください。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?