我将在 Terraform for AWS 中迈出第一步,我想创建一个 S3 存储桶并将“阻止所有公共访问”设置为 ON。
版本:
Terraform v0.12.24 + provider.aws v2.60.0
文件提供者.tf
provider "aws" {
region = "eu-west-1"
profile = "<myprofile>"
}
Run Code Online (Sandbox Code Playgroud)
文件 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
}
Run Code Online (Sandbox Code Playgroud)
<> 中的值是我自己的值,如果它与我的文件中的值相同,我在这里使用了相同的示例值(因此在 s3.tf 文件中,它只是所有变量的一个名称)
如果我做一个
terraform apply
Run Code Online (Sandbox Code Playgroud)
它将创建所有内容,但在“aws_s3_bucket_public_access_block”,它将在大约 1 分钟后进入超时并告诉我:
Error: error creating public access block policy for S3 bucket (aws_s3_bucket.<myname>.id): NoSuchBucket: …Run Code Online (Sandbox Code Playgroud)