Skip to content

Instantly share code, notes, and snippets.

@bartimaeus
Created November 8, 2012 17:59
Show Gist options
  • Save bartimaeus/4040420 to your computer and use it in GitHub Desktop.
Save bartimaeus/4040420 to your computer and use it in GitHub Desktop.
Updated Route53 Record When EC2 Instance Starts
# /home/ubuntu/bin/update-dns.rb
require 'rubygems'
require 'open-uri'
require 'route53'
zone = "bartimae.us"
record_type = "A"
ip_address = open("http://169.254.169.254/latest/meta-data/public-ipv4") { |f| f.read }
begin
conn = Route53::Connection.new(ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'])
conn.get_zones(zone).first.get_records(record_type).each {|record| record.update(record.name, record.type, record.ttl, [ip_address])}
puts "DNS Updated for #{zone}"
rescue RuntimeError
puts "Error accessing Route53 with supplied credentials"
end
#!/bin/bash
su - ubuntu -c "ruby $HOME/bin/update-dns.rb"
# file location: /etc/init.d/update-dns
@bartimaeus
Copy link
Author

Run /etc/init.d/update-dns when EC2 instance boots with sudo update-rc.d update-dns defaults

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment