AWS API Gateway + AWS Lambdaで、サーバレスAPIを作ってみます。月並みな話題なのですが、いざ実際に作業すると、AWSの画面は機能改善などでいつのまにか変更されていることも多く、画面操作で戸惑ってしまうことも多いと思います。現時点での画面説明としてそれなりに意義があると思い、自分の備忘録も兼ねて、初心者向けにステップ毎に図解してみます。
AWSのドキュメント
前提
AWSのアカウントは既に持っていて、ログインしてコンソールマネージャを表示したところからを想定します。言語設定は日本語にしている前提です。(画面は2025年10月末時点)
(ステップ1) AWS Lambda
1.1 AWS Lambda サービスへ
まずは、画面の左上に検索ボックスがありますので、

そこへ、「lambda」とタイプすると、

サービスにLambdaが表示されますので、それをクリックします。
この検索ボックスにサービス名を入力して、一覧からサービスを選択して遷移するのがAWSでの操作の基本ですね。サービス名は正確に「Lambda」などと入力する必要はなく、適当に小文字で数文字タイプすれば、(うまく!)適切なサービス名が表示されます。
※この英文字を数文字タイプして一覧が表示されて選択というのは、Windows系でも見られるインターフェースです。日本語ユーザにはイマイチ使いにくいんですが、英語圏の方にとっては使いやすいようです。
すると、

のようなウェルカム画面が表示されると思います。ここで、「Create a function」ボタンをクリックしても良いのですが、お勧めは左上のボタン(ハンバーガーメニューと呼ぶらしい)です。

これをクリックすると、

サイドバーメニューが表示されて、ここから操作可能です。結局、このメニューを頻繁に操作することになるので、これに馴染むのが早いと思います。
1.2 関数の作成画面へ
次にサイドバーメニューの「関数」をクリックすると、

このような画面になります。すでに関数が存在していると、ここに関数一覧が表示されます。
右上の「関数を作成」というオレンジ色のボタンをクリックすると、

以下のような関数の作成画面となります。

1.3 関数を作成
一番最初のオプションは「一から作成」を選ぶのが一番簡単です。この時の必須入力は、関数名とランタイムです。関数名は適当な英語名称であれば、良いのですが、一応、リージョン内で一意にする必要があるようです。いろいろ試したところ一意でなくても良さそうな感じでしたが、適当に入力してダメな時は警告してくれるようです。とりあえず、ドキュメントのチュートリアルに従い、「my-funciton」とします。ランタイムは関数の言語に対応するものを選択します。今回はPythonを選択します。
関数名とランタイムを入力して、次に右下の「関数の作成」ボタンをクリックすれば、

途中でいろいろ聞いてくるかもしれませんが、Acceptなどをクリックしていけば

のようにコードが自動生成された画面になります。このコードはこのまま修正しなくても動くものです。
1.4 関数をテスト
コードが生成されただけの状態では、まだ実行できません。Deployして実行可能状態にする必要があります。このためには、以下のDeployボタンをクリックしてください。

うまくdeployできると、画面の上部に

のように表示されます。
次に、上部のタブで「テスト」をクリックして、オレンジ色の「テスト」ボタンをクリックすると、

関数が実行されて、以下のように成功と表示されるはずです。

1.5 実行結果のログ
実行結果が見たいなら、「ログ」ボタンをクリックすると、

ブラウザの別のタブで、Cloud Watchサービスが開きます。

このCloud Watchの下の方に、ログストリームというタブ部分があり、そこに実行結果のログが一覧表示されています。

この一覧から(実行時間などから判断して)実行ログをクリックすれば、実行結果を見ることができます。コードにprint文などを入れておけば、そのprint出力はここで見ることができます。
(ステップ2) API Gateway
2.1 API Gateway サービスへ
画面の左上の検索ボックスに、「api」とタイプして、一覧中のAPI Gatewayを選択します。

これにより、以下のようなAPI Gatewayサービス画面となります。

2.2 APIを作成
右上のオレンジ色の「APIを作成」ボタンをクリックすると、

API作成画面になります。
最初はAPIタイプの選択です。以下は適当に画面を抜粋しています。

ここでは一番シンプルなHTTP APIを選択して、右端のオレンジ色の「構築」ボタンをクリックします。

APIを設定のステップ1では、API名(ここではmyapi)を入力して、

次に、右下のオレンジ色の「次へ」ボタンをクリックします。

後は、「次へ」

「次へ」

「作成」

としていくと、APIが作成されます。
次に、API GatewayサービスのサイドバーメニューのAPIをクリックすると、

のようにAPI一覧に作成したAPIが表示されていると思います。
この作成したAPIをクリックすると、

とルート指定画面になります。もしもルート指定画面でなければ、サイドバーメニューからRouteをクリックしてください。
次に、作成ボタンをクリックすれば

ルートとメソッド指定画面になりますので、

GET、ルート名(ここではmyroute)を入力して、オレンジ色の「作成」ボタンをクリックしてください。

これによりルートが作成されますので、GET項目をクリックすると、ルートの詳細画面になります。

ここで、「統合をアタッチする」ボタンをクリックします。

これにより、統合の詳細画面になりますので、「統合をアタッチ」ボタンをクリックします。

これにより、統合の作成画面となりますので、統合タイプとしてLambda関数、Lambda関数として作成済のmy-funcionを選択して、

最後に、オレンジ色の「作成」ボタンをクリックします。

これで、API作成完了です。
(ステップ3) テスト
3.1 AWS内でテスト
左サイドバーメニューで、API:~を選択すると、myapiの情報を表示しますので、
そこのURLを呼び出すリンクをクリックします。

ブラウザの別タブが開きますが、たぶん、{"message":"Not Found"}というエラーメッセージが表示されると思います。URLの末尾に、ルート名(ここでは/myroute) を追加すると、
(例 https://~.execute-api.ap-northeast-1.amazonaws.com/myroute)
"Hello from Lambda!"と表示されて、APIが正常に動作していることが確認できます。
3.1 AWS外部からテスト
curlコマンドを使って、
curl https://~.execute-api.ap-northeast-1.amazonaws.com/myroute
とすれば、"Hello from Lambda!"と表示されて、AWS外部からでもAPIが動くことが確認できます。
まとめ
Lambdaで関数作成 => AWS GatewayでAPI作成 => Lambdaと統合 => テスト
という流れで、ほぼAWSのドキュメント通りです。
ただし、ドキュメントだと、AWS GatewayのAPI作成のウィザードの中で統合を作成していますが、ドキュメント通りの操作だとルートがうまく作れませんでしたので、そこは変更しています。