39 lines
1.3 KiB
HCL
39 lines
1.3 KiB
HCL
resource "aws_cloudfront_distribution" "distribution" {
|
|
for_each = toset(var.buckets)
|
|
|
|
origin {
|
|
domain_name = data.aws_s3_bucket.bucket[each.value].bucket_regional_domain_name
|
|
origin_id = data.aws_s3_bucket.bucket[each.value].bucket_regional_domain_name
|
|
origin_access_control_id = aws_cloudfront_origin_access_control.origin_access[each.value].id
|
|
|
|
origin_shield {
|
|
enabled = true
|
|
origin_shield_region = "ap-northeast-2"
|
|
}
|
|
}
|
|
|
|
enabled = true
|
|
is_ipv6_enabled = true
|
|
comment = "Alert Images CDN - S3 Bucket: dsk-alert-images"
|
|
price_class = "PriceClass_200"
|
|
|
|
restrictions {
|
|
geo_restriction {
|
|
restriction_type = "whitelist"
|
|
locations = ["KR"]
|
|
}
|
|
}
|
|
|
|
default_cache_behavior {
|
|
cache_policy_id = "658327ea-f89d-4fab-a63d-7e88639e58f6"
|
|
allowed_methods = ["GET", "HEAD"]
|
|
cached_methods = ["GET", "HEAD"]
|
|
target_origin_id = data.aws_s3_bucket.bucket[each.value].bucket_regional_domain_name
|
|
compress = true
|
|
viewer_protocol_policy = "redirect-to-https"
|
|
}
|
|
|
|
viewer_certificate {
|
|
cloudfront_default_certificate = true
|
|
}
|
|
} |