Lambdaのカスタムランタイムを少しだけ使ったためその際に分かった事を覚えておくためにまとめたい。
###Lambdaとは
サーバーを管理する必要なくコードを実行できるAWSサービス。
また、スケーリング等も自動で行ってくれるため関数のコードを書くだけで実行ができる。
実態はおそらくAmazon Linux上で動いている。
###Lambda 関数とは
Lambdaでコードを実行する一塊。実態は以下に展開され
通常ハンドラで設定されたコードが実行される。
/var/task/
(環境変数 $LAMBDA_TASK_ROOT)
###Lambda layer とは
利用可能なライブラリやカスタムランタイム(後述)をLayerとして登録することで
複数の関数で共通的に利用できる仕組み。
zipでLambdaにあげ関数実行時に以下の場所に展開される。
/opt/
###Lambda Custom Runtime とは
Lambda layerの一種。Lambdaでサポートされていない言語も、
Custom Runtimeを使うことで使用することができるようになる。
実際は以下の場所をエンドポイントとしてそのファイルを実行する。
そのためbootstrap内にその環境でやりたいことをすべて書いていおかなくてはならない。
/opt/bootstrap
bootstrapの例(公式抜粋)
#!/bin/sh
cd $LAMBDA_TASK_ROOT
./node-v11.1.0-linux-x64/bin/node runtime.js
TODO 続きを書く
参考
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/welcome.html