⚙️

5分でわかる!AWS Lambda入門!⚽️

2023/06/18に公開

はじめに

現在AWS (Amazon Web Services) を学習していますが、その一環として学習内容の一部を投稿することにしました。
これからAWSを学習する方向けの記事となります。
本日のお題はAWS Lambda(ラムダ)。Lambda?なにそれ美味しいの?というところから、ハンズオン形式でちょっとだけ解説します。

サーバーレスとは

AWSのサービスの中には、サーバーレスと呼ばれているものがあります。
サーバーレスとは、開発者がサーバーを管理する必要がないサービスのことです。管理する必要がないだけであり、サーバーがないわけではありません。

サーバーレスと言われているサービスの中には、AWS LambdaやDynamoDB、AWS Cognito、AWS API Gateway、Amazon S3、AWS SNSやSQS、Fargateなどがあります。
今回はAWS Lambdaについて解説します。

AWS Lambdaとは

何らかの動き(トリガー)をもとに、小さいプログラムを動かす仕組みのこと。
サーバーの管理が必要なく、処理が実行されたときに課金が発生するサービスです。
ただし、実行時間の制約があり(最大15分)、メモリの割り当てや、環境変数、並列実行回数等に制約もあります。

メリット

価格が安い

リクエスト回数と実行時間によって料金が決まるため、低価格で利用ができます。また、毎月の無料利用枠も存在するため、扱いやすいサービスとなっています。

様々なプログラミング言語に対応

Node.jsやPython、Java、C#、Go、Rubyなど、多くのプログラミング言語に対応しています。

AWS CloudWatchによる監視

AWS CloudWatchによるモニタリングに対応しています。また、多くのAWSサービスと統合が可能となっています。

それでは早速ハンズオンに入ります。

AWS Lambda ハンズオン

まずはダッシュボードから Lambda を検索し、選択します。

はじめて選択する場合は解説が表示されますが、そのまま進んで関数の作成画面を表示します。

今回の例では、設計図の使用 を選択し、関数名は my-first-function とします。
実行ロールは基本的なロールにします。

Lambda関数のコードは以下のとおりです。

関数の作成 ボタンをクリックすると、関数が作成されます。少し時間がかかります。

テストタブをクリックし、テストイベントを作成します。
今回の例では、イベント名を my-first-event としています。
入力後、テスト ボタンをクリックします。

テストの実行結果が成功と表示されます。
詳細をクリックすると、詳細を確認することができます。
さらにログ出力で ここをクリックし をクリックすると、CloudWatchで詳細を見ることができます。

CloudWatch

ちなみに、コードタブからコードを修正できます。
また、ランタイム設定のハンドラで、呼び出し元のファイルとハンドラを確認できます。

以上、Lambdaの概要とちょっとしたハンズオンでした。

Discussion