How to take Amazon EC2 for a test-drive

With a few simple steps, you can stand up a capable virtual Linux server using Amazon Web Services in minutes. Best of all, it's free for a whole year

1 2 3 Page 2
Page 2 of 3

The storage allocation was another reason to go with the Micro instance. In this case, I needed only about 5GB of aggregate storage beyond the OS -- which, being Linux, wouldn't add up to a whole lot -- so I wouldn't have needed to add a secondary data-only volume to my instance. Using the Small instance, that means that I would have wanted to put both the OS and user data on the local instance storage rather than on an EBS volume, which is what using a Micro instance requires.

The important point is that dedicated instance storage is ephemeral; if you delete the instance or terminate it, you lose access to that storage and anything on it. Unlike instance storage, which lives on the local disk of the virtualization host that's running the instance, EBS storage is located on a shared device. That allows you to separate it from the instance, tie it to a different instance, take snapshots, or scale its size. I could also have tied an EBS volume to the Small instance, but that 160GB of ephemeral instance storage wouldn't have had much value to me, so it wasn't a decision maker.

You pay for EBS-based storage on a per-capacity and per-I/O basis. Capacity costs 10 cents per gigabyte per month (with snapshot storage costing 15 cents per gigabyte per month) and transactional I/O costs 10 cents per 1 million I/Os. For a low-traffic website with an 8GB EBS volume, this ends up being a few bucks a month on top of the cost of the instance. The priority of your I/O requests is determined by the size of the instance you're paying for. Thus, a Micro instance is on the bottom of the pile, where a large cluster instance gets a much higher EBS storage service level.

Internet access is also a pay-as-you-go cost. The Free Tier includes up to 15GB of bidirectional Internet transfer, which is more than enough for this application. Outside of the first year, transfer charges are based on a sliding scale with the first gigabyte of outbound transfer being free and subsequent outbound transfer costing 15 cents per gigabyte (transfer becomes progressively less expensive as the number goes up -- bottoming out at 8 cents per gigabyte over 150TB of transfer). Inbound transfer is always 10 cents per gigabyte.

So that initial 15GB allocation of inbound and outbound transfer ends up costing $3.60 per month after the trial period is up. It's worth noting you only pay for transfer that goes outside the EC2 availability zone where your instance is located -- so transfer to another running instance in the same zone doesn't cost anything. Similarly, traffic in between different EC2 availability zones (East to West, for example) is much cheaper at 1 cent per gigabyte.

IP addressing and simple firewalling are both free services included with EC2. Your instance will start up with a private IP address, which is behind a NAT firewall. You can influence the firewall config through the creation of Security Groups, allowing you to provision simple IP service, source, and destination ACLs to protect your instances. Any more complicated application-layer firewalling has to be done on your instances.

Beyond that, you can create an Elastic IP, essentially a static IP allocation you can attach to any instance you want (and later re-attach it to a different instance). Without an Elastic IP, you still get a public IP, but it's tied to the instance and isn't portable. Elastic IPs don't cost anything so long as they are tied to an active instance -- if you sit on one without using it, you end up paying 1 cent per hour for the privilege of hanging onto it.

1 2 3 Page 2
Page 2 of 3
How to choose a low-code development platform