Slide 9
Slide 9 text
Deploy with terraform
resource "aws_iam_role" "lambda_role" {
....
}
resource "aws_iam_role_policy_attachment" "lambda_vpc" {
....
}
resource "aws_iam_role_policy" "dynamodb_access" {
....
}
resource "aws_dynamodb_table" "users" {
....
}
resource "aws_cloudwatch_log_group" "processor_logs" {
....
}
data "archive_file" "lambda_zip" {
type = "zip"
source_dir = "${path.module}/src"
output_path = "${path.module}/processor.zip"
}
resource "aws_lambda_function" "processor" {
filename = data.archive_file.lambda_zip.output_path
function_name = "processor"
role = aws_iam_role.lambda_role.arn
handler = "handler.process"
runtime = “python3.13"
source_code_hash = data.archive_file.lambda_zip.output_base64s
vpc_config {
subnet_ids = ["subnet-12345", "subnet-67890"]
security_group_ids = ["sg-12345"]
}
logging_config {
log_format = "Text"
log_group = aws_cloudwatch_log_group.processor_logs.name
}
}
terraform apply