Last week, Anthony and I attended the Toronto Azure Group inaugural meeting. It was a great evening with a good attendance. The presenters covered an introduction to Azure IaaS Services and a session on transforming the Datacenter. and it lead to a lot of conversations.
One of these conversations was around virtual machine billing. As it is stated on the Azure documentation:
“We charge for Virtual Machines by the minute. Prices are listed as hourly rates and we bill based on total number of minutes when your VMs run for a partial hour. Windows prices below include Windows Server licensing cost.”
But it’s not always clear when we bill for a stopped VM.
Here is a quick step-by-step to ensure you are shutting down your VMs properly to avoid billing.
1- Navigate to the FREE Trial Page Found here: Windows Server 2012 R2 Evaluation Page and Select Windows Server 2012 R2 Datacenter on Windows Azure from the drop-down list and click the GET STARTED NOW button to continue. (you’ll be asked to authenticate yourself with your Microsoft Account)
2- On the page following the Windows Server 2012 R2 evaluation page, register for a Windows Azure FREE Trial subscription by clicking on the TRY IT NOW button.
3- Complete each field on the registration form and click the Purchase button.
and your Trial is ready to go.
4- Create a VM in the portal
Once the machine is provisioned and running the billing is on. If you want to stop your VM form accruing credits against your trial allocation, against your MSDN subscription Azure benefits or your Pay as you go subscription you need to ensure that the following requirements are met.
To ensure that you are not billed, stop the VM from the management portal. not a shutdown from inside the VM.
You can also stop the VM through Powershell by calling ShutdownRoleOperation with "PostShutdownAction" equal to "StoppedDeallocated".
you can tell if you’re in the right state by looking at the Portal Dashboard.
This next screen capture shows a machine that has a “Stopped” state after I just did a Shutdown from inside the VM.
Bottom line is if you don't see “(Deallocated)” you’re being charged. Period!
I hope this clears things up.