Partager via


Démarrage rapide : Créer un Serveur de routes Azure à l'aide d'un modèle ARM

Ce guide de démarrage rapide vous montre comment utiliser un modèle Azure Resource Manager (modèle ARM) pour déployer Azure Route Server dans un réseau virtuel nouveau ou existant. Azure Route Server active le routage dynamique entre votre réseau virtuel et vos appliances virtuelles réseau via le peering BGP, gérant automatiquement les échanges de routage dans votre infrastructure réseau.

En effectuant ce guide de démarrage rapide, vous disposez d’un serveur de routage opérationnel déployé avec l’infrastructure réseau nécessaire et prêt pour la configuration du peering BGP.

Un modèle Azure Resource Manager est un fichier JSON (JavaScript Object Notation) qui définit l’infrastructure et la configuration de votre projet. Le modèle utilise la syntaxe déclarative. Vous décrivez votre déploiement prévu sans écrire la séquence de commandes de programmation pour créer le déploiement.

Si votre environnement remplit les conditions préalables et que vous êtes habitué à utiliser les modèles ARM, sélectionnez le bouton Déployer sur Azure pour ouvrir le modèle dans le portail Azure.

Bouton pour déployer le modèle Azure Resource Manager sur le portail Azure.

Prérequis

Avant de commencer, vérifiez que vous disposez des conditions suivantes :

Vérifier le modèle

Le modèle utilisé dans ce démarrage rapide est tiré des modèles de démarrage rapide Azure. Ce modèle ARM déploie un environnement de serveur de routage complet, y compris l’infrastructure de réseau virtuel et la configuration de peering BGP.

Le modèle crée les ressources suivantes :

  • Serveur de routage Azure dans un réseau virtuel nouveau ou existant
  • Sous-réseau dédié nommé RouteServerSubnet pour héberger le serveur de routage
  • Configuration du peering BGP avec l’ASN d’homologue et l’adresse IP homologue spécifiées
{
  "$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'))]"
      ]
    }
  ]
}

Ressources de modèle

Les ressources Azure suivantes sont définies dans le modèle :

Pour trouver d’autres modèles liés à la mise en réseau Azure, consultez Modèles de démarrage rapide Azure.

Déployer le modèle

Vous pouvez déployer le modèle à l’aide d’Azure PowerShell via Azure Cloud Shell ou votre environnement PowerShell local.

  1. Sélectionnez Open Cloud Shell dans le bloc de code suivant pour ouvrir Azure Cloud Shell, puis suivez les instructions pour vous connecter à 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 ..."
    

    Patientez jusqu'à ce que vous voyiez l’invite de la console.

  2. Sélectionnez Copier dans le bloc de code précédent pour copier le script PowerShell.

  3. Cliquez sur le volet de la console shell, puis sélectionnez Coller.

  4. Entrez les valeurs lorsque vous y êtes invité :

    • Nom du projet : utilisé pour générer des noms de ressources (le nom du groupe de ressources sera le nom du projet avec rg ajouté)
    • Emplacement : région Azure où les ressources seront déployées

    Le déploiement prend environ 20 minutes. Une fois la sortie terminée, la sortie doit être similaire à :

    Capture d’écran montrant la sortie du déploiement PowerShell du modèle de Gestionnaire de ressources pour le serveur de routage.

Azure PowerShell est utilisé pour déployer le modèle dans cet exemple. Vous pouvez également utiliser le portail Azure, Azure CLI et l’API REST pour le déploiement de modèles. Pour en savoir plus sur d’autres méthodes de déploiement, consultez Déployer des modèles.

Valider le déploiement

Une fois le déploiement du modèle terminé, vérifiez que le serveur de routage a été créé correctement.

Vérifier les ressources dans le portail Azure

  1. Connectez-vous au portail Azure.

  2. Sélectionnez Groupes de ressources dans le volet gauche.

  3. Sélectionnez le groupe de ressources que vous avez créé dans la section précédente. Le nom du groupe de ressources par défaut est le nom du projet avec rg ajouté.

  4. Le groupe de ressources doit contenir le réseau virtuel et les ressources associées :

    Capture d’écran montrant le groupe de ressources de déploiement Route Server avec un réseau virtuel et des ressources associées.

Vérifier le déploiement du serveur de routage

  1. À partir du portail Azure, accédez à votre groupe de ressources et sélectionnez la ressource Du serveur de routage.

  2. Dans la page vue d’ensemble du serveur de routage, vérifiez les éléments suivants :

    • L’état indique « Réussi »
    • L’ASN BGP affiche le numéro de système autonome configuré
    • L’état du routage indique « Approvisionné »

    Capture d’écran montrant la page vue d’ensemble du serveur de routage confirmant le déploiement réussi.

Nettoyer les ressources

Lorsque vous n’avez plus besoin du serveur de routage et des ressources associées, supprimez le groupe de ressources pour supprimer le serveur de routage et toutes les ressources associées.

Pour supprimer le groupe de ressources, utilisez la cmdlet Remove-AzResourceGroup :

Remove-AzResourceGroup -Name <your resource group name>

Étape suivante

Maintenant que vous avez déployé un serveur de routage à l’aide d’un modèle ARM, apprenez-en davantage sur les fonctionnalités du serveur de routage :