I build things.

OpenVPN on AWS in 4 clicks

Run a personal VPN server in AWS using CloudFormation and OpenVPN

There’s been a sudden general interest in VPNs again with the recent policy developments in the US. There are many important steps users can take to bolster their privacy and you can get a good run down of them in this EFF article. It is worth re-stating that VPNs are not a magic bullet. They typically just shift the threat downstream. A substantial number of VPN providers are not trustworthy and likely more dangerous than your ISP.

Basic CD With CodeBuild

Automated deployment from CodeCommit to S3 through CodeBuild/Lambda

I’ve been meaning to start experimenting with CodeBuild since it’s announcement and decided to put something basic but flexible together as a proof of concept. The TL;DR was to create an environment with a CodeCommit repo and a push trigger. That trigger fires a Lambda, which invokes a CodeBuild project, depositing a set of the repo files into an S3 bucket. It is possible to include these in a CodePipeline, rather than trigger a Lambda from CodeCommit, but there are a couple reasons I decided to go the Lambda route.

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.