【AWS】サーバーレス入門におけるLambdaとは〜Schoo生放送のメモ〜
schooというオンライン講座を久々に見たらちょうど今勉強始めたサーバレスについてやってた。
http://schoo.jp/
知ってることも多かったが、本とかネットも断片的なところがあるので、
復習の意味も込めて記載しておきます。
※2018年3月25日(日)現在の情報
Lambdaの特徴
・必要な時だけコンテナが作られ、終わったら消える(なのでサーバはあるけど消える。これはサーバレスと呼ばれる所以。実際、Lambdaコンテナの正体はAmazonLinux)
・コンテナは再利用される。
→都度作り直すと時間がかかるため。前に実行した時のゴミが残る場合がある。
・急激なアクセス増にも耐えられる。
・実行したい数だけ並列実行される(最大数制限あり)
・コスト削減→実行回数、時間に対する課金。
・最大実行時間5分(課金積んでも増やせないが、メモリを増やすことで多少実行時間は減らせる)
手順
1事前にプログラム作って登録
2実行時だけ自動でコンテナつくられる
以上
書式(Pythonの例)
def lambda_handler(event,context);
AWSサービスとの連携例
SES(メール関連)との連携例
・自動返信する
・受診したらメールアドレスをDBに登録する
・メール宛先不明ならDBから削除する
などが可能
ロール(IAMロール)
書き込み権限が必要
AWSLambdaBasicExecutionRoleポリシーが必須。
その他必要に応じて
AmazonS3FullAccessポリシーなどを付与する。