Freigeben über


Schnellstart: Erstellen eines Azure Route Servers mit einer ARM-Vorlage

In dieser Schnellstartanleitung erfahren Sie, wie Sie eine Azure Resource Manager-Vorlage (ARM-Vorlage) verwenden, um Azure Route Server in einem neuen oder vorhandenen virtuellen Netzwerk bereitzustellen. Azure Route Server ermöglicht das dynamische Routing zwischen Ihrem virtuellen Netzwerk und virtuellen Netzwerkgeräten über BGP-Peering, wodurch Routenaustausche in Ihrer Netzwerkinfrastruktur automatisch verwaltet werden.

Nach Abschluss dieser Schnellstartanleitung verfügen Sie über einen funktionierenden Route-Server, der mit der erforderlichen Netzwerkinfrastruktur bereitgestellt und für die BGP-Peeringkonfiguration bereit ist.

Eine Azure Resource Manager-Vorlage ist eine JSON-Datei (JavaScript Object Notation), die die Infrastruktur und die Konfiguration für Ihr Projekt definiert. Die Vorlage verwendet eine deklarative Syntax. Sie beschreiben Ihre geplante Bereitstellung, ohne die Abfolge der Programmierbefehle zum Erstellen der Bereitstellung zu schreiben.

Wenn Ihre Umgebung die Voraussetzungen erfüllt und Sie mit der Verwendung von ARM-Vorlagen vertraut sind, wählen Sie die Schaltfläche In Azure bereitstellen aus, um die Vorlage im Azure-Portal zu öffnen.

Schaltfläche zum Bereitstellen der Azure Resource Manager-Vorlage im Azure-Portal.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie über die folgenden Anforderungen verfügen:

Überprüfen der Vorlage

Die in dieser Schnellstartanleitung verwendete Vorlage stammt von der Seite mit den Azure-Schnellstartvorlagen. Diese ARM-Vorlage stellt eine vollständige Route Server-Umgebung bereit, einschließlich der Virtuellen Netzwerkinfrastruktur und der BGP-Peeringkonfiguration.

Die Vorlage erstellt die folgenden Ressourcen:

  • Azure Route Server in einem neuen oder vorhandenen virtuellen Netzwerk
  • Dediziertes Subnetz mit dem Namen RouteServerSubnet zum Hosten des Routenservers
  • BGP-Peeringkonfiguration mit angegebenem Peer ASN und Peer-IP
{
  "$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'))]"
      ]
    }
  ]
}

Vorlagenressourcen

Die folgenden Azure-Ressourcen sind in der Vorlage definiert:

Weitere Vorlagen im Zusammenhang mit Azure-Netzwerken finden Sie unter Azure-Schnellstartvorlagen.

Bereitstellen der Vorlage

Sie können die Vorlage mithilfe von Azure PowerShell über Azure Cloud Shell oder Ihre lokale PowerShell-Umgebung bereitstellen.

  1. Wählen Sie "Cloud Shell öffnen" aus dem folgenden Codeblock aus, um Azure Cloud Shell zu öffnen, und folgen Sie dann den Anweisungen, um sich bei Azure anzumelden:

    $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 ..."
    

    Warten Sie, bis die Aufforderung in der Konsole angezeigt wird.

  2. Wählen Sie Copy (Kopieren) im vorherigen Codeblock aus, um das PowerShell-Skript zu kopieren.

  3. Klicken Sie mit der rechten Maustaste auf den Shellkonsolenbereich, und wählen Sie Einfügen aus.

  4. Geben Sie die Werte ein, wenn Sie dazu aufgefordert werden:

    • Projektname: Wird zum Generieren von Ressourcennamen verwendet (der Ressourcengruppenname ist der Projektname mit angefügter rg )
    • Standort: Azure-Region, in der Ressourcen bereitgestellt werden

    Die Bereitstellung dauert ungefähr 20 Minuten. Wenn Sie fertig sind, sollte die Ausgabe ähnlich aussehen wie:

    Screenshot: Ausgabe der PowerShell-Bereitstellung für die Route Server Resource Manager-Vorlage.

Azure PowerShell wird verwendet, um die Vorlage in diesem Beispiel bereitzustellen. Sie können auch das Azure-Portal, die Azure CLI und die REST-API für die Vorlagenbereitstellung verwenden. Weitere Informationen zu anderen Bereitstellungsmethoden finden Sie unter Bereitstellen von Vorlagen.

Überprüfen der Bereitstellung

Überprüfen Sie nach Abschluss der Vorlagenbereitstellung, ob der Route Server erfolgreich erstellt wurde.

Überprüfen von Ressourcen im Azure-Portal

  1. Melden Sie sich beim Azure-Portal an.

  2. Wählen Sie im linken Bereich Ressourcengruppen aus.

  3. Wählen Sie die Ressourcengruppe aus, die Sie im vorherigen Abschnitt erstellt haben. Der Ressourcengruppenname entspricht standardmäßig dem Projektnamen mit dem Zusatz rg.

  4. Die Ressourcengruppe sollte das virtuelle Netzwerk und die zugehörigen Ressourcen enthalten:

    Screenshot der Ressourcengruppe

Überprüfen der Route Server-Bereitstellung

  1. Navigieren Sie im Azure-Portal zu Ihrer Ressourcengruppe, und wählen Sie die Route Server-Ressource aus.

  2. Überprüfen Sie auf der Übersichtsseite des Routenservers Folgendes:

    • Status wird als "Erfolgreich" angezeigt.
    • BGP ASN zeigt die konfigurierte autonome Systemnummer an.
    • Der Routingstatus wird als "Bereitgestellt" angezeigt.

    Screenshot der Übersichtsseite

Bereinigen von Ressourcen

Wenn Sie den Route-Server und die zugehörigen Ressourcen nicht mehr benötigen, löschen Sie die Ressourcengruppe, um den Route-Server und alle zugehörigen Ressourcen zu entfernen.

Verwenden Sie zum Löschen der Ressourcengruppe das Cmdlet Remove-AzResourceGroup:

Remove-AzResourceGroup -Name <your resource group name>

Nächster Schritt

Nachdem Sie nun einen Routenserver mithilfe einer ARM-Vorlage bereitgestellt haben, erfahren Sie mehr über die Routenserverfunktionen: