aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'jinwei.me/infra/s3.tf')
-rw-r--r--jinwei.me/infra/s3.tf24
1 files changed, 13 insertions, 11 deletions
diff --git a/jinwei.me/infra/s3.tf b/jinwei.me/infra/s3.tf
index 49f8e10..6c39e4c 100644
--- a/jinwei.me/infra/s3.tf
+++ b/jinwei.me/infra/s3.tf
@@ -2,12 +2,13 @@ resource "random_id" "s3_bucket_suffix" {
2 byte_length = 4 2 byte_length = 4
3} 3}
4 4
5resource "aws_s3_bucket" "main" { 5resource "aws_s3_bucket" "static" {
6 bucket = "static.jinwei.me" 6 # https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html#:~:text=For%20best%20compatibility,in%20their%20names
7 bucket = "${var.name}-${random_id.s3_bucket_suffix.hex}"
7} 8}
8 9
9resource "aws_s3_bucket_public_access_block" "main" { 10resource "aws_s3_bucket_public_access_block" "static" {
10 bucket = aws_s3_bucket.main.id 11 bucket = aws_s3_bucket.static.id
11 12
12 # https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html 13 # https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html
13 block_public_acls = false 14 block_public_acls = false
@@ -16,12 +17,13 @@ resource "aws_s3_bucket_public_access_block" "main" {
16 restrict_public_buckets = true 17 restrict_public_buckets = true
17} 18}
18 19
19resource "aws_s3_bucket_policy" "main" { 20resource "aws_s3_bucket_policy" "static" {
20 bucket = aws_s3_bucket.main.id 21 bucket = aws_s3_bucket.static.id
21 policy = data.aws_iam_policy_document.bucket_policy.json 22 policy = data.aws_iam_policy_document.static_bucket_policy.json
22} 23}
23 24
24data "aws_iam_policy_document" "bucket_policy" { 25
26data "aws_iam_policy_document" "static_bucket_policy" {
25 # Allow Cloudfront to read from the bucket 27 # Allow Cloudfront to read from the bucket
26 statement { 28 statement {
27 principals { 29 principals {
@@ -34,7 +36,7 @@ data "aws_iam_policy_document" "bucket_policy" {
34 "s3:GetObject" 36 "s3:GetObject"
35 ] 37 ]
36 resources = [ 38 resources = [
37 "${aws_s3_bucket.main.arn}/*", 39 "${aws_s3_bucket.static.arn}/*",
38 ] 40 ]
39 condition { 41 condition {
40 test = "StringEquals" 42 test = "StringEquals"
@@ -44,8 +46,8 @@ data "aws_iam_policy_document" "bucket_policy" {
44 } 46 }
45} 47}
46 48
47resource "aws_s3_object" "healthcheck" { 49resource "aws_s3_object" "check" {
48 bucket = aws_s3_bucket.main.id 50 bucket = aws_s3_bucket.static.id
49 key = "healthcheck" 51 key = "healthcheck"
50 content = "OK" 52 content = "OK"
51 content_type = "text/plain" 53 content_type = "text/plain"
Powered by cgit v1.2.3 (git 2.41.0)