2013-03-08 21 views
1

對於我們的服務,我們使用Azure InstanceInputEndpoints直接連接到實例。我們可以發現通過外部端口號:Windows Azure爲InstanceInputEndpoint獲取外部DNS

RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["end-point-name"].PublicIPEndpoint.Port 

我們需要的是一種方法找到外部DNS名稱或可用於通過負載平衡器連接到該實例的IP地址,但如何才能找到它?我們需要生產和分期環境的正確名稱。我們寧願讓DNS名稱,如

our-service.cloudapp.net 

回答

1

有沒有辦法從任何類型的DNS查找獲取DNS名稱,因爲Azure的DNS不能supprt反向查找。並且服務名稱不保存在服務運行時中。

獲取DNS名稱的唯一方法是使用託管服務中的服務管理API。在http://blogs.msdn.com/b/clouddeployments/archive/2010/05/12/making-calls-to-the-service-management-api-from-a-service-running-in-windows-azure.aspx有一個例子,但它有點舊。如果你環顧四周,會有更新的例子。

一對夫婦建議:

  1. 爲什麼需要DNS名稱?爲什麼不使用從IP端點獲得的IP地址?
  2. 爲什麼您使用cloudapp.net域名開頭?您應該註冊您自己的域名(即www.myapp.com),並將其設置爲您的cloudapp.net URL的CNAME。然後,您可以撥打www.myapp.com的電話:以便您從端點集合中獲得的所有內容都是端口號。
+1

1 - >我們正在運行一個工作者角色,需要在其他服務的某個地方註冊它的公共連接端點。因此我們需要實例的IP或DNS名稱。我們可以將其固定,但我們更願意從實例中獲取它,以便在分段運行時對其進行測試。終點的公共IP地址始終設置爲255.255.255.255,因此無法使用。 2 - > cloudapp.net就是一個例子。我們將在發佈時使用我們自己的域名。 – 2013-03-11 11:09:21