|
@@ -5,41 +5,53 @@ module "elb_logging_logging_bucket" {
|
|
|
source = "../../thirdparty/terraform-aws-s3logging-bucket"
|
|
|
|
|
|
bucket_name = "xdr-elb-${var.environment}-access-logs"
|
|
|
- lifecycle_rules = [
|
|
|
- {
|
|
|
- id = "expire-old-logs"
|
|
|
- enabled = true
|
|
|
- prefix = ""
|
|
|
- expiration = 30
|
|
|
- noncurrent_version_expiration = 30
|
|
|
- abort_incomplete_multipart_upload_days = 7
|
|
|
- }
|
|
|
- ]
|
|
|
+ #Discussed w/ FRED ON THIS MODULE / needs to be replaced with aws_s3_bucket_lifecycle_configuration
|
|
|
+ #lifecycle_rules = [
|
|
|
+ # {
|
|
|
+ # id = "expire-old-logs"
|
|
|
+ # enabled = true
|
|
|
+ # prefix = ""
|
|
|
+ # expiration = 30
|
|
|
+ # noncurrent_version_expiration = 30
|
|
|
+ # abort_incomplete_multipart_upload_days = 7
|
|
|
+ # }
|
|
|
+ #]
|
|
|
tags = merge(var.standard_tags, var.tags, { "Note" = "ELB Logging Does Not Support SSE-KMS. Only SSE-S3 is supported." } )
|
|
|
versioning_enabled = true
|
|
|
}
|
|
|
|
|
|
resource "aws_s3_bucket" "elb_logging_bucket" {
|
|
|
bucket = "xdr-elb-${var.environment}"
|
|
|
- acl = "private"
|
|
|
+
|
|
|
tags = merge(var.standard_tags, var.tags)
|
|
|
+}
|
|
|
|
|
|
- versioning {
|
|
|
- enabled = true
|
|
|
- }
|
|
|
+resource "aws_s3_bucket_acl" "s3_acl_elb_logging_bucket" {
|
|
|
+ bucket = aws_s3_bucket.elb_logging_bucket.id
|
|
|
+ acl = "private"
|
|
|
+}
|
|
|
|
|
|
- logging {
|
|
|
- target_bucket = module.elb_logging_logging_bucket.s3_bucket_name
|
|
|
- target_prefix = "${var.aws_account_id}-${var.aws_region}-elblogs/"
|
|
|
+resource "aws_s3_bucket_versioning" "s3_version_elb_logging_bucket" {
|
|
|
+ bucket = aws_s3_bucket.elb_logging_bucket.id
|
|
|
+ versioning_configuration {
|
|
|
+ status = "Enabled"
|
|
|
}
|
|
|
+}
|
|
|
|
|
|
- server_side_encryption_configuration {
|
|
|
- rule {
|
|
|
- apply_server_side_encryption_by_default {
|
|
|
- sse_algorithm = "AES256" # ELB logging only supports SSE-S3
|
|
|
+resource "aws_s3_bucket_logging" "log_bucket_elb_logging_bucket" {
|
|
|
+ bucket = aws_s3_bucket.log_bucket_elb_logging_bucket.id
|
|
|
+ target_bucket = module.elb_logging_logging_bucket.s3_bucket_name
|
|
|
+ target_prefix = "${var.aws_account_id}-${var.aws_region}-elblogs/"
|
|
|
+}
|
|
|
+
|
|
|
+resource "aws_s3_bucket_server_side_encryption_configuration" "s3_sse_elb_logging_bucket" {
|
|
|
+ bucket = aws_s3_bucket.elb_logging_bucket.id
|
|
|
+
|
|
|
+ rule {
|
|
|
+ apply_server_side_encryption_by_default {
|
|
|
+ sse_algorithm = "AES256" # ELB logging only supports SSE-S3
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
resource "aws_s3_bucket_public_access_block" "aws_elb_bucket_block_public_access" {
|
|
@@ -245,3 +257,28 @@ resource "aws_sns_topic_subscription" "elblog_bucket_change_notification_to_queu
|
|
|
protocol = "sqs"
|
|
|
endpoint = aws_sqs_queue.new_elblog.arn
|
|
|
}
|
|
|
+
|
|
|
+//AWS Provider outdated arguments <4.4.0
|
|
|
+/*resource "aws_s3_bucket" "elb_logging_bucket" {
|
|
|
+ bucket = "xdr-elb-${var.environment}"
|
|
|
+ acl = "private"
|
|
|
+ tags = merge(var.standard_tags, var.tags)
|
|
|
+
|
|
|
+ versioning {
|
|
|
+ enabled = true
|
|
|
+ }
|
|
|
+
|
|
|
+ logging {
|
|
|
+ target_bucket = module.elb_logging_logging_bucket.s3_bucket_name
|
|
|
+ target_prefix = "${var.aws_account_id}-${var.aws_region}-elblogs/"
|
|
|
+ }
|
|
|
+
|
|
|
+ server_side_encryption_configuration {
|
|
|
+ rule {
|
|
|
+ apply_server_side_encryption_by_default {
|
|
|
+ sse_algorithm = "AES256" # ELB logging only supports SSE-S3
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+*/
|