gpt4 book ai didi

terraform-provider-aws - aws_s3_bucket_public_access_block 在应用 terraform 时无法创建

转载 作者:行者123 更新时间:2023-12-04 12:20:45 25 4
gpt4 key购买 nike

我将在 Terraform for AWS 中迈出第一步,我想创建一个 S3 存储桶并将“阻止所有公共(public)访问”设置为 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,尝试过但也没有工作。

最佳答案

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

改变:

bucket = "aws_s3_bucket.<myname>.id"

到:
bucket = aws_s3_bucket.<myname>.id

没有双引号,因为您正在引用另一个资源

关于terraform-provider-aws - aws_s3_bucket_public_access_block 在应用 terraform 时无法创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61660713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com