/cloudkj/scar

cloudkj/scar

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

Launch stack

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 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 the www 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:

Behavior Default WWW->Apex Apex only
Apex domain requests Redirect to www
www subdomain requests Redirect to apex domain N/A
http requests Redirect to https Redirect to https Redirect to https
Launch stack (Coming Soon) (Coming Soon)

Name Server Settings

Development

TODO:

  • Additional templates for bare domain only, www->root
  • See if there’s a way to use same set of name servers for Route 53 zone to avoid
    having to always look up name servers
  • 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