AWS EC2, a road-map to the cloud

I’ve been using Amazon’s EC2 cloud service for only a week and I absolutely love it! I wish my day-to-day operations at work could be this easy. It took maybe 30 minutes to go from creating my account to having WordPress installed and running on a Windows server. This is that server.

Amazon offers a free tier which gets you 750 hours per month for a year. Once you sign up or log in with your existing Amazon account just click on the EC2 service from the AWS console. EC2 Icon

Now that you’re in the EC2 control panel click on Launch Instance. Be sure to click Free Tier only in the quick start menu if you want to try this out for nothing.

Free Tier Only

This will limit your options a bit, but there’s still plenty of choices like the option to launch a Windows Server 2012 R2 instance. Once you’ve picked your OS it’s time to give it some hardware. You’ll see the free tier is a bit limited. You only get 1vCPU, 627 MB RAM, and 30 GB of protected storage. This is perfect for hosting an IIS instance, but you may want to step things up a bit for a virtual home lab.

Review your settings and click launch. It’s OK to leave the default security group for now. Deployment of your instance is pretty quick, in my case I had a VM powered up within 5 minutes.

Amazon generates a random password for the admin account, and to see that password you need to create a key pair. Give it a name and download the key somewhere that you won’t lose it. You only have the option to download the key when it’s created.

From your Instances view, select the new instance and click Connect at the top of your screen. Click “get password” and upload the key pair to show your admin password. Now RDP to your instance and you’re ready to roll.

A number of things excite me about what Amazon is doing…

1. Elastic IP’s

Elastic IP’s are static public IP addresses that can be assigned to any of your instances. Amazon limits each account to only five IP’s because as your datacomm team will tell you ad nauseam, IPv4 addresses are limited. What’s cool about these is that they can be instantly re-assigned to any of your instances. For example, say you’re hosting your virtualization blog on instance A but you’re doing a complete redesign on instance B. Once you’re ready to throw the switch you simply migrate your elastic IP to instance B and all your traffic is immediately redirected. No more waiting for DNS propagation! This would obviously be useful for manual fail overs also, but that requires me to have to log in and reassign the IP manually. I’d rather use a Load Balancer to do it for me.

2. Load Balancers

To be honest, I haven’t played with these yet but I love the fact they’re available. Not only will it distribute the load of incoming traffic across multiple instances and zones, but it provides for automatic fail over as well. What’s really cool is if you implement auto scaling and the load balancer detects a spike in demand or latency, it can add new instances to help handle the load.

3. Security Groups

Security groups are sets of firewall rules you can assign to multiple instances. For example I can create a set of rules for my web hosts that only allows ports 80 and 443 inbound, and a set for my FTP hosts that allows port 21. Once you have all of your application specific security groups configured, it’s simple to assign them to your instances. It’s not exactly mind-blowing, but makes things so much simpler.

4. Elastic Network Interfaces

Again, not something that I’ve played around with yet, but it has some neat uses. ENI’s are virtual NIC’s that can be attached to one instance and then migrated over to another. So, what’s cool about that? ENI’s can carry private IP addresses, elastic (public) IP addresses, security groups, and MAC addresses with them. I could see this as being useful in a fail over situation where your application is licensed on your MAC address or has hard-coded private IP’s that it must talk to.

For what it’s worth I think AWS is worth checking out on your own, especially when you can do it at no cost. Among AWS, Azure, and Google’s Compute engine, AWS is the only one to offer a free tier. After your one year of free VM use is up the cost is comparable to the other services. Give it a shot and leave your comments below.

Matt Bradford

Leave a Reply