VPC から API ゲートウェイ API に接続するときに HTTP 403 Forbidden エラーが発生するのはなぜですか ?

最終更新日: 2020 年 2 月 17 日

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

簡単な説明

Amazon VPC から API ゲートウェイパブリック API に接続するときにこのエラーが発生した場合は、その VPC に関連付けられている API ゲートウェイに対応したインターフェイス VPC エンドポイントが存在して、プライベート DNS が有効になっているかどうかを確認します。VPC に関連付けられたインターフェイス VPC エンドポイントでプライベート DNS を有効にすると、VPC から API ゲートウェイ API へのすべてのリクエストはその VPC エンドポイントに解決されるので、VPC エンドポイントを使用してパブリック API に接続することはできません。

解決方法

Amazon VPC をチェックして、ユーザー (またはAWS リソースへのアクセスを共有する別の AWS Identity and Access Management (IAM) ID) が、プライベート API ゲートウェイ API にアクセスするためのインターフェイス VPC エンドポイントを作成したかどうかを確認します。インターフェイスエンドポイントがある場合は、 プライベート DNS 設定が有効になっているかどうかを確認します。詳細については、「VPC での DNS サポート」を参照してください。

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

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

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

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

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 サポートを表示および更新する」をご参照ください。


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

改善できることはありますか?


さらにサポートが必要な場合