Compartilhar via


Início rápido: criar um Servidor de Rota do Azure usando um modelo do ARM

Este início rápido mostra como usar um modelo do ARM (Azure Resource Manager) para implantar o Servidor de Rotas do Azure em uma rede virtual nova ou existente. O Servidor de Rota do Azure permite o roteamento dinâmico entre sua rede virtual e dispositivos virtuais de rede por meio do emparelhamento BGP, gerenciando automaticamente as trocas de rotas em sua infraestrutura de rede.

Ao concluir este guia de início rápido, você terá um Servidor de Rota funcional implantado com a infraestrutura de rede necessária e pronto para a configuração de emparelhamento BGP.

Um modelo do Azure Resource Manager é um arquivo JSON (JavaScript Object Notation) que define a infraestrutura e a configuração do projeto. O modelo usa a sintaxe declarativa. Você descreve a implantação pretendida sem escrever a sequência de comandos de programação para criar a implantação.

Se o seu ambiente atender aos pré-requisitos e você estiver familiarizado com o uso dos modelos do ARM, selecione o botão Implantar no Azure para abrir o modelo no portal do Azure.

Botão para implantar o modelo do Azure Resource Manager no portal do Azure.

Pré-requisitos

Antes de começar, verifique se você tem os seguintes requisitos:

Examinar o modelo

O modelo usado neste início rápido é proveniente dos Modelos de Início Rápido do Azure. Este modelo do ARM implanta um ambiente completo do Servidor de Rota, incluindo a infraestrutura de rede virtual e a configuração de emparelhamento BGP.

O modelo cria os seguintes recursos:

  • Servidor de Rota do Azure em uma rede virtual nova ou existente
  • Sub-rede dedicada chamada RouteServerSubnet para hospedar o Servidor de Rotas
  • Configuração de emparelhamento BGP com ASN do par especificado e IP do par.
{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.5.6.12127",
      "templateHash": "3572840517141664306"
    }
  },
  "parameters": {
    "vnetName": {
      "type": "string",
      "defaultValue": "routeservervnet",
      "metadata": {
        "description": "Name of new or existing vnet to which Azure Route Server should be deployed."
      }
    },
    "vnetIpPrefix": {
      "type": "string",
      "defaultValue": "10.1.0.0/16",
      "metadata": {
        "description": "IP prefix for available addresses in vnet address space."
      }
    },
    "vnetNew_or_Existing": {
      "type": "string",
      "defaultValue": "New",
      "allowedValues": [
        "New",
        "Existing"
      ],
      "metadata": {
        "description": "Specify whether to provision new vnet or deploy to existing vnet."
      }
    },
    "routeServerSubnetIpPrefix": {
      "type": "string",
      "defaultValue": "10.1.1.0/26",
      "metadata": {
        "description": "Route Server subnet IP prefix MUST be within vnet IP prefix address space."
      }
    },
    "publicIpNew_or_Existing": {
      "type": "string",
      "defaultValue": "New",
      "allowedValues": [
        "New",
        "Existing"
      ],
      "metadata": {
        "description": "Specify whether to provision new standard public IP or deploy using existing standard public IP."
      }
    },
    "publicIpName": {
      "type": "string",
      "defaultValue": "routeserverpip",
      "metadata": {
        "description": "Name of the standard Public IP used for the Route Server"
      }
    },
    "firstRouteServerName": {
      "type": "string",
      "defaultValue": "routeserver",
      "metadata": {
        "description": "Name of Route Server."
      }
    },
    "routeServerBgpConnectionName": {
      "type": "string",
      "defaultValue": "conn1",
      "metadata": {
        "description": "Name of BGP connection."
      }
    },
    "peerAsn": {
      "type": "int",
      "defaultValue": 65002,
      "metadata": {
        "description": "Peer ASN connecting to."
      }
    },
    "peerIp": {
      "type": "string",
      "defaultValue": "10.0.1.4",
      "metadata": {
        "description": "Peer IP connecting to."
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Azure region for Route Server and virtual network."
      }
    }
  },
  "variables": {
    "ipconfigName": "ipconfig1",
    "routeServerSubnetName": "RouteServerSubnet"
  },
  "resources": [
    {
      "condition": "[equals(parameters('vnetNew_or_Existing'), 'New')]",
      "type": "Microsoft.Network/virtualNetworks",
      "apiVersion": "2020-05-01",
      "name": "[parameters('vnetName')]",
      "location": "[parameters('location')]",
      "properties": {
        "addressSpace": {
          "addressPrefixes": [
            "[parameters('vnetIpPrefix')]"
          ]
        }
      }
    },
    {
      "type": "Microsoft.Network/virtualNetworks/subnets",
      "apiVersion": "2020-05-01",
      "name": "[format('{0}/{1}', parameters('vnetName'), variables('routeServerSubnetName'))]",
      "properties": {
        "addressPrefix": "[parameters('routeServerSubnetIpPrefix')]"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/virtualNetworks', parameters('vnetName'))]"
      ]
    },
    {
      "condition": "[equals(parameters('publicIpNew_or_Existing'), 'New')]",
      "type": "Microsoft.Network/publicIPAddresses",
      "apiVersion": "2020-05-01",
      "name": "[parameters('publicIpName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard"
      },
      "properties": {
        "publicIPAllocationMethod": "Static",
        "publicIPAddressVersion": "IPv4",
        "idleTimeoutInMinutes": 4
      }
    },
    {
      "type": "Microsoft.Network/virtualHubs",
      "apiVersion": "2020-06-01",
      "name": "[parameters('firstRouteServerName')]",
      "location": "[parameters('location')]",
      "properties": {
        "sku": "Standard"
      }
    },
    {
      "type": "Microsoft.Network/virtualHubs/ipConfigurations",
      "apiVersion": "2020-06-01",
      "name": "[format('{0}/{1}', parameters('firstRouteServerName'), variables('ipconfigName'))]",
      "properties": {
        "subnet": {
          "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), variables('routeServerSubnetName'))]"
        },
        "publicIPAddress": {
          "id": "[resourceId('Microsoft.Network/publicIPAddresses', parameters('publicIpName'))]"
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/virtualHubs', parameters('firstRouteServerName'))]",
        "[resourceId('Microsoft.Network/publicIPAddresses', parameters('publicIpName'))]",
        "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), variables('routeServerSubnetName'))]"
      ]
    },
    {
      "type": "Microsoft.Network/virtualHubs/bgpConnections",
      "apiVersion": "2020-06-01",
      "name": "[format('{0}/{1}', parameters('firstRouteServerName'), parameters('routeServerBgpConnectionName'))]",
      "properties": {
        "peerAsn": "[parameters('peerAsn')]",
        "peerIp": "[parameters('peerIp')]"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/virtualHubs', parameters('firstRouteServerName'))]",
        "[resourceId('Microsoft.Network/virtualHubs/ipConfigurations', parameters('firstRouteServerName'), variables('ipconfigName'))]"
      ]
    }
  ]
}

Recursos de modelo

Os seguintes recursos do Azure são definidos no modelo:

Para encontrar mais modelos relacionados à rede do Azure, consulte Modelos de Início Rápido do Azure.

Implantar o modelo

Você pode implantar o modelo usando o Azure PowerShell por meio do Azure Cloud Shell ou seu ambiente local do PowerShell.

  1. Selecione Abrir o Cloud Shell no seguinte bloco de código para abrir o Azure Cloud Shell e siga as instruções para entrar no 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/route-server/azuredeploy.json"
    
    $resourceGroupName = "${projectName}rg"
    
    New-AzResourceGroup -Name $resourceGroupName -Location "$location"
    New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName -TemplateUri $templateUri
    
    Read-Host -Prompt "Press [ENTER] to continue ..."
    

    Aguarde até ver o prompt do console.

  2. Selecione Copiar no bloco de códigos anterior para copiar o script do PowerShell.

  3. Clique com o botão direito do mouse no painel do console do shell e selecione Colar.

  4. Insira os valores quando solicitado:

    • Nome do projeto: usado para gerar nomes de recursos (o nome do grupo de recursos será o nome do projeto com rg acrescentado)
    • Local: região do Azure em que os recursos serão implantados

    A implantação leva aproximadamente 20 minutos para ser concluída. Quando terminar, a saída deve ser semelhante a:

    Captura de tela mostrando a saída da implantação do modelo do Resource Manager do Servidor de Rota no PowerShell.

O Azure PowerShell é usado para implantar o modelo neste exemplo. Você também pode usar o portal do Azure, a CLI do Azure e a API REST para implantação de modelo. Para saber mais sobre outros métodos de implantação, consulte Implantar modelos.

Validar a implantação

Após a conclusão da implantação do modelo, verifique se o Servidor de Rota foi criado com êxito.

Verificar recursos no portal do Azure

  1. Entre no portal do Azure.

  2. Escolha Grupos de recursos no painel esquerdo.

  3. Selecione o grupo de recursos criado na seção anterior. O nome do grupo de recursos padrão é o nome do projeto com o acréscimo de rg.

  4. O grupo de recursos deve conter a rede virtual e os recursos associados:

    Captura de tela mostrando o grupo de recursos de implantação do Route Server com rede virtual e recursos relacionados.

Verificar implantação do Servidor de Roteamento

  1. No portal do Azure, navegue até o grupo de recursos e selecione o recurso Servidor de Rota.

  2. Na página de visão geral do Servidor de Rota, verifique o seguinte:

    • O status é mostrado como "Bem-sucedido"
    • O ASN do BGP exibe o número do sistema autônomo configurado
    • Estado de roteamento é exibido como "Provisionado"

    Captura de tela mostrando a página de visão geral do Servidor de Rota confirmando a implantação bem-sucedida.

Limpar os recursos

Quando você não precisar mais do Servidor de Rotas e dos recursos associados, exclua o grupo de recursos para remover o Servidor de Rota e todos os recursos relacionados.

Para excluir o grupo de recursos, use o cmdlet Remove-AzResourceGroup:

Remove-AzResourceGroup -Name <your resource group name>

Próxima etapa

Agora que você implantou um Servidor de Rota usando um modelo do ARM, saiba mais sobre os recursos do Servidor de Rota: