cloudkj/scar
Deploy static websites in seconds - with HTTPS, a global CDN, and custom domains.
repo name | cloudkj/scar |
repo link | https://github.com/cloudkj/scar |
homepage | |
language | JavaScript |
size (curr.) | 207 kB |
stars (curr.) | 1697 |
created | 2019-04-05 |
license | MIT License |
SCAR: 1-click static website deployment on AWS
Tired of reading outdated blog posts or combing through verbose AWS documentation just to figure out how to deploy your blog? Deploying static websites on AWS shouldn’t be so scary.
SCAR is a deployment stack that make it easy for you to deploy a static website with a custom domain, SSL, and a CDN. All you need is an AWS account to get started in three simple steps:
Quick Start
1. Launch a new stack using the AWS console to create all the required resources
2. Update the settings at your domain registrar to use the Route 53 name servers
Find the name servers from your newly created Route 53 hosted zone, then update the name server settings at your registrar.
3. Validate the domain for your new ACM certificate
Find and expand the details of the certificate for your domain in the AWS console, then click the “Create record in Route 53” buttons in the two prompts for validation.
That’s all, folks!
Use the CloudFormation console to check the status of the stack. Once it has been created, navigate to your given domain, and you should see the SCAR welcome page. You can now upload the contents of your website directly with the S3 console, or use the AWS CLI for programmatic control.
Stack
SCAR is a deployment stack for static websites running entirely on AWS, using S3,
CloudFront, Amazon Certificate Manager, and Route 53. For a given
domain such as example.com
, the default SCAR stack will create the following:
- Two S3 buckets, one for storing the contents of your static website
(
www.example.com
) and another for redirecting requests for the apex domain (example.com
) to thewww
subdomain. - Two CloudFront distributions, one for each S3 bucket.
- One ACM public SSL/TLS certificate for both
example.com
and*.example.com
- One Route 53 hosted zone, with an
A
record for each CloudFront distribution.
The behavior for the default SCAR stack is to redirect all requests for the apex
domain to the www
subdomain, and to redirect all http
requests to https
.
All content will be stored in and served out of the www
S3 bucket.
Additional stacks with slight variations from the default stack are also available:
Name Server Settings
FAQ
How much will this cost?
For most sites, it will likely cost less than $1 per month. The cost for a Route 53 hosted zone is fixed at $0.50/month; the remaining CloudFront and S3 costs depend on the levels of traffic, but typically amount to a few cents for small levels of traffic.
What tool did you use to draw the diagram above?
The AWS CloudFormation Designer tool allows drag-and-drop creation of templates, and also creates diagrams from existing JSON or YAML template files.
Development
TODO:
- Additional templates for bare domain only, www->root
- Include certificate validation using CNAME DNS record as part of template. Until official CloudFormation support, potential solutions:
- Add custom resource to delete the CNAME DNS record used for validation in Route 53 hosted zone
License
Copyright © 2019