2020-09-21 10:44:20 -07:00

82 lines
2.2 KiB
HCL

# -----------------------------------------------------------------------------------------------------------
# Grant the log parsing lambda access to the logs bucket
# resource "aws_lambda_permission" "allow_bucket" {
# statement_id = "AllowExecutionFromS3Bucket"
# action = "lambda:InvokeFunction"
# function_name = aws_lambda_function.logs_parser.arn
# principal = "s3.amazonaws.com"
# source_arn = aws_s3_bucket.logs.arn
# }
# -----------------------------------------------------------------------------------------------------------
# Log Parsing Lambda
# data "archive_file" "logs_parser" {
# type = "zip"
# source_dir = "${path.module}/files/decorate"
# output_path = "${path.module}/files/decorate.zip"
# }
# resource "aws_lambda_function" "logs_parser" {
# filename = data.archive_file.logs_parser.output_path
# function_name = "${var.site}-logs-decorator"
# handler = "index.handler"
# source_code_hash = data.archive_file.logs_parser.output_base64sha256
# runtime = "nodejs12.x"
# memory_size = "128"
# timeout = "5"
# role = aws_iam_role.lambda.arn
# tags = {
# Name = "${var.site}-log-dist"
# Site = var.site
# }
# }
# resource "aws_s3_bucket_notification" "bucket_notification" {
# bucket = aws_s3_bucket.logs.id
# lambda_function {
# lambda_function_arn = aws_lambda_function.logs_parser.arn
# events = ["s3:ObjectCreated:*"]
# filter_prefix = "RAW/"
# filter_suffix = ".gz"
# }
# }
# Reduce log retention to two weeks
# resource "aws_cloudwatch_log_group" "logs_parser" {
# name = "/aws/lambda/${aws_lambda_function.logs_parser.function_name}"
# retention_in_days = 14
# }
# -----------------------------------------------------------------------------------------------------------
# Athena Configuration
# resource "aws_s3_bucket" "athena" {
# bucket = "${var.site}-athena"
# acl = "private"
# tags = {
# Name = "${var.site}-athena"
# Site = var.site
# }
# }
# resource "aws_athena_workgroup" "wg" {
# name = "${var.site}-wg"
# tags = {
# Name = "${var.site}-wg"
# Site = var.site
# }
# }
# resource "aws_athena_database" "db" {
# name = var.site
# bucket = aws_s3_bucket.athena.id
# }