【问题标题】:Terraform: Adding server logging to S3 bucketTerraform:将服务器日志记录添加到 S3 存储桶
【发布时间】:2020-01-17 20:07:05
【问题描述】:

尝试将日志记录添加到两个存储桶时,我的 Terraform 脚本出现错误。这些是我的一个模块的一部分,我之前已经成功使用过它们。我回来部署一个新环境……但现在它不工作了。

我收到以下错误:

module.dev2_environment.module.portal.aws_s3_bucket.portal_bucket:发生 1 个错误: * aws_s3_bucket.portal_bucket:放置 S3 日志记录时出错:InvalidTargetBucketForLogging:您必须提供日志传递组 目标存储桶的 WRITE 和 READ_ACP 权限 状态码:400,请求ID:51AB42EFCACC9924,主机ID:nYCUxjHZE+xTisA1xG5syLTKVN/Rtwu8z3xF+O9GAPMdC2yGcafP4uwDUURUGKd9Lx1SD8aHTcEI=

我通过 CLI 使用管理员凭据执行。在工作状态和错误之间没有进行任何代码更改。有什么想法可以改变吗?句法? AWS 在某个地方配置?

Terraform 11.14 和 aws 提供程序 2.16

日志桶:

resource "aws_s3_bucket" "logs_bucket" {
  bucket = "XYZ-${var.env}-cdnlogs"
  acl    = "log-delivery-write"
  server_side_encryption_configuration {
    rule {
      apply_server_side_encryption_by_default {
        sse_algorithm = "AES256"
      }
    }
  }
  tags {
    Finance     = "dev_env"
    Environment = "${var.env}"
  }
}

目标桶:

resource "aws_s3_bucket" "portal_bucket" {
  bucket = "XYZ-${var.env}-portal"
  acl    = "private"
  server_side_encryption_configuration {
    rule {
      apply_server_side_encryption_by_default {
        sse_algorithm = "AES256"
      }
    }
  }
  logging {
    target_bucket = "${aws_s3_bucket.logs_bucket.id}"
    target_prefix = "logs/portal/"
  }
  website {
    index_document = "index.html"
    error_document = "index.html"
  }
  // Needed to allow logos to be uploaded the "Portal"
  cors_rule {
    allowed_headers = ["*"]
    allowed_methods = ["GET", "HEAD", "PUT", "POST"]
    allowed_origins = ["*"]
    max_age_seconds = 3000
  }
  tags {
    Finance     = "dev_env"
    Environment = "${var.env}"
  }
}

【问题讨论】:

    标签: amazon-s3 terraform terraform-provider-aws


    【解决方案1】:

    我认为错误就在这里 logging { target_bucket = "${aws_s3_bucket.**logs_bucket**.id}" target_prefix = "logs/portal/" }

    应该是 logging { **target_bucket = "${aws_s3_bucket.portal_bucket.id}"** target_prefix = "logs/portal/" }

    【讨论】:

      【解决方案2】:

      设置log-delivery-write ACL 的值以允许记录 -> 读取和记录写入。以及读取存储桶权限。

      【讨论】:

        猜你喜欢
        • 2019-11-07
        • 2019-08-23
        • 2019-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多