What solution you use ultimately depends on how much time you have on your hands. Before I go any further, a quick disclaimer, I may be a bit biased in what I say, see my signature, but I will try to be as objective as possible.
Firstly some comments, while I understand why you may want to limit end user accounts to 1GB a month and throttle their connections, this is not necessarily the best approach. An alternative is to charge on a per Megabyte basis and users prepay for their purchases, with this approach you have natural contention management, users pay more for heavy downloading and since your revenue will be higher as downloads increase you may be able to justify getting a faster line.
When it comes to the solution, you have three choices, either host the solution yourself, use a 'software-as-a-service' solution or outsource all of it (installation & operations). For the first option you need to have a reliable host, end users will clearly not be impressed if their service is interrupted for whatever reason. This option is attractive if you are eager to learn (about radius in particular) and have the time to do it. As for the second and third options, there are a number of solutions and operators in the market.