継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

AWS Lambda のデプロイを Terraform で行う

タダです.

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 でデプロイしていけることをしれました.パッケージなどインストールする必要などないみたいな場合はこういう手段でやっていくのを考えていきます.