1. はじめに
本記事の目的は、
「Lambda関数を使うと、こんなことまでできるんだ」 というイメージを先に持ってもらうことです。
AWS Lambda という名前は聞いたことがあるものの、
- 何のために使うのか
- どんな役割を担うサービスなのか
- 何ができて、何を任せられるのか
といった点が曖昧なままキャッチアップするケースは少なくありません。
私は、未経験ながら実務でLambda関数に触れ、キャッチアップに時間がかかったので、その経験から自分が見つけていたらよかったと思えるような記事にしました。
その経験から、当時の自分が、知っておきたかった内容を整理しました。
本記事では、設定項目をなぞりながら、
「Lambda関数で任されること」を先取りで理解すること
を、目的とします。
2. AWS Lambdaとは何か
AWS Lambda は、

コードを実行するための仕組みです。
利用者は、「どんな処理をしたいか」をコードとして用意し、
Lambda関数として登録します。
すると Lambda は、
必要なタイミングでそのコードを実行します。
重要なのは、
Lambda関数はアプリケーションそのものではなく、
処理を実行するための実行単位であるという点です。
3. Lambda関数の全体像
Lambda関数は、単体で完結するというよりも、
他のサービスと組み合わさって動くことが前提の存在です。
そのため、Lambda関数を理解するには、
「どんな設定項目を持ち、何を制御できるのか」を知ることが近道になります。
次章で、
Lambda関数に用意されている設定項目を一つずつ見ていくことで、
Lambda関数で何ができるのかを整理していきます。
4. Lambda関数の構成要素
設定項目から理解するLambda関数の役割
Lambda関数で「何ができるのか」は、
設定できる項目を見ていくと自然に理解できます。
ここでは、Lambda関数を構成する代表的な設定項目を通して、
「Lambda関数がどんなことを担う仕組みなのか」を整理します。
4.1 ファンクションコード
Lambda関数が実際に実行する処理
ファンクションコードは、
Lambda関数が「実際に何をするのか」を定義するコードです。
管理画面から直接編集したり、
ファンクションコードをダウンロードして、
ローカルで内容を確認することもできます。
まず最初に、
Lambda関数はコードを実行する存在であることを押さえておきます。
以下画像は、Lambda関数作成時に書かれているファンクションコードです。

4.2 ランタイム(Runtime)
どの言語のコードを実行するかを決める
ランタイムは、Lambda関数が「どの言語で書かれたコードを実行するのか」を決める設定です。
Python、Node.js などを選択することで、Lambda関数はその言語を実行できる環境として動作します。
つまり Lambda関数は、Pythonで書いた処理を、そのままAWS上で実行できる仕組みだと言えます。
4.3 レイヤー(Lambda Layer)
コードに追加で機能を持たせる仕組み
レイヤーは、Lambda関数のコードとは別に、ライブラリ(Pandas, Numpy等)や共通処理をまとめて管理する仕組みです。
これにより、
- 複数のLambda関数で同じ処理を使う
- ファンクションコードをシンプルに保つ
といったことが可能になります。
Lambda関数は、
コード本体+必要な機能を組み合わせて構成できる仕組みを持っています。
4.4 実行ロール(IAM Role)
Lambda関数が「何をしてよいか」を決める
実行ロールは、Lambda関数に付与する権限です。
Lambda関数は、この実行ロールを通じて、
S3 や DynamoDB などの AWS リソースにアクセスします。
重要なのは、これは「開発者の権限」ではなく、
Lambda関数自身が持つ権限だという点です。
つまり Lambda関数は、
- S3からファイルを取得する
- データベースにデータを書き込む
といった処理を、
あらかじめ許可された範囲で自動実行できる存在になります。
4.5 環境変数
コードに設定値を渡す方法
環境変数は、
コードを書き換えずに設定値を変更するための仕組みです。
APIキーや設定値などを、コードとは切り離して管理できます。
Lambda関数は、コードと設定を分離して扱う前提の設計になっています。
4.6 VPC設定
Lambda関数がどこに接続できるかを決める
VPC設定は、Lambda関数のネットワーク上の位置づけを決めます。
VPCを設定することで、
Lambda関数は VPC 内のリソースにアクセスできるようになります。
一方で、VPCに入れるということは、
ネットワーク構成の影響を受けるということでもあります。
VPC設定をしたLambda関数は、
どこにでも自由につながる存在ではないことが分かります。
以下画像は、VPCLambdaとして作成時の編集コンソール画面です。

4.7 メモリ
Lambda関数に割り当てる実行リソース
メモリ設定は、
Lambda関数がどれだけのリソースを使って実行されるかを決めます。
この設定は、単なるメモリ量ではなく、処理性能全体に影響します。
Lambda関数は、
決められたリソース枠の中で処理を行う前提です。
4.8 エフェメラルストレージ
一時的にファイルを置ける場所
Lambda関数には、実行中のみ使用できる一時的なストレージがあります。
処理途中のファイルを一時的に保存する用途で利用できますが、
永続的な保存場所ではありません。
Lambda関数は、
長期間データを保持する仕組みではないことが分かります。
以下画像は、メモリ、エフェメラルストレージの編集コンソール画面です。

4.9 タイムアウト
Lambda関数がどれくらい動けるか
タイムアウトは、
Lambda関数が実行できる最大時間を決める設定です。
この時間を超えると、処理は強制的に終了します。
Lambda関数は、
無限に動き続ける処理を想定した仕組みではありません。
4.10 デプロイとテスト
Lambda関数を動かす・試す
Lambda関数では、
コードや設定を反映する操作を「デプロイ」と呼びます。
また、管理画面からテストを実行することで、
イベントがなくても Lambda関数を手動で動かすことができます。
Lambda関数は、
作って終わりではなく、すぐに動作確認できる仕組みを備えています。
以下画像は、デプロイとテストの実行が出来るコンソール画面です。

5. おわりに
設定項目を一つずつ見ていくと、
- どんなコードを動かせるのか
- どこにアクセスできるのか
- どんな処理を任せられるのか
といった、Lambda関数でできることの全体像が浮かび上がってきます。
本記事で紹介した内容は、Lambda関数のすべてではありませんが、
「Lambdaを使うと、こういうことが実現できるんだ」
というイメージを持つための土台になります。
本記事が、これから Lambda 関数に触れる方にとって、理解のスタート地点となれば幸いです。





