AWS Lambdaとは
AWS Lambda(ラムダ)は、Amazonが提供するFaaS(Function as a Service)に分類されるサーバーレスコンピューティングサービスです。
Lambdaでは、クラウド上にプログラム(Lambda関数)を定義し、インターネット経由で実行しま す。プログラム実行は、S3へのファイルアップロードやAPI Gatewayへのリクエストなど、事前に設定された実行トリガーによって自動的に開始されます。
AWS Lambdaの特徴
AWS Lambdaは、単体ではなく他のAWSサービスと組み合わせて利用されることが前提です。また、処理が動いた時間と回数のみ課金される完全な従量課金制を採用しており、コスト効率が高く、毎月100万リクエスト、40万GB秒のコンピューティング時間が無料枠として提供されています。
Lambdaは、Java、Go、Python、Ruby、Node.js、C#、PowerShellなど、豊富なプログラミング言語をサポートしており、開発者のスキルに応じて言語を選択できます。
AWS Lambdaを導入するメリット・デメリット
メリット
| 1 |
サーバー管理が不要
|
サーバーの構築やOS管理などの運用・保守業務が不要なため、開発者はアプリケーションのロジック開発に集中できます。 |
|
2
|
コストの削減 |
処理が実行された時間と回数のみ課金さ れる完全な従量課金制であり、待機時間は課金されません。 |
| 3 |
高いスケーラビリティと柔軟な連携 |
アクセス増加時に自動で処理能力を調整 し、他のAWSサービスと疎結合で連携しやすく堅牢性を高めます。 |
デメリット
| 1 |
実行時間の制限
|
1つの実行は最大15分までに制限され、同一リージョン内で同時実行数が1,000までという上限があります。 |
| 2 |
コールドスタート |
長時間実行されていない関数を最初に呼び出す際、起動に時間がかかることがあり、応答速度が求められる処理では注意が必要です。 |
| 3 |
Lambda単独での使用不可 |
Lambda関数の実行には、API GatewayやS3などの他のサービスリソースによる実行トリガーの設定が必須です。 |
導入事例
BtoC顧客管理システムの構築
複数システムへの個別ログインによる運用負担を解消するため、全システムを一元参照できる社内向けプラットフォームを構築。
フロントエンドはNext.jsとAmplify Hostingで実装し、バックエンドはAPI Gateway、Lambda、Cognitoによるサーバーレス構成とし、利用者情報はDynamoDBで管理する。 セキュリティ対策として、Amplifyファイアウォールによる社内IP制限を実施し、他AWSアカウントのデータベースへはPrivateLink経由でセキュアに接続。運用面では、CloudWatch LogsとStep Functionsによるログの自動アーカイブ機能を実装し安全性も確保した。
