快速入门:使用 Azure CLI 创建流量管理器配置文件以实现 Web 应用程序的高可用性

本快速入门介绍如何创建流量管理器配置文件,以便实现 Web 应用程序的高度可用性。

在本快速入门中,我们将创建 Web 应用程序的两个实例。 每个实例在不同的 Azure 区域运行。 需根据终结点优先级创建流量管理器配置文件。 此配置文件将用户流量定向到运行 Web 应用程序的主站点。 流量管理器持续监视 Web 应用程序。 如果主站点不可用,它会提供目标为备份站点的自动故障转移。

流量管理器部署环境示意图。

如果没有 Azure 试用版订阅,请在开始前创建 Azure 试用版订阅

先决条件

  • 如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI

    • 如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅使用 Azure CLI 登录

    • 出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展详细信息,请参阅使用 Azure CLI 的扩展

    • 运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade

  • 本文需要 Azure CLI 2.0.28 或更高版本。

备注

在可以在由世纪互联运营的 Microsoft Azure 中使用 Azure CLI 之前,请先运行 az cloud set -n AzureChinaCloud 来更改云环境。 若要切换回 Azure 公有云,请再次运行 az cloud set -n AzureCloud

创建资源组

使用 az group create 创建资源组。 Azure 资源组是在其中部署和管理 Azure 资源的逻辑容器。

以下示例在“chinaeast” 位置创建名为“myResourceGroup” 的资源组:


  az group create \
    --name myResourceGroup \
    --location chinaeast

创建流量管理器配置文件

使用 az network traffic-manager profile create 创建流量管理器配置文件,以根据终结点优先级定向用户流量。


mytrafficmanagerprofile='mytrafficmanagerprofile'$RANDOM

az network traffic-manager profile create \
	--name $mytrafficmanagerprofile \
	--resource-group myResourceGroup \
	--routing-method Priority \
	--path '/' \
	--protocol "HTTP" \
	--unique-dns-name $mytrafficmanagerprofile  \
	--ttl 30 \
	--port 80

创建 Web 应用

本快速入门需要两个部署在两个不同的 Azure 区域(中国东部和中国北部)的 Web 应用程序实例。 每个都可以充当流量管理器的主终结点和故障转移终结点。

创建 Web 应用服务计划

使用 az appservice plan create 为要部署在两个不同 Azure 区域中的两个 Web 应用程序实例创建 Web 应用服务计划。


az appservice plan create \
    --name myAppServicePlanChinaEast \
    --resource-group myResourceGroup \
    --location chinaeast \
    --sku S1

az appservice plan create \
    --name myAppServicePlanChinaNorth \
    --resource-group myResourceGroup \
    --location chinanorth \
    --sku S1

在应用服务计划中创建 Web 应用

在应用服务计划中使用 az webapp create 在“中国东部”和“中国北部”Azure 区域中创建 Web 应用程序的两个实例。


mywebappchinaeast='myWebAppChinaEast'$RANDOM
myWebAppchinanorth='myWebAppChinaNorth'$RANDOM

az webapp create \
    --name $mywebappchinaeast \
    --plan myAppServicePlanChinaEast \
    --resource-group myResourceGroup

az webapp create \
    --name $myWebAppchinanorth \
    --plan myAppServicePlanChinaNorth \
    --resource-group myResourceGroup

添加流量管理器终结点

使用 az network traffic-manager endpoint create 将两个 Web 应用作为流量管理器终结点添加到流量管理器配置文件,如下所示:

  • 确定 Web 应用 ID,并将位于“中国东部”Azure 区域的 Web 应用添加为主要终结点,以路由所有用户流量。
  • 确定 Web 应用 ID,并将位于“中国北部”Azure 区域的 Web 应用添加为故障转移终结点。

当主终结点不可用时,流量自动路由到故障转移终结点。

中国东部终结点


App1ResourceId=$(az webapp show --name $mywebappchinaeast --resource-group myResourceGroup --query id --output tsv)

az network traffic-manager endpoint create \
    --name $mywebappchinaeast \
    --resource-group myResourceGroup \
    --profile-name $mytrafficmanagerprofile \
    --type azureEndpoints \
    --target-resource-id $App1ResourceId \
    --priority 1 \
    --endpoint-status Enabled

中国北部终结点


App2ResourceId=$(az webapp show --name $myWebAppchinanorth --resource-group myResourceGroup --query id --output tsv)

az network traffic-manager endpoint create \
    --name $myWebAppchinanorth \
    --resource-group myResourceGroup \
    --profile-name $mytrafficmanagerprofile \
    --type azureEndpoints \
    --target-resource-id  $App2ResourceId \
    --priority 2 \
    --endpoint-status Enabled

测试流量管理器配置文件

在此部分,需检查流量管理器配置文件的域名。 此外还需将主终结点配置为不可用。 最后可以看到该 Web 应用仍然可用。 这是因为流量管理器将流量发送到故障转移终结点。

在下面的示例中,将 <app1name_chinaeast> 和 <app2name_chinanorth> 替换为在上一部分为每个区域创建的应用名称。 然后,将 <profile_name> 替换为上一部分中使用的配置文件名称。

确定 DNS 名称

使用 az network traffic-manager profile show 确定流量管理器配置文件的 DNS 名称。


az network traffic-manager profile show \
    --name $mytrafficmanagerprofile \
    --resource-group myResourceGroup \
    --query dnsConfig.fqdn

复制 RelativeDnsName 值。 流量管理器配置文件的 DNS 名称为“http://<relativednsname>.trafficmanager.cn”。

查看正在运行的流量管理器

  1. 在 Web 浏览器中输入流量管理器配置文件的 DNS 名称 (http://<relativednsname>.trafficmanager.cn),以查看 Web 应用的默认网站。

    备注

    在本快速入门方案中,所有请求都路由到主终结点。 它设置为“优先级 1”。

  2. 若要查看流量管理器故障转移如何进行,请使用 az network traffic-manager endpoint update 禁用主要站点。

    
    az network traffic-manager endpoint update \
        --name $mywebappchinaeast \
        --resource-group myResourceGroup \
        --profile-name $mytrafficmanagerprofile \
        --type azureEndpoints \
        --endpoint-status Disabled
    
    
  3. 复制流量管理器配置文件的 DNS 名称 (http://<relativednsname>.trafficmanager.cn),以在新的 Web 浏览器会话中查看该网站。

  4. 验证 Web 应用是否仍然可用。

清理资源

完成后,请使用 az group delete 删除资源组、Web 应用程序和所有相关资源。


az group delete \
    --resource-group myResourceGroup

后续步骤

在本快速入门中,我们创建了一个可为 Web 应用程序提供高可用性的流量管理器配置文件。 若要详细了解如何路由流量,请继续学习流量管理器教程。