5分でわかる!AWS Lambda入門
はじめに
現在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