【问题标题】:Azure Traffic Manager for switching to different API Management ServiceAzure 流量管理器,用于切换到不同的 API 管理服务
【发布时间】:2019-12-17 20:41:30
【问题描述】:

所以我正在构建脚本以使用 PowerShell 中的 Az 模块部署 Azure 资源。我是 Azure 流量管理器的新手,所以我想知道我们想要做的事情是否可行,如果可以,如何实现。

我们有一个 API 管理服务 (APIMS),其中包含一些 API,这些 API 指向 Azure 中的几个不同的 Web 应用程序。所以它目前的工作方式是我们有一个客户端应用程序,它将通过其 APIMS URL 发布到特定的 API 操作。

我们正在考虑使用流量管理器来将流量从一个 APIMS 转移到另一个 APIMS,以防我们需要创建新的 APIMS。我可以使用其公共 IP 地址将现有 APIMS 作为端点添加到流量管理器作为外部端点。但除此之外,以下是我不确定的:

  • 流量究竟如何通过流量管理器、APIMS 路由到特定的 API 帖子? (例如,客户端应用程序需要指定什么来发送它的帖子?)。或者这甚至会起作用吗??
  • 如果我们创建一个新的 APIMS,我们是否可以简单地将其作为新的端点添加到流量管理器(同样,通过其 IP 地址作为外部端点),然后删除旧的 APIMS 端点?

我确实找到了this question that's similar,但答案是使用Add-AzureTrafficManagerEndpoint 而不是New-AzTrafficManagerEndpoint,这是我正在使用的,显然不支持-DomainName 作为参数。

【问题讨论】:

    标签: azure powershell url-routing azure-api-management azure-traffic-manager


    【解决方案1】:

    流量管理器不路由流量,它只做域名解析。您可以为此使用 TM。对于流量管理器中的自定义域(例如 contoso.com),您可以添加指向 contoso.azure-api.net 的 CNAME 记录(最好使用 CNAME 而不是 A,并且 APIM 服务 IP 在某些情况下可能会更改)。并在 APIM 中为 contoso.com 添加 SSL 证书。在该设置中会发生什么:

    1. 客户想向https://contoso.com/myapi提出请求
    2. 客户端将对 contoso.com 执行 DNS 查找并查看指向 contoso.azure-api.net 的 CNAME 记录
    3. 客户端将对 contoso.azure-api.net 执行 DNS 查找并查看 APIM IP 地址
    4. 客户端将尝试打开与 APIM 的 SSL 连接
    5. 具有可用 SSL 证书的 APIM 将接受连接
    6. 客户端将发送请求。

    除了将其设置为使用“contoso.com”作为 API 的主机名之外,所有这些都不需要您的客户端进行任何特殊配置。稍后如果您想切换到不同的 APIM 服务,您可以去更新 TM。客户端不需要任何更改。

    要知道的一件事是,此特定设置本身不需要 TM。因为您真正需要的是来自任何 DNS 提供商的自定义域,因为将流量从一个 APIM 切换到另一个 APIM 所需要做的就是更新 CNAME 记录。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-25
      • 1970-01-01
      • 1970-01-01
      • 2023-03-08
      • 2013-12-05
      • 1970-01-01
      相关资源
      最近更新 更多