2013-04-20 63 views
7

我一直使用普通的公共IP在我的虚拟机之间进行通信。但是,正如我在门户网站中看到的那样,有一个内部IP地址,我想知道它的实际用途是什么?Windows Azure - 内部IP地址的用途是什么?

使用此内部IP在VM之间进行通信会更快吗?这是限制在同一地理区域的VM吗?

回答

12

使用虚拟机,可以使用外部IP地址(输入端点或实例输入端点)进行外部通信。前者是负载平衡的,而后者是直接映射到特定的虚拟机实例。

在云部署中,您可能有多个虚拟机。他们可能每个人都通过IP /端口直接相互通话。每个虚拟机将被分配一个本地到您的云部署网络的IP地址(也就是说,IP地址对于部署来说是本地的;除非配置了虚拟网络,否则您无法与其他任何人的VM交谈)。

内部直接IP的优点:您不需要启用任何类型的安全性。例如:如果你有一个WCF服务,你只能在内部访问,你不必担心SSL,证书等。

从@ Eilistraee的回答中得到的一个解释:有没有与外部IP地址。虽然请求确实路由到数据中心的边缘,但您的呼叫实际上不会离开数据中心。此外:只要您的通信位于同一数据中心内的虚拟机之间,就没有外部流量成本。

现在:通过云服务中的Web/Worker角色,您不必在任何地方与任何IP地址通信。相反,您需要定义特定的内部端点,最终映射到您的Web或工作者实例上的特定端口(并且每个Web或工作者角色的实例都将监听该端口,尽管您的代码必须手动选择哪个Web/Worker实例在该内部端点上进行交谈)。

+0

非常感谢您的回答。这很好。我假设如果你打电话给负载平衡主机名,你会得到相同的行为? – Eilistraee 2013-04-20 16:44:35

+0

如果您调用一个端口号设置为负载平衡端口的主机名,那么它将在各种虚拟机之间进行负载平衡(可能类似mysite.cloudapp.net或mysite.cloudapp.net :10000)。如果它是输入实例端点,例如端口7474映射到一个特定的服务器,那么将不会有任何负载平衡(所以也许你的数据库服务器通过mysite.cloudapp.net:7474访问,这路由到一个确切的VM)。 – 2013-04-20 18:37:05