Краткое руководство. Создание профиля Диспетчера трафика, используя Bicep

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

Bicep — это предметно-ориентированный язык (DSL), который использует декларативный синтаксис для развертывания ресурсов Azure. Он обеспечивает краткий синтаксис, надежную безопасность типов и поддержку повторного использования кода. Bicep предлагает лучшие возможности для разработки решений Azure типа "инфраструктура как код".

Предварительные требования

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

Проверка BICEP-файла

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

@description('Relative DNS name for the traffic manager profile, must be globally unique.')
param uniqueDnsName string

resource ExternalEndpointExample 'Microsoft.Network/trafficmanagerprofiles@2022-04-01' = {
  name: 'ExternalEndpointExample'
  location: 'global'
  properties: {
    profileStatus: 'Enabled'
    trafficRoutingMethod: 'Performance'
    dnsConfig: {
      relativeName: 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'
        }
      }
    ]
  }
}
output name string = ExternalEndpointExample.name
output resourceGroupName string = resourceGroup().name
output resourceId string = ExternalEndpointExample.id

В файле Bicep определяется один ресурс Azure.

Развертывание BICEP-файла

  1. Сохраните файл Bicep с именем main.bicep на локальном компьютере.

  2. Разверните файл Bicep с помощью Azure CLI или Azure PowerShell.

    az group create --name exampleRG --location eastus
    az deployment group create --resource-group exampleRG --template-file main.bicep --parameters uniqueDnsName=<dns-name>
    

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

    Примечание

    Чтобы файл Bicep можно было успешно развернуть, имя uniqueDNSname должно быть глобально уникальным.

    После завершения развертывания появится сообщение о том, что развертывание успешно выполнено.

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

Используйте Azure CLI или Azure PowerShell для проверки развертывания.

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

    az network traffic-manager profile show --name ExternalEndpointExample --resource-group exampleRG 
    

    Скопируйте значение fqdn из выходных данных. Оно должно иметь следующий формат: <relativeDnsName>.trafficmanager.net. Это значение также является DNS-именем профиля диспетчера трафика.

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

    nslookup -type=cname {relativeDnsName}
    

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

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

    az network traffic-manager endpoint update --name {endpointName} --type externalEndpoints --profile-name ExternalEndpointExample --resource-group exampleRG --endpoint-status "Disabled"
    
  4. Выполните команду из шага 2 еще раз в Azure CLI или Azure PowerShell. На этот раз вы должны получить другое каноническое имя/NameHost для другой конечной точки.

Очистка ресурсов

Если профиль Диспетчера трафика больше не требуется, используйте портал Azure, Azure CLI или Azure PowerShell, чтобы удалить группу ресурсов. При этом будет удален профиль Диспетчера трафика и все связанные с ним ресурсы.

az group delete --name exampleRG

Дальнейшие действия

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

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