You definitely want a private lan - I have a terabyte of traffic a month between my main web server and my database server, and I wouldn't want to get billed for that! (Particularly since I'd get billed coming and going...)
What application are you running? And what is the average CPU utilisation at the moment?
The best way to split it up depends on how much work the application is doing and how much work the database is doing, and that depends on how the application is written.
Generally you will have the more powerful server as the DB server, that way you can easily add more webservers later one. Also take a look at how optimized everything is as that can help the load significantly.
John W, CISSP, C|EH
MS Information Security and Assurance ITEagleEye.com - Server Administration and Security Yawig.com - Managed VPS and Dedicated Servers with VIP Service
I'm interested in helping you out here however I can. Many times if you are looking to split out database load from your single-server config, it may just be more cost effective to tune your current config options and add something like Memcache to the solution and not get a second server, it all depends on details I don't have from you right now.
Would you be able to post your configs for MySQL, I can try to help you wrestle some more performance from it. Also, some small description of what you use the machines for and what kind of traffic/usage you are seeing.
I'll second the private LAN from the web server to db server, if you do in fact need a second machine.