1

对于我们的服务,我们使用 Azure InstanceInputEndpoints 直接连接到实例。我们可以通过以下方式找到外部端口号:

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

我们需要一种方法来找到外部 DNS 名称或 IP 地址,这些名称可用于通过负载均衡器连接到此实例,但我们如何才能找到呢?我们需要生产和登台环境的正确名称。我们更喜欢获取 DNS 名称,例如

our-service.cloudapp.net
4

1 回答 1

1

由于 Azure DNS 不支持反向查找,因此无法从任何类型的 DNS 查找中获取 DNS 名称。并且服务名称不会保存在服务运行时中。

获取 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: 以便从端点集合中获取的只是端口号。
于 2013-03-08T22:21:03.660 回答