当ブログの内容は筆者の経験と知識に基づいていますが、AWSのサービスおよび認定試験は定期的にアップデートされています。もし記事に誤りや古い情報がある場合、お手数ですが「コメント」や「お問い合わせ」からお知らせいただければ幸いです。読者の皆様からの貴重なフィードバックを歓迎しており、正確かつ有益な情報を提供できるよう努めてまいります。
どうぞよろしくお願いいたします。
AWS Lambdaとは
概要
AWS Lambdaは、コードの実行に必要なサーバーなどの管理を行わずに、スケーラブルなアプリケーションを実行するための基盤を提供するサーバーレスコンピューティングサービスです。イベント駆動型で、リクエストに応じてコードが自動的にスケールし、必要なときにだけリソースが消費されます。これにより、開発者はインフラの管理を気にせずに、コードのビジネスロジックに集中できます。一般にFaaS(Function-as-a-Service)に分類されます。
特徴
Lambda関数の作成とデプロイ
Lambdaでは、コードをアップロードして実行する「関数」という単位でアプリケーションを開発・実行します。
Lambda関数は、AWS マネジメントコンソール、AWS CLI、またはサードパーティの開発ツール(例: AWS Toolkit for Visual Studio Code)を使用して作成します。作成したLambda関数は、直接コードをアップロードするか、ZIPアーカイブとしてデプロイすることができます。
料金体系
Amazon EC2では、EC2インスタンスの起動中は常に料金が発生します。加えて、OSやパッチ適用などもユーザー管理となるため、運用上の負荷もかかります。
一方、Lambdaでは、アプリケーションを実行するインフラストラクチャはAWSが管理し、料金は関数のリクエスト回数と実行時間に対してのみ発生します。
関数が実行されていないときは料金が発生しないため、特定のイベントをトリガーにして、短時間で処理が実行されるようなユースケースではEC2よりも優位性があります。
Lambda関数のトリガーとイベント
Lambda関数は、さまざまなAWSサービスやカスタムイベントをトリガーとして実行されます。例えば、API Gateway、S3など、非常に多くのサービスがトリガーとして使用されます。
2023年12月にアップデートがあり、CloudWatchアラームから直接Lambdaを実行できるようになりました。そのうち認定試験でも問われるようになる可能性があります。
Lambdaの制限事項
Lambdaにはいくつか制限事項があります。認定試験でよく問われやすいポイントです。
・同時実行数:1000
→ある時点における実行中のLambda関数の数。リージョン毎に適用されます。申請することで上限を引き上げられます。
・関数のタイムアウト:900秒(15分)
→このため、長時間実行する必要がある処理には適しません。
・メモリ:128MB〜10GB
VPCアクセス
Lambdaは、プライベートサブネットにあるリソースにアクセスできるように、VPC内へ展開することができます。Lambda関数が呼び出されると、VPC上にLambda関数用のENI(Elastic Network Interface)が作成され、プライベートサブネットにある他のリソース(DynamoDBなど)にセキュアにアクセスできるようになります。
一方で、割り当てられるのはプライベートIPアドレスとなるため、インターネットへのアクセスはできなくなってしまいます。インターネットアクセスできるようにするためには、NATゲートウェイとインターネットゲートウェイ(IGW)を経由させる必要があります。
ユースケース
Lambdaの代表的なユースケースをいくつか紹介します。
- リアルタイムファイル処理
S3にアップロードされた画像や動画を自動的に処理し、サムネイルを生成するなどのリアルタイム処理に最適です。 - バックエンドのマイクロサービス
API Gatewayと組み合わせることで、サーバーレスでAPIを提供し、バックエンドのマイクロサービスとして機能させることができます。 - バッチ処理
定期的なバッチ処理やデータ変換作業にLambdaを利用し、サーバーを常時稼働させる必要がなくなります。 - イベント駆動型の自動化
AWSリソースの監視や自動化、セキュリティインシデントのリアルタイム対応など、イベント駆動型のタスクに適しています。
まとめ
AWS Lambdaとは、「コードの実行に必要な基盤を提供するサーバーレスコンピューティングサービス」です。
Lambdaはユーザー側の負担が少なく、できることは非常に多岐にわたりますが、コードを準備する手間があるので、システムのリリース期間が短くとられている状況では選択肢から外れるということは試験対策として抑えておくと良いでしょう。
参考
【AWS認定試験対策 サービス一覧】
【AWS各サービス概要一覧】
【おすすめの参考書】
リンク先からご購入いただき、サイト運営をご支援いただけますと幸いです…
コメント