Search

S3

resource "random_string" "bucket_random" { length = 4 upper = false lower = false numeric = true special = false } resource "aws_s3_bucket" "source" { provider = aws.seoul bucket = "hrdkorea-static-${random_string.bucket_random.result}" } resource "aws_s3_object" "static" { bucket = aws_s3_bucket.source.id key = "static/index.html" source = "./src/index.html" etag = filemd5("./src/index.html") content_type = "text/html" } resource "aws_s3_bucket_policy" "cdn-oac-bucket-policy" { bucket = aws_s3_bucket.source.id policy = data.aws_iam_policy_document.static_s3_policy.json } data "aws_iam_policy_document" "static_s3_policy" { statement { actions = ["s3:GetObject"] resources = ["${aws_s3_bucket.source.arn}/*"] principals { type = "Service" identifiers = ["cloudfront.amazonaws.com"] } condition { test = "StringEquals" variable = "AWS:SourceArn" values = [aws_cloudfront_distribution.cf_dist.arn] } } } resource "aws_s3_bucket_website_configuration" "source" { bucket = aws_s3_bucket.source.id index_document { suffix = "index.html" } } resource "aws_s3_bucket_versioning" "source" { provider = aws.seoul bucket = aws_s3_bucket.source.id versioning_configuration { status = "Enabled" } }
JSON
복사