I build things.

Route 53 Apex Domain External Hosting

Using S3 to redirect your Route 53 managed apex domain to 3rd party CNAME hosting.

If you are hosting content with a 3rd party provider that relies on a CNAME for using a custom domain (i.e. SquareSpace) and your domain is managed in Route 53 you will find you have an issue with your apex domain (the domain without the “www.” at the front, so for this website it would be “mikeapted.com”). While some managed DNS providers (like DNSimple) allow you to create an ALIAS record at the apex, this is not an option in Route 53.

ACM Validation Domain

Sending validation emails to apex domain for subdomain requests.

The release of AWS Certificate Manager has been a fantastic resource for zero cost issuance and management of SSL/TLS certificates for use in your AWS environments. As per the ACM marketing collateral: With AWS Certificate Manager, you can quickly request a certificate, deploy it on AWS resources such as Elastic Load Balancers or Amazon CloudFront distributions, and let AWS Certificate Manager handle certificate renewals. SSL/TLS certificates provisioned through AWS Certificate Manager are free.

CloudFormation Template Basics

Defining your resources in JSON.

An AWS CloudFormation template, which is a JSON document, may contain the following sections (keys): Parameters Conditions Mappings Resources Outputs Note that only the Resources section is required to use a template, the rest are optional. In addition you can include: AWSTemplateFormatVersion Description Metadata Parameters Parameters allow you to accept input into your CloudFormation stacks. It might be something as simple as the application name, it might be database parameters, it might be instance types for your EC2 instances.

Intro to CloudFormation

Infrastructure as Code.

Over the last several months I’ve had the opportunity to start working directly with AWS CloudFormation and it’s already become a staple of any new AWS related project. CloudFormation is a service that allows you define, create, iterate and destroy AWS infrastructure from a JSON formatted template or set of templates (you can also template external resources with more advanced tooling). At its simplest you define a Stack in JSON, and hand it off to CloudFormation to manage the provisioning of all the resources.

Drawing AWS diagrams with Cloudcraft

Drag and drop architecture diagrams.

The folks over at Cloudcraft have created a great resource to easily build and manage architecture diagrams. You can drag and drop, edit and manipulate icons for all AWS services, and add text, visual aids and even Font Awesome icons. It’s also a free service. As a quick example below is how this site, statically hosted in an S3 bucket, served through CloudFront and using API Gateway + Lambda + SES to handle dynamic functionality (processing a contact form) would be modeled: