Automatically publishing Hugo blogs to S3

The process traditionally is: create a new blog article, edit it some, save. run hugo on the command line to generate the static site. copy/sync the public directory onto your webserver. Needing a webserver, build environment and text editor is a bit of hassle. It’s all a bit manual too. I’ve previously blogged about hosting on S3, but I wanted to see if a static blog could be managed entirely on free/hosted services. [Read More]
hugo  blog  s3  aws  codeship 

Dynamic DNS for EC2 instances

The problem Booting instances on EC2 is easy. But once it comes to connecting to them, you end up having to copy around transient and unwieldy ec2-....compute.amazonaws.com host names. So you manually set up a CNAME in your DNS to give the instance a friendly name, but as soon as you stop and restart the instance, the ec2 name has changed so your DNS record needs updating. Rapidly gets tedious! [Read More]
aws  ec2  route53  dns  dyndns 

Migrating from GoDaddy to Amazon Route53

Due to the recent outage on GoDaddy a lot of people are reconsidering their DNS options. Amazon Route53 is a great option - cheap, flexible and well proven. To migrate you first need to export a zone file for the domain from GoDaddy. It’s been highlighted the zone files are slightly broken in CNAME records, so you may need run this fix over them: $ perl -pe 's/(CNAME .+)(?!.)$/$1./i' broken.txt > fixed. [Read More]
dns  route53  cli53  aws 

Route 53 latency based routing

Amazon have launched a neat new Route 53 feature: latency-based routing. The idea behind this is when someone hits www.yoursite.com this resolves to the closest server to them, cutting latency. This DNS cleverness has been used by the big boys for some time, but not been available to us mortals without shelling out big bucks to someone like neustar/ultradns (shudder). The ’location’ of your server is determined by multiple DNS records for a given lookup, each with an EC2 region attached to them (us-east-1, eu-west-1, etc. [Read More]
dns  route53  cli53  aws 

cli53

If you’ve used Amazon webservices much at all you’ll probably have come across their DNS service route53. This offers very competitively priced DNS hosting on the Amazon cloud. To install: $ pip install cli53 The first step everyone migrating commonly goes through is getting their existing zones into the system. Invariably these are in the industry-standard bind format, but route53 uses its own format. cli53 assists in offering easy import of bind format zones: [Read More]
dns  route53  cli53  aws 

Introducing s3grep

This is the first in a series of posts introducing some of the tools I’ve developed. The first is s3grep - parallelized grep for Amazon S3. The need for this one arose as one recent project processes and stores on S3 large (text) log files. Often to diagnose problems it’s really handy to check direct in the log files. Whilst some tricks with s3cmd and xargs can get you so far, it’s hard to parallelize and seems trickier than it should be. [Read More]
s3  grep  aws