🐾

AWS Lambdaの使い方:関数を作成してテストするまで 🔰

に公開

はじめに

現在、AWS(Amazon Web Services)を学習しており、その過程で理解した内容をまとめる目的でこの記事を書きました。
これからAWSを学び始める方向けに、AWS Lambdaの概要と簡単なハンズオンを紹介します。

今回のお題は AWS Lambda。
「Lambda?なにそれ?」という状態からでも読める内容を目指しています。

サーバーレスとは

AWSには「サーバーレス」と呼ばれるサービス群があります。

サーバーレスとは、開発者がサーバーの構築・運用を意識せずに利用できる仕組みのことです。
「サーバーが存在しない」という意味ではなく、管理をAWS側に任せられるという点がポイントです。

代表的なサーバーレスサービスには、以下があります。

  • AWS Lambda
  • DynamoDB
  • Amazon Cognito
  • API Gateway
  • Amazon S3
  • SNS / SQS
  • AWS Fargate

この記事では、この中でも AWS Lambda に焦点を当てて解説します。

AWS Lambdaとは

AWS Lambdaは、何らかのイベント(トリガー)をきっかけにプログラムを実行するサービスです。

特徴は以下のとおりです。

  • サーバー管理が不要
  • 実行された分だけ課金される従量課金制
  • 小さな処理を実行する用途に向いている

一方で、以下の制約もあります。

  • 実行時間は最大15分
  • メモリ割り当てに制限がある
  • 環境変数や同時実行数に上限がある

AWS Lambdaのメリット

価格が安い

リクエスト回数と実行時間に応じた課金体系のため、
小規模な処理であれば 低コストで運用可能です。

また、毎月の無料利用枠がある点も扱いやすいポイントです。

多くのプログラミング言語に対応

以下のような主要な言語がサポートされています。

  • Node.js
  • Python
  • Java
  • C#
  • Go
  • Ruby など

用途に応じて言語を選択できます。

CloudWatchによる監視

CloudWatchと連携することで、

  • 実行ログの確認
  • エラーの把握
  • メトリクス監視
    が可能です。
    また、他のAWSサービスとの統合もしやすい点が特徴です。

AWS Lambda ハンズオン

Lambda関数の作成

AWSマネジメントコンソールから Lambda を検索し、選択します。

初回アクセス時は説明画面が表示されますが、そのまま進み、関数の作成画面を表示します。

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

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

関数の作成 ボタンをクリックします。作成には少し時間がかかります。

テストの実行

関数作成後、テストタブを開き、テストイベントを作成します。
イベント名を my-first-event とします。
入力後、テスト ボタンをクリックします。

実行結果が「成功」と表示されればOKです。

実行結果の確認

詳細をクリックすると、詳細を確認することができます。
さらにログ出力で ここをクリックし をクリックすると、CloudWatchで詳細を見ることができます。

CloudWatch上でログを確認できます。

補足:コード修正と設定

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

まとめ

この記事では、AWS Lambdaの概要と簡単なハンズオンを紹介しました。

  • サーバーレスの基本概念
  • Lambdaの特徴とメリット
  • 実際の作成・テスト手順

初学者が「Lambdaってこういうものか」と掴むには、十分な内容だと思います。
まずは小さな関数を作って触ってみるのがおすすめです。

Discussion