【初心者向け】AWS Lambda とは
AWS Lambda (以下Lamda)は、小さなプログラムを実行できる仕組みです。
あらかじめ登録しておくと実行できます。
Lambdaは特に S3との組み合わせで注目されており、 AWS を使用していく上で大きく活用されていく機能となるでしょう。
AWS Lambda とは
AWS Lambda とはデータやリクエストのリアルタイム処理やバックエンドの処理を自動実行する仕組みです。
このような処理の為の専用サーバーを準備や管理する必要なく(サーバレス)、必要なイベントに応じて自動実行されます。常駐サーバーと異なりプログラムの実行時のみ課金されます。
上記でも記載がありますが、Lambdaの便利なところはサーバレスなところです。つまりプログラムを実行するまでに必要なものがLambdaだけで事足りてしまうことです。
通常必要なものといえば、サーバー(AWSでいうとEC2)、Webサーバ、データを登録するDBなどを構築した後に開発などを行っていきます。これらが不要となり、単純な話、プログラムの実行環境を提供しているサービスになります。
Lambda 関数と呼ばれる形式の関数を用いますが、これは特別新しい言語ではありません。
よく知られているプログラミング言語で書いたコードを元に「 Lambda Console」 を用いてグラフィカルに作成できます。
使える言語は Java、C#、Python、Ruby、node.js、Goなどです。よくある目的のためのテンプレートも揃っています。
Lambda 関数はLambdaサービスに保存されます。何らかのトリガーで特定の AWS リソースにおいて実行されます。
有名な例はS3バケットに画像が置かれるとサムネイル作成関数が呼び出されサムネイルを自動的に作成する例です。
S3バケットに画像が置かれるとサムネイル作成関数が呼び出されサムネイルを自動的に作成する例です。
Lambdaの用語
LambdaはプログラムコードをLambdaサービスにアップロードしておくと特定の AWS サービスを実行できる仕組みです。
アップロードするプログラムコードを Lambda 関数と言います。Lambdaに関する用語は以下です。
項目 | 内容 |
---|---|
イベント駆動 | S3にファイルが置かれた、Dynamo DBにデータが書き込まれた、SESにメールが届いたなど、AWSサービスに何か生じたときに、Lambdaのプログラムを実行できる。 |
CGI代わりにLamda | API Gatewayと見合わせると、WebのCGIに見える |
イベントソースの一覧
Lambda を呼び出す方法は3種類あります。
有名なのは S3や SES、 API Gateeway組み合わせるパターンです。
SES(Amazon Simple Email Service) はメールを受信した時にアクションを起こすといった形で使います。
API Gateway は Web ブラウザーなどから API が呼び出されたりした時に何らかの処理を実行するといった形で使います。
Lambdaを呼び寄せるサービスの一覧
Lambdaがイベントを読み取るサービス | Lambda関数を同期的に呼び出すサービス | Lambda関数を非同期的に呼び出すサービス |
---|---|---|
Kinesis | ELB | S3 |
DynamoDB | ALB | SNS |
SQS | Congnito | SES |
Lex | CloudFormation | |
Alexa | CloudWatch Log | |
API Gateway | CloudWatch Events | |
CloudFront | CodeCommit | |
kinesis Data Firehose | Config |
同期とは処理が終わるまで待つこと
非同期とは処理が終わるまで待たないこと
Lambdaの料金
Lambdaの料金は「単価×実行時間(秒単位)」です。単価はLambdaで確保するメモリによって異なります。
-
前の記事
【初心者向け解説】コマンドの実行 2021.10.05
-
次の記事
【初心者向け】データベースとRDB 2021.10.15