应用地形时,aws_s3_bucket_public_access_block无法创建



我正在为AWS执行Terraform的第一步,我想创建一个S3存储桶,并将"阻止所有公共访问"设置为ON。

版本:

Terraform版本0.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的引用不正确。

更改:

bucket = "aws_s3_bucket.<myname>.id"

收件人:

bucket = aws_s3_bucket.<myname>.id

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

相关内容

  • 没有找到相关文章