
Lambda は、サーバーレスアーキテクチャを実現する FaaS(Function as a Service) 型のサービスです。
インフラの管理を不要にし、Event Source(イベントソース) からのトリガーに応じて自動的にコードを実行します。
Lambda は多様な Event Source に対応しており、例えば API Gateway からの HTTP リクエスト、S3 バケットへのファイルアップロード、EventBridge によるイベントスケジュール、SNS メッセージの受信、DynamoDB Streams の更新イベントなどを契機に処理を実行できます。これにより、完全なイベント駆動型アーキテクチャを簡単に構築できます。
関数実行時には、エントリーポイントとなる Handler(ハンドラー) が呼び出され、リクエスト内容に応じて処理が実行されます。Lambda の実行環境はリクエスト数に応じて自動的に コンカレンシー(並列スケール) し、サーバー容量を意識せず高負荷にも対応します。
Provisioned Concurrency(プロビジョンドコンカレンシー) を利用すれば、関数をあらかじめ一定数の環境でウォームアップしておき、Cold Start(コールドスタート) による起動遅延を防ぐことができます。
課金は100ミリ秒単位で行われるため、コスト効率に優れた運用が可能です。Lambda では、実行ロール(Execution Role / IAM Role) を利用してアクセス権限を細かく制御し、環境変数や SSM(AWS Systems Manager)パラメータストア を用いて設定情報を安全に外部化できます。
Layers(レイヤー) 機能によって共通ライブラリや依存パッケージを共有化し、複数関数間で効率的に利用することが可能です。
Lambda 関数は コンテナイメージ にも対応しており、最大10GBまでのイメージを ECR(Elastic Container Registry) からデプロイできます。これにより、DockerベースのアプリケーションをLambda上で実行し、開発環境との一貫性を保つことができます。
Lambda は VPC(Virtual Private Cloud)接続 に対応しており、プライベートサブネット内の RDS(Relational Database Service) や ElastiCache、内部APIへのアクセスも安全に行うことができます。
ワークフロー管理では、Step Functions と統合することで、複数のLambda関数を順序制御・分岐・例外処理を含めてオーケストレーションできます。また、失敗時には DLQ(Dead Letter Queue) に未処理イベントを送信し、Retry Policy(再試行ポリシー) と組み合わせることで、再試行やエラーハンドリングを柔軟に制御できます。
Lambda 関数はデプロイ時に Version(バージョン)とAlias(エイリアス) を管理でき、安定版リリースの固定化やBlue/Greenデプロイ(段階的なロールアウト)を容易に実現します。これにより、運用中の関数を安全かつ効率的に更新することが可能です。
重要用語
ユースケース
- リスト1
 - リスト2
 - リスト3
 
ベストプラクティス
- リスト1
 - リスト2
 - リスト3
 
高可用性・冗長化
- リスト1
 - リスト2
 - リスト3
 
セキュリティ
- リスト1
 - リスト2
 - リスト3
 
運用・監視
- リスト1
 - リスト2
 - リスト3
 
デフォルトのリミット値
| リミット事項 | 上限数 | 
|---|---|
| 項目1 | 上限1 | 
| 項目2 | 上限2 | 
| 項目3 | 上限3 | 
| 項目4 | 上限4 | 
| 項目5 | 上限5 | 
AWS CLIのサンプルコード
vpc を作成
#include <stdio.h>
void main(void) {
  int i;
  for (i=0; i<10; i++)
    printf("%d\n", i);
vpc を作成
aaaaaaaaaaaaa
bbbbbbbbbbbbb
ccccccccccccc
Terraformのサンプルコード
vpc を作成
bbbbbbbbbbbbbbbbbbbbbbb
ddddddddddddddddddddddd
vpc を作成
xxxxxxxxxxxxxxxxxxxxxxx
yyyyyyyyyyyyyyyyyyyyyy
課金モデル
| 項目 | 内容 | 
|---|---|
| 項目1 | 内容1 | 
| 項目2 | 内容2 | 
| 項目3 | 内容3 | 
| 項目4 | 内容4 | 
| 項目5 | 内容5 |