Tor in the Elastic Computing Cloud: six months later.

Sep 08, 2011
Tags: amazon, analysis, data, ecc, tor

Slightly over six months months ago (almost to the day) I set up a Tor node using a micro-sized instance in Amazon's Elastic Computing Cloud (or EC2), a service which lets you run virtual machines in Amazon's network for very little money per month at all. As before, my virtual Tor router is running in the free service tier, which lets me push 30 gigs of network traffic every month. I've configured Tor to push rather more traffic than that (100 gigs per month at an average speed of 300 KB per second) and automatically go into hibernation mode (dropping out of the Tor network) because I really don't have a lot of money to put toward this project. A few days ago I got it into my head to go through what little data that particular server logs (basically, debugging information if anything goes wrong, and very little seems to go wrong) and I thought that I should post some of what I found.

Tor nodes keep track of how much traffic they've moved by keeping a running tally which begins at 0000 hours on the first of the month (by the system's internal clock) or whenever the Tor daemon starts up (whichever is more recent). Whenever a Tor node shuts down (either when the daemon is terminated or the bandwidth limit is reached and the software goes into hibernation) the running count is re-set. The date and time of when a node goes into hibernation goes into the system logs (one of the few things that do, by default). So, I sat down this afternoon with a calculator and my system logs and did a little figuring.

On average, my EC2 Tor node is active for approximately 14.765 days out of every month. I don't know how many other Tor nodes on the Net contact my router, how much traffic each of them pushes or pulls, how often each connection lasts, or what my node is being used for (middleman router, directory cache, hidden service rendezvous). The amount of time my EC2 node was active in the Tor network varies quite a bit: the longest period of time it took to exhaust 100 GB of traffic was 15 days and five minutes, the shortest period of time was 6.97 days. I don't keep audit logs of the node's CPU utilization but I've never seen it go over 0.04 on the one minute average. Amazon seems to have changed their pricing structure on bandwidth for the free tier (it's not actually free - you pay for bandwidth if you go over 30 GB in a month), so I went from paying about $22.64us every month to $11.33us for August of 2011. If I wanted to I could easily set up another node under the same circumstances.

I don't know what good this will do the Tor community but I figure that someone will find it interesting, but more hopefully I hope that someone finds it inspiring and they set up their own Tor node to add to the project.