🟢 S3 Static Website Hosting

A static HTML/CSS website hosted directly from an S3 bucket. Public access is allowed, and website hosting is enabled. Ideal for static sites and portfolios.
provider "aws" {
region = "us-east-1"
}
resource "aws_s3_bucket" "static_site" {
bucket = "my-static-site-bucket"
acl = "public-read"
website {
index_document = "index.html"
error_document = "error.html"
}
}
resource "aws_s3_bucket_policy" "public_read" {
bucket = aws_s3_bucket.static_site.id
policy = jsonencode({
Version = "2012-10-17",
Statement = [
{
Sid = "PublicReadGetObject",
Effect = "Allow",
Principal = "*",
Action = "s3:GetObject",
Resource = "${aws_s3_bucket.static_site.arn}/*"
}
]
})
}
resource "aws_s3_object" "index" {
bucket = aws_s3_bucket.static_site.bucket
key = "index.html"
source = "index.html"
content_type = "text/html"
}
resource "aws_s3_object" "error" {
bucket = aws_s3_bucket.static_site.bucket
key = "error.html"
source = "error.html"
content_type = "text/html"
}