Поделиться через


Краткое руководство: Создание профиля Менеджера трафика с помощью шаблона ARM

В этом кратком руководстве описывается, как использовать шаблон Azure Resource Manager (шаблон ARM) для создания профиля диспетчера трафика с внешними конечными точками с помощью метода маршрутизации производительности.

Шаблон Azure Resource Manager — это файл нотации объектов JavaScript (JSON), который определяет инфраструктуру и конфигурацию проекта. В шаблоне используется декларативный синтаксис. Вы описываете предполагаемое развертывание без написания последовательности команд программирования для создания развертывания.

Если среда соответствует предварительным требованиям и вы знакомы с использованием шаблонов ARM, нажмите кнопку Развертывание в Azure. Шаблон откроется на портале Azure.

Кнопка для развертывания шаблона Resource Manager в Azure.

Prerequisites

Если у вас нет подписки на Azure, создайте бесплатную учетную запись перед началом.

Проверьте шаблон

Шаблон, используемый в этом кратком руководстве, взят из шаблонов быстрого запуска Azure.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.25.53.49325",
      "templateHash": "17662726020644193974"
    }
  },
  "parameters": {
    "uniqueDnsName": {
      "type": "string",
      "metadata": {
        "description": "Relative DNS name for the traffic manager profile, must be globally unique."
      }
    }
  },
  "resources": [
    {
      "type": "Microsoft.Network/trafficmanagerprofiles",
      "apiVersion": "2022-04-01",
      "name": "ExternalEndpointExample",
      "location": "global",
      "properties": {
        "profileStatus": "Enabled",
        "trafficRoutingMethod": "Performance",
        "dnsConfig": {
          "relativeName": "[parameters('uniqueDnsName')]",
          "ttl": 30
        },
        "monitorConfig": {
          "protocol": "HTTPS",
          "port": 443,
          "path": "/",
          "expectedStatusCodeRanges": [
            {
              "min": 200,
              "max": 202
            },
            {
              "min": 301,
              "max": 302
            }
          ]
        },
        "endpoints": [
          {
            "type": "Microsoft.Network/TrafficManagerProfiles/ExternalEndpoints",
            "name": "endpoint1",
            "properties": {
              "target": "www.microsoft.com",
              "endpointStatus": "Enabled",
              "endpointLocation": "northeurope"
            }
          },
          {
            "type": "Microsoft.Network/TrafficManagerProfiles/ExternalEndpoints",
            "name": "endpoint2",
            "properties": {
              "target": "docs.microsoft.com",
              "endpointStatus": "Enabled",
              "endpointLocation": "southcentralus"
            }
          }
        ]
      }
    }
  ],
  "outputs": {
    "name": {
      "type": "string",
      "value": "ExternalEndpointExample"
    },
    "resourceGroupName": {
      "type": "string",
      "value": "[resourceGroup().name]"
    },
    "resourceId": {
      "type": "string",
      "value": "[resourceId('Microsoft.Network/trafficmanagerprofiles', 'ExternalEndpointExample')]"
    }
  }
}

В этом шаблоне определяется один ресурс Azure.

Чтобы найти дополнительные связанные шаблоны Диспетчера трафика Azure, перейдите на страницу Шаблоны быстрого запуска Azure.

Развертывание шаблона

  1. Выберите Попробовать в следующем блоке кода, чтобы открыть Azure Cloud Shell, и следуйте отображающимся инструкциям, чтобы войти в Azure.

    $projectName = Read-Host -Prompt "Enter a project name that is used for generating resource names"
    $location = Read-Host -Prompt "Enter the location (i.e. centralus)"
    $templateUri = "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.network/traffic-manager-external-endpoint/azuredeploy.json"
    
    $resourceGroupName = "${projectName}rg"
    
    New-AzResourceGroup -Name $resourceGroupName -Location "$location"
    New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateUri $templateUri
    
    Read-Host -Prompt "Press [ENTER] to continue ..."
    

    Подождите, пока появится запрос из консоли.

  2. Выберите Копировать из предыдущего блока кода, чтобы скопировать сценарий PowerShell.

  3. Щелкните правой кнопкой в области консоли оболочки и выберите Вставить.

  4. Введите значения.

    Развертывание шаблона создает профиль с двумя внешними конечными точками. Endpoint1 использует целевую конечную точку www.microsoft.com с расположением в Северной Европе. Endpoint2 использует целевую конечную точку learn.microsoft.com с расположением в южной части США.

    Имя группы ресурсов — это имя проекта с добавлением rg.

    Note

    uniqueDNSname должен быть глобально уникальным именем, чтобы шаблон успешно развертывался. Если развертывание завершается неудачно, начните с шага 1.

    Развертывание шаблона занимает несколько минут. По завершении выходные данные должны быть следующего вида:

    Выходные данные развертывания PowerShell шаблона Диспетчера трафика Azure

Для развертывания шаблона используется Azure PowerShell. В дополнение к Azure PowerShell можно также использовать портал Azure, Azure CLI и REST API. Дополнительные сведения о других методах развертывания см. в статье о развертывании с использованием шаблонов.

Проверка развертывания

  1. Определите DNS-имя профиля диспетчера трафика с помощью Get-AzTrafficManagerProfile.

    Get-AzTrafficManagerProfile -Name ExternalEndpointExample -ResourceGroupName $resourceGroupName | Select RelativeDnsName
    

    Скопируйте значение RelativeDnsName. DNS-имя профиля <relativednsname>.trafficmanager.netдиспетчера трафика.

  2. В локальной среде PowerShell выполните следующую команду, заменив переменную {relativeDNSname} на <relativednsname>.trafficmanager.net.

    Resolve-DnsName -Name {relativeDNSname} | Select-Object NameHost | Select -First 1
    

    Вы должны получить ИмяHost либо www.microsoft.com, либо learn.microsoft.com в зависимости от того, какой регион ближе к вам.

  3. Чтобы проверить, можете ли вы обратиться к другой конечной точке, отключите целевую конечную точку, полученную на последнем шаге. Замените {endpointName} на endpoint1 или endpoint2, чтобы отключить цель для www.microsoft.com или learn.microsoft.com соответственно.

    Disable-AzTrafficManagerEndpoint -Name {endpointName} -Type ExternalEndpoints -ProfileName ExternalEndpointExample -ResourceGroupName $resourceGroupName -Force
    
  4. Выполните команду из шага 2 еще раз в локальной среде PowerShell. На этот раз вы должны получить другой NameHost для другой конечной точки.

Очистите ресурсы

Если профиль диспетчера трафика больше не нужен, удалите группу ресурсов. Это удаляет профиль диспетчера трафика и все связанные ресурсы.

Чтобы удалить группу ресурсов, вызовите командлет Remove-AzResourceGroup:

Remove-AzResourceGroup -Name <your resource group name>

Дальнейшие шаги

В этом кратком руководстве вы создали профиль диспетчера трафика.

Дополнительные сведения о маршрутизации трафика см. в руководствах по диспетчеру трафика.