I had always been using the normal public IP to communicate between my virtual machine. However as I see in the portal there is an INTERNAL IP ADDRESS and I wonder what is the practical use of that?
Is it that using this internal IP to communicates between VMs would be faster? And is this restricted to VM in the same geo-region?
Internal IP addresses designate which device in a local network is your computer, compared to other devices which might be using the intranet connection. An internal IP address is also called a local IP address. Usually, this IP address begins with 192.168.
Each configuration is assigned one static or dynamic private IP address.
Public IP addresses allow Internet resources to communicate inbound to Azure resources. Public IP addresses enable Azure resources to communicate to Internet and public-facing Azure services. The address is dedicated to the resource, until it's unassigned by you.
Used for link-local addresses between two hosts on a single link when no IP address is otherwise specified, such as would have normally been retrieved from a DHCP server. Used for local communications within a private network.
With Virtual Machines, you use external IP address (Input Endpoints, or Instance Input Endpoints) for external communication. The former is load-balanced, while the latter is direct-mapped to a specific virtual machine instance.
Within a cloud deployment, you may have several Virtual Machines. They may each talk directly with each other via IP / port. Each virtual machine will be assigned an IP address local to your cloud deployment's network (that is, the IP addresses are local to the deployment; you cannot talk with anyone else's VMs, unless there's a Virtual Network configured).
The advantage of direct IP internally: You don't need to enable any type of security. For instance: if you have a WCF service that you only access internally, you won't have to worry about SSL, certificates, etc.
One clarification on performance, from @Eilistraee's answer: There's no penalty for communicating with the external ip address. While the request does get routed to the data center's edge, your call won't actually leave the data center. Furthermore: As long as your communication is between VMs in the same data center, there's no outbound traffic costs.
Now: With Web/Worker roles in Cloud Services, you do not have carte blanche to talk to any IP address internally. Rather, you define specific Internal Endpoints, which ultimately map to a specific port on your web or worker instances (and each instance of a web or worker role will listen on that same port, though your code will have to manually choose which web/worker instance to talk to on that internal endpoint).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With