In under 10 minutes, I built a very small, authoritative DNS server. It is not large as it handles only about 80 domains and does not offer recursive services.
This is the smallest instance available from Google:
- 1 vCPU core
- 600 MiB RAM
- 10 GiB persistent storage (boot disk)
I estimate my price per month to run this dedicated DNS server at $14.08 per month (it is a f1-micro instance).After I installed the SDK, I ran the following commands:
% gcloud config set account ACCOUNT_NAME
% gcloud auth login
% gcutil addinstance ns3-geeks-org --project ivory-tower-001 --machine_type=f1-micro --image=debian-7 --on_host_maintenance=migrate --automatic_restart
% gcutil --project=ivory-tower-001 addfirewall icmpfirewall --allowed=icmp
% gcutil --project=ivory-tower-001 addfirewall dnsfirewall --allowed="udp:53,tcp:53"
% gcutil --project=ivory-tower-001 addfirewall snmpfirewall --allowed="udp:161" --allowed_ip_sources=IP_NETWORK,IP_NETWORK2
So, Debian based system. I’ll need to build my custom image for other distributions (Ubuntu is the only version I can really stomach) or try for a FreeBSD build.
Additional items on the server:
% sudo su - root
# apt-get install bind9 dnsutils snmpd
and configure appropriately.
I’ll lock down SSH later today as well via gcutil updates.
I use LogicMonitor to do the monitoring of my running systems that aren’t just out there to test with. I am going to leave this system running for a while as a third authoritative DNS server while I dig into how to build my own images for deployment.
Hat top Bob and Jeremy for the inspiration for the name of my initial project.