TerraformでLambdaとLambdaレイヤーをデプロイする

TerraformでLambdaとLambdaレイヤーをデプロイする

Lambda、Lambdaレイヤーはパッケージ済みとします。IAMロール作成済みとします。

TerraformでLambdaとLambdaレイヤーをデプロイする

main.tf

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 4.16"
    }
  }

  required_version = ">= 1.2.0"
}

provider "aws" {
  region = "ap-northeast-1"
}

resource "aws_lambda_function" "test" {
  filename      = "hello-world.zip"
  function_name = "lambda_function_name"
  role          = "arn:aws:iam::123456789012:role/SampleRole"
  handler       = "index.handler"
  runtime       = "nodejs18.x"
  layers        = [aws_lambda_layer_version.lambda_layer.arn]
  ephemeral_storage {
    size = 512
  }
}

resource "aws_lambda_layer_version" "lambda_layer" {
  filename   = "lambda_layer_payload.zip"
  layer_name = "lambda_layer_name"

  compatible_runtimes = ["nodejs18.x"]
}

初期化し適用します。

$ terraform init
$ terraform apply

LambdaとLambdaレイヤーがデプロイされました。

TerraformでLambdaとLambdaレイヤーをデプロイする

TerraformでLambdaとLambdaレイヤーをデプロイする

terraform destroyで破棄します。

$ terraform destroy

コメント

タイトルとURLをコピーしました