AWSのAPI Gateway(エーピーアイ ゲートウェイ)とLambda(ラムダ)を連携!初心者でもわかるサーバーレスAPI構築入門
生徒
「AWSでAPIを作れるって聞いたんですが、サーバーを用意しなくていいって本当ですか?」
先生
「本当です。AWSのAPI GatewayとLambdaを使えば、サーバーレスでAPIを作れます。」
生徒
「サーバーレスって、サーバーが存在しないんですか?」
先生
「実際にはAWSが裏で管理しています。私たちはサーバーを意識せず、APIの処理だけを書けばいいんです。」
生徒
「それなら初心者でもAPIを作れそうですね!」
1. API Gateway(エーピーアイ ゲートウェイ)とは?
AWSのAPI Gatewayは、外部からのリクエストを受け取るための「入り口」を作るサービスです。ブラウザやスマホアプリから送られてきたHTTPリクエストを受け取り、裏側の処理へ渡します。
API(エーピーアイ)とは、アプリ同士が会話するための窓口のようなものです。API Gatewayは、その窓口を簡単に作成・管理できるAWSのAPI管理サービスです。
2. Lambda(ラムダ)とは?
Lambdaは、プログラムを実行するためのAWSサービスです。最大の特徴は、サーバーを用意せずにコードだけを書けば動くことです。
たとえば「ボタンが押されたら処理をする」「APIが呼ばれたら計算する」といった小さな処理に向いています。使った分だけ料金が発生するので、無駄なコストもかかりません。
3. サーバーレスAPIの仕組みをイメージしよう
サーバーレスAPIは、次の流れで動きます。利用者がURLにアクセスすると、API Gatewayが受け取り、Lambdaを呼び出します。Lambdaが処理した結果を、API Gatewayが利用者へ返します。
これは「受付係」と「作業担当」が分かれているイメージです。受付係がAPI Gateway、作業担当がLambdaです。
4. Lambda関数を作成してみよう(Python)
まずはLambdaで実行する処理を作ります。今回は「Hello AWS」と返す簡単なAPIです。
def lambda_handler(event, context):
return {
"statusCode": 200,
"body": "Hello AWS API Gateway!"
}
このコードは、APIから呼ばれたときに文字列を返すだけのシンプルなものです。Python初心者でも内容が理解しやすい構造になっています。
5. API GatewayとLambdaを連携する手順
AWS管理コンソールでAPI Gatewayを作成し、統合先としてLambdaを指定します。HTTPメソッドはGETを選ぶと、ブラウザからアクセスしやすくなります。
API Gatewayの設定画面では「このAPIが呼ばれたら、どのLambdaを実行するか」を決めるだけです。難しい設定はほとんどありません。
6. 実際にAPIを呼び出してみよう
APIをデプロイすると、URLが発行されます。そのURLにアクセスすると、Lambdaの処理結果が表示されます。
curl https://xxxxx.execute-api.ap-northeast-1.amazonaws.com/dev/hello
Hello AWS API Gateway!
このように、コマンドやブラウザから簡単にAPIを呼び出せます。サーバーの起動や管理は一切不要です。
7. API GatewayとLambdaを使うメリット
この構成の最大のメリットは、運用がとても楽なことです。サーバーの設定や監視をしなくても、AWSが自動で対応してくれます。
初心者でもAPI開発に集中でき、学習コストを抑えながら実践的なAWSスキルを身につけられます。