That's kind of the point. Most of those costs don't actually exist at small scales. The space required for one or two physical machines is negligible, with so little heat load you don't need a dedicated cooling system, there is no bandwidth cost when the server is in the same facility as the users, etc.
You pay Amazon to host your VMs because it's easier, not because you're saving money. There are only a small number of use cases (like having a highly inconsistent/unpredictable load from day to day) where paying someone to host for you will actually save you money.
You pay Amazon to host your VMs because it's easier, not because you're saving money. There are only a small number of use cases (like having a highly inconsistent/unpredictable load from day to day) where paying someone to host for you will actually save you money.