Amazon Lambdaの基本

IT

多分これに関しては、実際に動かすことが理解への近道。
それでも前知識が無いと動かすのは怖いし、とっつきにくい。
なのでホントの基礎部分のみ。
もっと深い所を知りたい人は、公式ドキュメントを見るべし。

AWS Lambda とは? - AWS Lambda
Lambda は、サーバーをプロビジョニングまたは管理することなくアプリケーションを構築するために使用できるコンピューティングサービスです。

Lambdaの概要

AWSが提供するサービスの一つ。
ラムダと読む。

同じLambdaのアイコンでも下図はLambda Function。
特に大きな差があるわけではないので、構成図上同じくLambdaを指しているという認識でOK。
変なアイコンの由来はギリシャ文字の(ラムダ:λ)からきているらしい。

普通、プログラムを動かすためには実行環境を用意する必要がある。
開発言語に応じてpythonやjava、.NET Frameworkなどインストールするなど。
ネット上で利用するには、Webサーバーを立てておく必要があったりもする。

こういった構築が不要で、実行したいプログラムを作って、配置して、実行出来るのがLambda。
現在、流行りの所謂サーバーレスアーキテクチャ。

他にも、関連するサービス(API GatewayやS3など)との連携設定がしやすい、
料金についても、プログラムが実行された時間だけ課金されるなど、
実行環境の構築や運用保守の手間が削減することが出来る。

イベントトリガー

Lambdaは何かしらのイベントによってプログラムを実行する。
それを事前に設定しておくことで、AWSの各サービスを連携できる。
下記は一例で、他の連携も多数用意されている。

  • S3にファイルをアップロードした時に実行
  • S3からファイルを削除した時に実行
  • クライアントから通信を受けたら実行

身近のところで、Amazon EchoなどAIスピーカーから声のキーワードをトリガーにして、
自分の作ったプログラムを動かすといったことも出来たりする。

ログ

プログラム実行といえば、実行ログ。
異常があった際の調査やデバッグには必須。

LambdaのログはAWS CloudWatchで確認することが出来る。
CloudWatchでは過去ログの検索が簡単できたり、
特定の文字列を含むログが出力された場合にメールを飛ばす、
チャットツールに通知を出すといったことが可能。

ログは上手く出力されないといったケースも割と起こりがち。
その場合、CloudWatch Logsへの書込み権限が付与されているか、
開発言語ごとのログ出力形式、設定がされているかを確認する必要がある。

その他の設定

上げていくとキリがないので、細かい項目は実際のコンソールを参照。

  • 環境変数(実行時の引数)
  • メモリ(128MB ~ 3008MB(約3GB))
  • タイムアウト(1秒 ~ 15分)
  • 同時実行数(最大は1000)
    • 1つイベントトリガーが発生したら、同時に10並列で実行するなど

コメント

タイトルとURLをコピーしました