你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

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

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

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

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

如果没有 Azure 订阅,请在开始之前创建一个 Azure 免费帐户

先决条件

  • 本文需要 Azure CLI 2.0.28 或更高版本。 如果使用 Azure Cloud Shell,则最新版本已安装。

创建资源组

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

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


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

创建流量管理器配置文件

使用 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 myAppServicePlanEastUS \
    --resource-group myResourceGroup \
    --location eastus \
    --sku S1

az appservice plan create \
    --name myAppServicePlanWestEurope \
    --resource-group myResourceGroup \
    --location westeurope \
    --sku S1

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

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


mywebappeastus='myWebAppEastUS'$RANDOM
myWebAppWestEurope='myWebAppWestEurope'$RANDOM

az webapp create \
    --name $mywebappeastus \
    --plan myAppServicePlanEastUS \
    --resource-group myResourceGroup

az webapp create \
    --name $myWebAppWestEurope \
    --plan myAppServicePlanWestEurope \
    --resource-group myResourceGroup

添加流量管理器终结点

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

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

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

美国东部终结点


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

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

西欧终结点


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

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

测试流量管理器配置文件

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

在下面的示例中,将 替换为在上一部分为每个区域创建的应用名称。<><> 然后,将 <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.net

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

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

    注意

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

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

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

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

清理资源

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


az group delete \
    --resource-group myResourceGroup

后续步骤

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