1+ terraform {
2+ // aws ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ถ๋ฌ์ด
3+ required_providers {
4+ aws = {
5+ source = " hashicorp/aws"
6+ version = " ~> 4.0"
7+ }
8+ }
9+ }
10+
11+ # AWS ์ค์ ์์
12+ provider "aws" {
13+ region = var. region
14+ }
15+ # AWS ์ค์ ๋
16+
17+ # S3 ์ค์ ์์
18+ # bucket_1 : ๊ณต๊ฐ ๋ฒํท
19+ resource "aws_s3_bucket" "bucket_1" {
20+ bucket = " ${ var . prefix } -bucket-${ var . nickname } -1"
21+
22+ tags = {
23+ Name = " ${ var . prefix } -bucket-${ var . nickname } -1"
24+ }
25+ }
26+
27+ data "aws_iam_policy_document" "bucket_1_policy_1_statement" {
28+ statement {
29+ sid = " PublicReadGetObject"
30+ effect = " Allow"
31+
32+ principals {
33+ type = " AWS"
34+ identifiers = [" *" ]
35+ }
36+
37+ actions = [" s3:GetObject" ]
38+ resources = [" ${ aws_s3_bucket . bucket_1 . arn } /*" ]
39+ }
40+ }
41+
42+ resource "aws_s3_bucket_policy" "bucket_1_policy_1" {
43+ bucket = aws_s3_bucket. bucket_1 . id
44+
45+ policy = data. aws_iam_policy_document . bucket_1_policy_1_statement . json
46+
47+ depends_on = [aws_s3_bucket_public_access_block . bucket_1_public_access_block_1 ]
48+ }
49+
50+ resource "aws_s3_bucket_public_access_block" "bucket_1_public_access_block_1" {
51+ bucket = aws_s3_bucket. bucket_1 . id
52+
53+ block_public_acls = false
54+ block_public_policy = false
55+ ignore_public_acls = false
56+ restrict_public_buckets = false
57+ }
58+
59+ # bucket_2 : ๋น๊ณต๊ฐ ๋ฒํท
60+ resource "aws_s3_bucket" "bucket_2" {
61+ bucket = " ${ var . prefix } -bucket-${ var . nickname } -2"
62+
63+ tags = {
64+ Name = " ${ var . prefix } -bucket-${ var . nickname } -2"
65+ }
66+ }
67+
68+ resource "aws_s3_object" "object_1" {
69+ bucket = aws_s3_bucket. bucket_1 . id
70+ key = " /index.html"
71+ content = " Hello" # ์ง์ ๋ฌธ์์ด ์ฌ์ฉ
72+ content_type = " text/html"
73+ etag = md5 (" Hello" )
74+ depends_on = [aws_s3_bucket . bucket_2 ]
75+ }
76+
77+ resource "aws_s3_object" "object_2" {
78+ bucket = aws_s3_bucket. bucket_2 . id
79+ key = " /index.html"
80+ content = " Hello" # ์ง์ ๋ฌธ์์ด ์ฌ์ฉ
81+ content_type = " text/html"
82+ etag = md5 (" Hello" )
83+ depends_on = [aws_s3_bucket . bucket_2 ]
84+ }
85+ # S3 ์ค์ ๋
0 commit comments