Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ce guide de démarrage rapide décrit comment utiliser un modèle Azure Resource Manager (modèle ARM) pour créer un circuit ExpressRoute avec un peering privé.
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 prérequis et que vous êtes déjà familiarisé avec l’utilisation des modèles ARM, sélectionnez le bouton Déployer sur Azure. Le modèle s’ouvre dans le portail Azure.
Prérequis
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Vérifier le modèle
Le modèle utilisé dans ce démarrage rapide est tiré des modèles de démarrage rapide Azure.
Dans ce guide de démarrage rapide, vous créez un circuit ExpressRoute avec Equinix comme fournisseur de services. Le circuit utilise un SKU Premium, avec une bande passante de 50 Mbit/s et la localisation du peering Washington DC. Le peering privé est activé avec les sous-réseaux principal et secondaire 192.168.10.16/30 et 192.168.10.20/30, respectivement. Un réseau virtuel est créé avec une passerelle ExpressRoute HighPerformance.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"metadata": {
"_generator": {
"name": "bicep",
"version": "0.26.170.59819",
"templateHash": "1648633191574795729"
}
},
"parameters": {
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]",
"metadata": {
"description": "Location for all resources deployed in the Bicep file"
}
},
"erpeeringLocation": {
"type": "string",
"defaultValue": "Washington DC",
"metadata": {
"description": "ExpressRoute peering location"
}
},
"erCircuitName": {
"type": "string",
"defaultValue": "er-ckt01",
"metadata": {
"description": "Name of the ExpressRoute circuit"
}
},
"serviceProviderName": {
"type": "string",
"defaultValue": "Equinix",
"metadata": {
"description": "Name of the ExpressRoute provider"
}
},
"erSKU_Tier": {
"type": "string",
"defaultValue": "Premium",
"allowedValues": [
"Premium",
"Standard"
],
"metadata": {
"description": "Tier ExpressRoute circuit"
}
},
"erSKU_Family": {
"type": "string",
"defaultValue": "MeteredData",
"allowedValues": [
"MeteredData",
"UnlimitedData"
],
"metadata": {
"description": "Billing model ExpressRoute circuit"
}
},
"bandwidthInMbps": {
"type": "int",
"defaultValue": 50,
"allowedValues": [
50,
100,
200,
500,
1000,
2000,
5000,
10000
],
"metadata": {
"description": "Bandwidth ExpressRoute circuit"
}
},
"peerASN": {
"type": "int",
"defaultValue": 65001,
"metadata": {
"description": "autonomous system number used to create private peering between the customer edge router and MSEE routers"
}
},
"primaryPeerAddressPrefix": {
"type": "string",
"defaultValue": "192.168.10.16/30",
"metadata": {
"description": "point-to-point network prefix of primary link between the customer edge router and MSEE router"
}
},
"secondaryPeerAddressPrefix": {
"type": "string",
"defaultValue": "192.168.10.20/30",
"metadata": {
"description": "point-to-point network prefix of secondary link between the customer edge router and MSEE router"
}
},
"vlanId": {
"type": "int",
"defaultValue": 100,
"metadata": {
"description": "VLAN Id used between the customer edge routers and MSEE routers. primary and secondary link have the same VLAN Id"
}
},
"vnetName": {
"type": "string",
"defaultValue": "vnet1",
"metadata": {
"description": "name of the Virtual Network"
}
},
"subnet1Name": {
"type": "string",
"defaultValue": "subnet1",
"metadata": {
"description": "name of the subnet"
}
},
"vnetAddressSpace": {
"type": "string",
"defaultValue": "10.10.10.0/24",
"metadata": {
"description": "address space assigned to the Virtual Network"
}
},
"subnet1Prefix": {
"type": "string",
"defaultValue": "10.10.10.0/25",
"metadata": {
"description": "network prefix assigned to the subnet"
}
},
"gatewaySubnetPrefix": {
"type": "string",
"defaultValue": "10.10.10.224/27",
"metadata": {
"description": "network prefixes assigned to the gateway subnet. It has to be a network prefix with mask /27 or larger"
}
},
"gatewayName": {
"type": "string",
"defaultValue": "er-gw",
"metadata": {
"description": "name of the ExpressRoute Gateway"
}
},
"gatewaySku": {
"type": "string",
"defaultValue": "HighPerformance",
"allowedValues": [
"Standard",
"HighPerformance",
"UltraPerformance",
"ErGw1AZ",
"ErGw2AZ",
"ErGw3AZ"
],
"metadata": {
"description": "ExpressRoute Gateway SKU"
}
}
},
"variables": {
"erSKU_Name": "[format('{0}_{1}', parameters('erSKU_Tier'), parameters('erSKU_Family'))]",
"gatewayPublicIPName": "[format('{0}-pubIP', parameters('gatewayName'))]",
"nsgName": "nsg"
},
"resources": [
{
"type": "Microsoft.Network/expressRouteCircuits",
"apiVersion": "2023-09-01",
"name": "[parameters('erCircuitName')]",
"location": "[parameters('location')]",
"sku": {
"name": "[variables('erSKU_Name')]",
"tier": "[parameters('erSKU_Tier')]",
"family": "[parameters('erSKU_Family')]"
},
"properties": {
"serviceProviderProperties": {
"serviceProviderName": "[parameters('serviceProviderName')]",
"peeringLocation": "[parameters('erpeeringLocation')]",
"bandwidthInMbps": "[parameters('bandwidthInMbps')]"
},
"allowClassicOperations": false
}
},
{
"type": "Microsoft.Network/expressRouteCircuits/peerings",
"apiVersion": "2023-09-01",
"name": "[format('{0}/{1}', parameters('erCircuitName'), 'AzurePrivatePeering')]",
"properties": {
"peeringType": "AzurePrivatePeering",
"peerASN": "[parameters('peerASN')]",
"primaryPeerAddressPrefix": "[parameters('primaryPeerAddressPrefix')]",
"secondaryPeerAddressPrefix": "[parameters('secondaryPeerAddressPrefix')]",
"vlanId": "[parameters('vlanId')]"
},
"dependsOn": [
"[resourceId('Microsoft.Network/expressRouteCircuits', parameters('erCircuitName'))]"
]
},
{
"type": "Microsoft.Network/networkSecurityGroups",
"apiVersion": "2023-09-01",
"name": "[variables('nsgName')]",
"location": "[parameters('location')]",
"properties": {
"securityRules": [
{
"name": "SSH-rule",
"properties": {
"description": "allow SSH",
"protocol": "Tcp",
"sourcePortRange": "*",
"destinationPortRange": "22",
"sourceAddressPrefix": "*",
"destinationAddressPrefix": "VirtualNetwork",
"access": "Allow",
"priority": 500,
"direction": "Inbound"
}
},
{
"name": "RDP-rule",
"properties": {
"description": "allow RDP",
"protocol": "Tcp",
"sourcePortRange": "*",
"destinationPortRange": "3389",
"sourceAddressPrefix": "*",
"destinationAddressPrefix": "VirtualNetwork",
"access": "Allow",
"priority": 600,
"direction": "Inbound"
}
}
]
}
},
{
"type": "Microsoft.Network/virtualNetworks",
"apiVersion": "2023-09-01",
"name": "[parameters('vnetName')]",
"location": "[parameters('location')]",
"properties": {
"addressSpace": {
"addressPrefixes": [
"[parameters('vnetAddressSpace')]"
]
},
"subnets": [
{
"name": "[parameters('subnet1Name')]",
"properties": {
"addressPrefix": "[parameters('subnet1Prefix')]",
"networkSecurityGroup": {
"id": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('nsgName'))]"
}
}
},
{
"name": "GatewaySubnet",
"properties": {
"addressPrefix": "[parameters('gatewaySubnetPrefix')]"
}
}
]
},
"dependsOn": [
"[resourceId('Microsoft.Network/networkSecurityGroups', variables('nsgName'))]"
]
},
{
"type": "Microsoft.Network/publicIPAddresses",
"apiVersion": "2023-09-01",
"name": "[variables('gatewayPublicIPName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard",
"tier": "Regional"
},
"properties": {
"publicIPAllocationMethod": "Static"
}
},
{
"type": "Microsoft.Network/virtualNetworkGateways",
"apiVersion": "2023-09-01",
"name": "[parameters('gatewayName')]",
"location": "[parameters('location')]",
"properties": {
"ipConfigurations": [
{
"properties": {
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), 'GatewaySubnet')]"
},
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses', variables('gatewayPublicIPName'))]"
}
},
"name": "gwIPconf"
}
],
"gatewayType": "ExpressRoute",
"sku": {
"name": "[parameters('gatewaySku')]",
"tier": "[parameters('gatewaySku')]"
},
"vpnType": "RouteBased"
},
"dependsOn": [
"[resourceId('Microsoft.Network/publicIPAddresses', variables('gatewayPublicIPName'))]",
"[resourceId('Microsoft.Network/virtualNetworks', parameters('vnetName'))]"
]
}
],
"outputs": {
"erCircuitName": {
"type": "string",
"value": "[parameters('erCircuitName')]"
},
"gatewayName": {
"type": "string",
"value": "[parameters('gatewayName')]"
},
"gatewaySku": {
"type": "string",
"value": "[parameters('gatewaySku')]"
}
}
}
Plusieurs ressources Azure ont été définies dans le modèle :
- Microsoft.Network/expressRouteCircuits
- Microsoft.Network/expressRouteCircuits/peerings (utilisé pour activer le peering privé sur le circuit)
- Microsoft.Network/networkSecurityGroups (groupe de sécurité réseau appliqué aux sous-réseaux du réseau virtuel)
- Microsoft.Network/virtualNetworks
- Microsoft.Network/publicIPAddresses (adresse IP publique utilisée par la passerelle ExpressRoute)
- Microsoft.Network/virtualNetworkGateways (passerelle ExpressRoute utilisée pour connecter le réseau virtuel au circuit)
Pour rechercher d’autres modèles associés à ExpressRoute, consultez Modèles de démarrage rapide Azure.
Déployer le modèle
Sélectionnez Essayer à partir du 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/expressroute-private-peering-vnet/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.
Sélectionnez Copier dans le bloc de code précédent pour copier le script PowerShell.
Cliquez sur le volet de la console shell, puis sélectionnez Coller.
Entrez les valeurs.
Le nom du groupe de ressources est le nom du projet avec rg ajouté.
Le déploiement du modèle prend environ 20 minutes. Une fois l’opération terminée, le résultat ressemble à ce qui suit :
Azure PowerShell est utilisé pour déployer le modèle. Outre Azure PowerShell, vous pouvez également utiliser le portail Azure, l’interface Azure CLI et l’API REST. Pour découvrir d’autres méthodes de déploiement, consultez Déployer des modèles.
Valider le déploiement
Connectez-vous au portail Azure.
Sélectionnez Groupes de ressources dans le volet gauche.
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é.
Le groupe de ressources doit contenir les ressources indiquées ci-dessous :
Sélectionnez le circuit ExpressRoute er-ck01 pour vérifier que l’état du circuit est Activé, que l’état du fournisseur est Non provisionné et que l’état du peering privé est Provisionné.
Notes
Vous devrez appeler le fournisseur pour terminer le processus de provisionnement avant de pouvoir connecter le réseau virtuel au circuit.
Nettoyer les ressources
Lorsque vous n’avez plus besoin des ressources que vous avez créées avec le circuit ExpressRoute, supprimez le groupe de ressources pour supprimer le circuit ExpressRoute et toutes les ressources associées.
Pour supprimer le groupe de ressources, appelez l’applet de commande Remove-AzResourceGroup
:
Remove-AzResourceGroup -Name <your resource group name>
Étapes suivantes
Dans le cadre de ce guide de démarrage rapide, vous avez créé les éléments suivants :
- Circuit ExpressRoute
- Réseau virtuel
- Passerelle VPN
- Adresse IP publique
- Groupes de sécurité réseau
Pour découvrir comment lier un réseau virtuel à un circuit, continuez avec les tutoriels ExpressRoute.