API Gateway でプライベート API にブラウザからアクセスするにはどうすればよいですか?

2022.09.28

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

エンドポイントタイプが Private の API を作成しました。

このプライベート API に、ブラウザからアクセスできるでしょうか? 試しに下記プライベート API の URL をブラウザのアドレスバーに入力してみましたが、アクセスできませんでした。

https://xxxxxx.execute-api.ap-northeast-1.amazonaws.com/api_path/

このAPIにブラウザからアクセスするにはどうすればよいですか?

どう対応すればいいの?

プライベート API では VPC 上の VPC エンドポイント にアクセスすることで、API にアクセス可能です。[1]

ローカルネットワーク上のローカル PC からアクセスしたい場合、 ローカルネットワークが当該の VPC と疎通できるように、ネットワーク構成が行われていれば、アクセス可能となります。( Direct Connect や VPN を利用した構成となります)

ローカルネットワークと当該 VPC との疎通が無い場合、例えば次のような方法で、アクセス可能となりますので、お試しください。

  • VPC 上に Linux ベースの EC2 を起動し、[2] のような方法でポートフォワーディングを行うことで、API にアクセスする。
  • VPC 上に Windows ベースの EC2 を起動し、その EC2 上で動作するブラウザから、API にアクセスする。

実際の手順につきましては、利用されるネットワーク構成に依存しますので、ネットワーク管理者の方にお問い合わせください。

参考資料

[1] Amazon API Gateway でのプライベート API の作成 - Amazon API Gateway

Amazon API Gateway を使用すると、インターフェイス VPC エンドポイントを使用して、Amazon VPC の仮想プライベートクラウドからのみアクセスできるプライベート REST API を作成できます。

[2] SSM Session Managerを使ってポートフォワードする | DevelopersIO

[3] Amazon API Gateway プライベート API の「プライベート」を誤解してると、とても危ないという話。 | DevelopersIO