Share via


Rövid útmutató: Azure Route Server létrehozása ARM-sablonnal

Ez a rövid útmutató bemutatja, hogyan helyezhet üzembe Azure Route Servert egy új vagy meglévő virtuális hálózaton egy Azure Resource Manager-sablon (ARM-sablon) használatával.

Az Azure Resource Manager-sablon egy JavaScript Object Notation (JSON) fájl, amely meghatározza a projekt infrastruktúráját és konfigurációját. A sablon deklaratív szintaxist használ. Az üzembe helyezés létrehozásához szükséges programozási parancsok sorozatának megírása nélkül írhatja le a tervezett üzembe helyezést.

Ha a környezet megfelel az előfeltételeknek, és ismeri az ARM-sablonok használatát, válassza az Üzembe helyezés az Azure-ban gombot a sablon Azure Portalon való megnyitásához.

Gomb a Resource Manager-sablon Azure-ban való üzembe helyezéséhez.

Előfeltételek

A sablon áttekintése

Az ebben a gyorsútmutatóban használt sablon az Azure-gyorssablonok közül származik.

Ezzel a sablonnal üzembe helyez egy Azure Route Servert egy új vagy meglévő virtuális hálózatban. Létrejön egy dedikált alhálózat, RouteServerSubnet amely az útvonalkiszolgáló üzemeltetésére szolgál. Az útválasztási kiszolgáló a társ ASN-jével és a társ IP-címével is konfigurálva lesz egy BGP-társviszony létesítéséhez.

{
  "$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/27",
      "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'))]"
      ]
    }
  ]
}

A sablonban több Azure-erőforrás is definiálva van:

További sablonokért tekintse meg az Azure rövid útmutatósablonjait.

A sablon üzembe helyezése

  1. Az Azure Cloud Shell megnyitásához válassza a CloudShell megnyitása lehetőséget a következő kódblokkból, majd az utasításokat követve jelentkezzen be az Azure-ba.

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

    Várjon, amíg megjelenik a parancssor a konzolról.

  2. Válassza a Másolás lehetőséget az előző kódblokkból a PowerShell-szkript másolásához.

  3. Kattintson a jobb gombbal a rendszerhéj-konzol paneljére, majd válassza a Beillesztés parancsot.

  4. Adja meg az értékeket.

    Az erőforráscsoport neve az rg hozzáfűző projektnév.

    A sablon üzembe helyezése körülbelül 20 percet vesz igénybe. Ha elkészült, a kimenet a következőhöz hasonló:

    A Resource Manager-sablon átirányítása a PowerShell üzembehelyezési kimenetére.

Az Azure PowerShell a sablon üzembe helyezésére szolgál. Az Azure PowerShell mellett használhatja az Azure Portalt, az Azure CLI-t és a REST API-t is. Az egyéb üzembehelyezési módszerekről a Sablonok üzembe helyezése című témakörben olvashat.

Az üzembe helyezés ellenőrzése

  1. Jelentkezzen be az Azure Portalra.

  2. Válassza ki az Erőforráscsoportokat a bal oldali panelen.

  3. Válassza ki az előző szakaszban létrehozott erőforráscsoportot. Az alapértelmezett erőforráscsoportnév a projekt neve, amelyhez hozzá van fűzve az rg .

  4. Az erőforráscsoportnak csak a virtuális hálózatot kell tartalmaznia:

    Útválasztási kiszolgáló üzembehelyezési erőforráscsoportja virtuális hálózattal.

  5. Odamegy https://aka.ms/routeserver.

  6. Az üzembe helyezés sikerességének ellenőrzéséhez válassza ki a Route Server nevű routeservert .

    Képernyőkép az Útválasztási kiszolgáló áttekintési oldaláról.

Az erőforrások eltávolítása

Ha már nincs szüksége az útvonalkiszolgálóval létrehozott erőforrásokra, törölje az erőforráscsoportot az útvonalkiszolgáló és az összes kapcsolódó erőforrás eltávolításához.

Az erőforráscsoport törléséhez használja a Remove-AzResourceGroup parancsmagot:

Remove-AzResourceGroup -Name <your resource group name>

Következő lépés

Ebben a rövid útmutatóban a következőt hozta létre:

  • Virtual Network
  • Alhálózat
  • Útvonalkiszolgáló

Az Azure Route Server létrehozása után folytassa a további tudnivalókat az Azure Route Server expressRoute- és VPN-átjárókkal való használatáról: