Friday, May 6, 2016

AWS Freebie

Amazon Web Services (AWS) allows you to have really tiny VM for free during one year. It is limited in CPU, RAM and Storage, but that's enough resource and time for you to get along with all terminology and procedures. That's a huge advantage compared to other Cloud services from big players like Google Cloud Platform and Microsoft Azure.

Since this is "free", you won't be able to have your own static public IP. But if you have your own domain, you can setup a free account from Dynamic DNS service (ddns.net) and create a record that will address the public IP change. So you will always be able to be addressed by your own domain, AWS instance (VM) will update Dynamic DNS.

I decided to host my professional website at AWS under my domain edsilva.us. Here are steps in a nutshell. Please advise I have two domains (edsilva.us and havai.us) at AWS, so you will see CNAME set on both domains:

  1. Create hostname at DDNS for AWS instance (I called id "havai-us.ddns.net")
  2. Configure RPM package "noip" to authenticate your AWS instance (vi /etc/no-ip2.conf)
  3. Create DNS CNAME on your domain to pointing to DDNS hostname

Finally, had apache virtual host configured to understand which Document Root should be shown when someone is coming for edsilva.us (whenever is possible I avoid "www").

[root@aloha letsencrypt]# nslookup -q=any www.edsilva.us
Server: 172.31.0.2
Address: 172.31.0.2#53

Non-authoritative answer:
www.edsilva.us canonical name = aloha.havai.us.

I created CNAME DNS record to point "www.edsilva.us" to "aloha.havai.us" and "aloha.havai.us" to "havai-us.ddns.net":

[root@aloha letsencrypt]# nslookup -q=any www.edsilva.us
Server: 172.31.0.2
Address: 172.31.0.2#53

Non-authoritative answer:
www.edsilva.us canonical name = aloha.havai.us.

[root@aloha letsencrypt]# nslookup -q=any aloha.havai.us
Server: 172.31.0.2
Address: 172.31.0.2#53

Non-authoritative answer:
aloha.havai.us canonical name = havai-us.ddns.net.


Here is some info about noip package (RPM):

Vendor      : Fedora Project
URL         : http://www.no-ip.com
Summary     : A dynamic DNS update client
Description :
Keep your current IP address in sync with your No-IP host or domain with
this Dynamic Update Client (DUC). The client continually checks for IP
address changes in the background and automatically updates the DNS at
No-IP whenever it changes.