🌐

sam local start-apiを外部からアクセス可能にする

に公開
2026/07/24

はじめに

AWS SAM(Serverless Application Model)CLIは、サーバーレスアプリケーションをローカルでテスト・デバッグするための強力なツールです。sam local start-apiコマンドを使用すると、API Gatewayのローカルエミュレーションを起動し、Lambda関数をテストできます。

しかし、デフォルトではこのAPIは127.0.0.1(localhost)にのみバインドされるため、コマンドを実行しているマシンからしかアクセスできません。別のPCや仮想マシン、スマートフォンなどからテストしたい場合、このままでは不便です。

解決策:--hostオプションを指定する

sam local start-apiコマンドに--host 0.0.0.0オプションを追加することで、ローカルAPIがすべてのネットワークインターフェースでリクエストを待ち受けるようになります。

sam local start-api --host 0.0.0.0 --port 3000

各オプションの説明

項目 説明
--host APIをバインドするホストアドレスを指定します。デフォルトは127.0.0.1です。0.0.0.0を指定すると、マシンに割り当てられているすべてのIPアドレス(例:192.168.1.10など)で待ち受けます。
--port APIがリッスンするポート番号を指定します。デフォルトは3000です。ほかのサービスと競合する場合は、--port 8080のように変更できます。

このコマンドを実行すると、同じネットワークに接続しているほかのデバイスから、http://<SAM実行マシンのIPアドレス>:3000という形式でAPIにアクセスできるようになります。

GitHubで編集を提案

Discussion