Udostępnij przez


Szybki start: tworzenie serwera usługi Azure Route Server przy użyciu szablonu usługi ARM

W tym przewodniku szybkiego uruchamiania pokazano, jak użyć szablonu usługi Azure Resource Manager (szablonu ARM) do wdrożenia Azure Route Server w nowej lub istniejącej sieci wirtualnej. Usługa Azure Route Server umożliwia dynamiczny routing między siecią wirtualną a wirtualnymi urządzeniami sieciowymi za pośrednictwem komunikacji równorzędnej BGP, automatycznie zarządzając wymianami tras w infrastrukturze sieciowej.

Ukończenie tego przewodnika Szybki start spowoduje wdrożenie działającego serwera route Server z niezbędną infrastrukturą sieciową i przygotowaniem do konfiguracji komunikacji równorzędnej BGP.

Szablon usługi Azure Resource Manager to plik JavaScript Object Notation (JSON), który definiuje infrastrukturę i konfigurację projektu. W szablonie używana jest składnia deklaratywna. Możesz opisać zamierzone wdrożenie bez konieczności pisania sekwencji poleceń programowania w celu utworzenia wdrożenia.

Jeśli twoje środowisko spełnia wymagania wstępne i znasz szablony ARM, wybierz przycisk Wdróż na platformie Azure, aby otworzyć szablon w portalu Azure.

Przycisk wdrażania szablonu usługi Azure Resource Manager w witrynie Azure Portal.

Wymagania wstępne

Przed rozpoczęciem upewnij się, że masz następujące wymagania:

Przegląd szablonu

Szablon używany w tym przewodniku szybkiego startu jest jednym z szablonów szybkiego startu platformy Azure. Ten szablon ARM wdraża kompletne środowisko Route Server, w tym infrastrukturę sieci wirtualnej i konfigurację peeringu BGP.

Szablon tworzy następujące zasoby:

  • Usługa Azure Route Server w nowej lub istniejącej sieci wirtualnej
  • Dedykowana podsieć o nazwie RouteServerSubnet do hostowania serwera Route Server
  • Konfiguracja peeringu BGP z określonym numerem ASN sąsiedniego i adresem IP sąsiedniego
{
  "$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'))]"
      ]
    }
  ]
}

Zasoby szablonu

Następujące zasoby platformy Azure są zdefiniowane w szablonie:

Aby znaleźć więcej szablonów związanych z siecią platformy Azure, zobacz Szablony szybkiego startu platformy Azure.

Wdrażanie szablonu

Szablon można wdrożyć przy użyciu programu Azure PowerShell za pośrednictwem usługi Azure Cloud Shell lub lokalnego środowiska programu PowerShell.

  1. Wybierz pozycję Otwórz usługę Cloud Shell z następującego bloku kodu, aby otworzyć usługę Azure Cloud Shell, a następnie postępuj zgodnie z instrukcjami, aby zalogować się do platformy 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 ..."
    

    Poczekaj na wyświetlenie monitu konsoli.

  2. Wybierz pozycję Kopiuj z poprzedniego bloku kodu, aby skopiować skrypt programu PowerShell.

  3. Kliknij prawym przyciskiem myszy okienko konsoli powłoki, a następnie wybierz polecenie Wklej.

  4. Wprowadź wartości po wyświetleniu monitu:

    • Nazwa projektu: służy do generowania nazw zasobów (nazwa grupy zasobów będzie nazwą projektu z dołączonym elementem rg )
    • Lokalizacja: region świadczenia usługi Azure, w którym zostaną wdrożone zasoby

    Ukończenie wdrożenia trwa około 20 minut. Po zakończeniu dane wyjściowe powinny być podobne do następujących:

    Zrzut ekranu przedstawiający dane wyjściowe wdrożenia szablonu PowerShell Resource Manager dla Route Server.

Program Azure PowerShell służy do wdrażania szablonu w tym przykładzie. Do wdrożenia szablonu można również użyć witryny Azure Portal, interfejsu wiersza polecenia platformy Azure i interfejsu API REST. Aby dowiedzieć się więcej o innych metodach wdrażania, zobacz Wdrażanie szablonów.

Weryfikowanie wdrożenia

Po zakończeniu wdrażania szablonu sprawdź, czy serwer route server został utworzony pomyślnie.

Weryfikowanie zasobów w witrynie Azure Portal

  1. Zaloguj się w witrynie Azure Portal.

  2. Wybierz pozycję Grupy zasobów w okienku po lewej stronie.

  3. Wybierz grupę zasobów utworzoną w poprzedniej sekcji. Domyślna nazwa grupy zasobów to nazwa projektu z dołączonym elementem rg .

  4. Grupa zasobów powinna zawierać sieć wirtualną i skojarzone zasoby:

    Zrzut ekranu przedstawiający grupę zasobów wdrażania usługi Route Server z siecią wirtualną i powiązanymi zasobami.

Weryfikowanie wdrożenia serwera Route Server

  1. W witrynie Azure Portal przejdź do grupy zasobów i wybierz zasób Route Server.

  2. Na stronie Przegląd usługi Route Server sprawdź następujące kwestie:

    • Stan jest wyświetlany jako "Powodzenie"
    • Numer ASN protokołu BGP wyświetla skonfigurowany numer systemu autonomicznego
    • Stan routingu jest wyświetlany jako "Aprowizowany"

    Zrzut ekranu przedstawiający stronę przeglądu usługi Route Server z potwierdzeniem pomyślnego wdrożenia.

Czyszczenie zasobów

Jeśli nie potrzebujesz już serwera route server i skojarzonych zasobów, usuń grupę zasobów, aby usunąć serwer route server i wszystkie powiązane zasoby.

Aby usunąć grupę zasobów, użyj polecenia cmdlet Remove-AzResourceGroup :

Remove-AzResourceGroup -Name <your resource group name>

Następny krok

Po wdrożeniu serwera tras przy użyciu szablonu ARM dowiedz się więcej o możliwościach serwera tras.