Skip to main content

Module: s3-website~~ OBSOLETE

Deprecated

As of July, 2023 this module is deprecated. terraform-aws-s3-website offers little value beyond the terraform-aws-s3-bucket module, so Cloud Posse is phasing out support for this project. Users are advised to migrate to terraform-aws-s3-bucket to manage the S3 bucket (including logging) and terraform-aws-route53-alias to register the website hostname in Route53. Feature requests should be directed to those modules.

Terraform module to provision S3-backed Websites. IMPORTANT: This module provisions a globally accessible S3 bucket for unauthenticated users because it is designed for hosting public static websites. Normally, AWS recommends that S3 buckets should not publicly accessible in order to protect S3 data from unauthorized users.

Usage

Create s3 website bucket

module "website" {
source = "cloudposse/s3-website/aws"
# Cloud Posse recommends pinning every module to a specific version
# version = "x.x.x"
namespace = "eg"
stage = "prod"
name = "app"
hostname = "docs.prod.cloudposse.org"

deployment_arns = {
"arn:aws:s3:::principal1" = ["/prefix1", "/prefix2"]
"arn:aws:s3:::principal2" = [""]
}
}

Create S3 website bucket with Route53 DNS

Required one of the parent_zone_id or parent_zone_name

module "website_with_cname" {
source = "cloudposse/s3-website/aws"
# Cloud Posse recommends pinning every module to a specific version
# version = "x.x.x"
namespace = "eg"
stage = "prod"
name = "app"
hostname = "docs.prod.cloudposse.org"
parent_zone_id = "XXXXXXXXXXXX"
}