The virtual IP address (VIP) assigned to an Azure VM for external internet access to the VM through endpoints is typically dynamic, but stays consistent as long as the VM remains running. Azure provides the ability to reserve a VIP for an ongoing charge -- for details see https://azure.microsoft.com/en...-reserved-public-ip/.
The internal IP address of a VM on its virtual network is normally assigned automatically by DHCP. Azure provides no means to create DHCP reservations to make a VM's internal address static, but the lease is many-years-long and can be effectively treated as static for some purposes as long as the VM continues to run. Azure provides no means to exclude ranges on the virtual network subnet from DHCP assignment to use for static addresses, but there are three approaches to assigning static IPs:
--Statically assign an IP high in the DHCP range. The virtual network DHCP makes assignments starting from the bottom of the range, so as long as there aren't enough persistently-running VMs on the same virtual network to cause assignment into the high ranges, it can be safe in some cases to assign a high-range static IP address within the VM's operating system (such as the SnapCLOUD web UI).
--Use the Set-AzureStaticVNetIP PowerShell command to set a preferred IP on an existing VM. This causes the VM to request that Azure assign a specific IP address to the VM on boot. This is not guaranteed and can't be treated as a reservation -- this IP can conflict with a DHCP-assigned address and cause an error on VM startup. For details, see http://michaelwasham.com/windo...n-a-virtual-network/.
--Use PowerShell to create a new VM with a static IP. This results in a guaranteed static IP assignment but can only be performed when creating a new VM from an image. For details, see https://azure.microsoft.com/en...reserved-private-ip/