【AWS】Lambdaについて勉強してみた

最近、AWSの学習をはじめました。
現在は、AWS認定資格の取得を目標に、日々学習を進めています。
今回は、自分用のメモとして「AWS Lambda」についてまとめてみました。

Lambda とは

Lambdaは、ソースコードを準備するだけでアプリケーションを実行できるサーバーレスなサービスです。
サーバーの構築や管理が不要で、コードを用意するだけで実行できるという点が非常に便利です。


また、多くのプログラミング言語に対応しており、アプリケーションの要件に応じて適切な言語を選択できます。
この記事執筆時点で私が確認した実行環境は以下のとおりです(サポートされているバージョンについては画像を参照してください)。

  • .NET
  • Java
  • Node.js
  • Python
  • Ruby
  • Amazon Linux

確認した実行環境

使用方法

Lambdaでは、各言語で作成したLambda関数を定義し、特定のイベントが発生したときに自動的にその関数を実行することで利用します。

たとえば、以下のようなタイミングで関数を呼び出すことが可能です。

  • S3 にファイルアップロードしたとき
  • DynamoDBのデータを更新したとき
  • API Gateway にHTTPSリクエストが送信されたとき
  • EventBridgeで定義されたスケジュールに基づき実行されるとき

Lambdaのメリット

サーバーの構築管理が不要であること

サーバーを構築・管理する必要がなく、実行環境の準備も不要です。
そのため、手軽にアプリケーション開発に集中できるのが魅力です。

オートスケーリング

リクエスト数に応じて自動的にスケールする仕組みがあり、アクセスが急増しても安定したパフォーマンスが保たれます。

他のAWSサービスとの連携ができる

前述のように、Lambdaは他のAWSサービス(S3、DynamoDB、API Gatewayなど)と簡単に連携できます。
これにより、各種AWS操作の自動化が可能になります。

プログラムの同時実行

Lambda関数はデフォルトで最大1000の同時実行に対応しており、大量のイベントが同時に発生しても問題なく処理できます

運用コストの削減

Lambdaは必要なときだけコードを実行するため、従量課金制でコストを抑えることができます。
EC2のように常にインスタンスが起動している必要がないため、用途によってはLambdaの方がコスト効率が良いです。

おわりに

今回は「AWS Lambda」について概要をまとめてみました。
実際に学んでみて、自分で触って試してみるのが一番理解が深まると感じています。

次回は、実際に作成したLambda関数の例について紹介していきたいと思います!