| LAMBDA_TASK_ROOT | lambda実行ディレクトリのパス。画像などもUPLOADできるので読み込みに利用できる |
| PYTHON_PATH | 実行時のライブラリ検索パス。いじった場合はlayerが読み込めなくなるので注意 |
| request |
| pytz |
1. イベントを定義(aws_cloudwatch_event_rule) 2. イベントに対して実行する関数をターゲット指定(aws_cloudwatch_event_target)
https://dev.classmethod.jp/articles/terraform-lambda-deployment/
https://qiita.com/ktsujichan/items/c0804f155c2cf1962ed3
AWSLambdaVPCAccessExecutionRole
The provided execution role does not have permissions to call CreateNetworkInterface on EC2
かつてはENIをコールドスタートしたり、その分ENI&サブネットのIPを消費したりのデメリットがあったが、2019年に解消された。
https://github.com/lambci/docker-lambda
# Test a `lambda_handler` function in `lambda_function.py` with an empty event on Python 3.8 docker run --rm -v "$PWD":/var/task:ro,delegated lambci/lambda:python3.8 lambda_function.lambda_handler
CentOS7のDockerだとdelegatedオプションがサポートされてないバージョンなので外すこと!
pip install python-lambda-local
echo '{"key1": "test"}' > event.json
python-lambda-local -f lambda_handler lambda_function.py event.json
lambda以外にも対応している
http://momota.github.io/blog/2018/11/05/serverless-framework/
| S3へのput |
| SESへの着信 |
| Amazon SNS からの通知の送信 |
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:*"
],
"Resource": "arn:aws:logs:*:*:*"
},
{
"Effect": "Allow",
"Action": "ec2:Describe*",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateSnapshot",
"ec2:DeleteSnapshot",
"ec2:CreateTags",
"ec2:ModifySnapshotAttribute",
"ec2:ResetSnapshotAttribute"
],
"Resource": [
"*"
]
}
]
}
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": [
"arn:aws:logs:*:*:*"
]
},
{
"Effect": "Allow",
"Action": "es:ESHttpPost",
"Resource": "arn:aws:es:*:*:*"
}
]
}
https://serverlesscode.com/post/lambda-schedule-ebs-snapshot-backups/ https://serverlesscode.com/post/lambda-schedule-ebs-snapshot-backups-2/
上記ページに従い実行した。backupというキーを設定したインスタンスのEBSのSnapshotを作成する。PartIIでは削除日を指定してSnapshotを作る機能が追加されている。
まずはlambdaに対しての信頼関係を定義して、lambaで実行すると ebs-backup-worker が付与されるようにする。 ebs-backup-workerには必要なポリシーを付与する。
https://qiita.com/hoto17296/items/5f17af9b5261b9f219ee