【问题标题】:aws_s3_bucket_public_access_block fails to create while terraform applyaws_s3_bucket_public_access_block 在应用 terraform 时无法创建
【发布时间】:2020-05-07 22:58:28
【问题描述】:

我将在 Terraform for AWS 中迈出第一步,我想创建一个 S3 存储桶并将“阻止所有公共访问”设置为 ON。

版本:

Terraform v0.12.24 + provider.aws v2.60.0

文件提供者.tf

provider "aws" {
    region  = "eu-west-1"
    profile = "<myprofile>"
}

文件 s3.tf

resource "aws_s3_bucket" "<myname>" {
    bucket = "<myname>"
    region  = "eu-west-1"
}

resource "aws_s3_bucket_public_access_block" "<myname>" {
    bucket = "aws_s3_bucket.<myname>.id"
    block_public_acls = true
    block_public_policy = true
    ignore_public_acls = true
    restrict_public_buckets = true
}

中的值是我自己的值,如果我的文件中的值相同,我在这里使用相同的示例值(因此在 s3.tf 文件中,它只是所有变量的一个名称)

如果我做一个

terraform apply

它会创建一切,但在“aws_s3_bucket_public_access_block”它会在 1 分钟后进入超时并告诉我:

Error: error creating public access block policy for S3 bucket (aws_s3_bucket.<myname>.id): NoSuchBucket: The specified bucket does not exist
        status code: 404

我也尝试添加

depends_on = [ aws_s3_bucket.<myname> ]

在“aws_s3_bucket_public_access_block”中,但它也不起作用。

我搜索并尝试搜索,但没有任何效果。 有人报告了一个错误,并告诉我必须在 .env 文件中全局设置 AWS_REGION,尝试过也没有工作。

【问题讨论】:

    标签: terraform-provider-aws


    【解决方案1】:

    您对 S3 存储桶的引用不正确。

    变化:

    bucket = "aws_s3_bucket.<myname>.id"
    

    收件人:

    bucket = aws_s3_bucket.<myname>.id
    

    没有双引号,因为你引用了另一个资源

    【讨论】:

    • 你是我的英雄!它真的奏效了!非常感谢!
    猜你喜欢
    • 2022-01-26
    • 2020-08-27
    • 2021-04-01
    • 2022-11-04
    • 2022-07-26
    • 2019-07-17
    • 2020-06-08
    • 2019-10-12
    • 2019-12-16
    相关资源
    最近更新 更多