タダです.
Terraform で Lambda のデプロイをはじめてやったので,備忘録として記事に書いておきます.
Terraform のコード
Terraform のコードは以下のように書きました.Lambda のコードは Node.js
を書いたのですが,lambda/hoge
ディレクトリに置いておきます.これで terraform apply
をしたら Lambda がデプロイされることを確認できました.
resource "aws_lambda_function" "hoge_functions" { function_name = "hoge" handler = "index.handler" role = aws_iam_role.hoge.arn filename = data.archive_file.hoge.output_path timeout = 30 publish = true source_code_hash = data.archive_file.hoge.output_base64sha256 runtime = "nodejs14.x" } data "archive_file" "hoge" { type = "zip" output_path = "${path.module}/lambda/hoge/hoge.zip" source_file = "${path.module}/lambda/hoge/index.js" }
まとめ
今まで AWS SAM や CDK で Lambda のデプロイしてきたのですが,Terraform でデプロイしていけることをしれました.パッケージなどインストールする必要などないみたいな場合はこういう手段でやっていくのを考えていきます.