Mickael Lopes et moi avons animé une session au Global Azure Bootcamp intitulée : “Le réseau dans Azure : Cas d’usage et Retour d’expériences”.

Les slides de  notre session sont dispo sur slideshare ici : Slideshare de Mickael

Comme prévu, voici des TP pour aller avec notre présentation, a faire vous même 🙂

Les vNets et Subnets

Avant d’attaquer des éléments plus complexe, nous allons apprendre a créer un VNet avec un subnet avec les trois moyens disponibles sur Azure.

Powershell

Avant de se lancer, commencez par installer votre station de travail convenablement avec la doc Microsoft qui va bien : Powershell for Azure

Dans Azure, on commence toujours par créer un Resource Group donc :

New-AzureRmResourceGroup `
-Name RG-Vnet-Exo-PS `
-Location northeurope

Ensuite nous allons créer un vNet :

$vnetexo = New-AzureRmVirtualNetwork -ResourceGroupName RG-Vnet-Exo-PS `
-Name vnet-test-ps `
-AddressPrefix 10.0.0.0/24 `
-Location northeurope

puis afin d’ajouter un subnet :

Add-AzureRmVirtualNetworkSubnetConfig -Name psfrontend `
-VirtualNetwork $vnetexo `
-AddressPrefix 10.0.0.0/26
Set-AzureRmVirtualNetwork -VirtualNetwork $vnetexo

Azure CLI 2.0

Comme pour la partie Powershell, suivez la doc d’installation de Azure CLI 2.0 ici : Azure CLI 2.0
Comme dans l’exemple précédent nous allons créer un Resource Group :

az group create \
--name RG-Vnet-Exo-AZ \
--location northeurope

Ensuite nous allons créer un vNet et le subnet :

az network vnet create \
--name vnet-test-az \
--resource-group RG-Vnet-Exo-AZ \
--location northeurope \
--address-prefixes 10.0.1.0/24 \
--subnet-name azfrontend \
--subnet-prefixes 10.0.1.0/26

ARM Template

Pour commencer, utilisez un éditeur de texte un peu évoluer, le JSON sans outil, ca pique un peu… Je vous recommande Visual Studio Code, avec ce petit article : sur mon blog
Un Template Json simple contient plusieurs parties : “variables”, “parameters”, “resources” et “outputs”. Sans réexpliquer l’ensemble, voici à quoi notre Template va ressembler :

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vnetname": {
      "type": "string",
      "metadata": {
        "description": "Nom du Vnet"
      },
      "defaultValue": "vnet-test-json"
    },
    "vnetname": {
      "type": "string",
      "metadata": {
        "description": "Nom du Vnet"
      },
      "defaultValue": "vnet-test-json"
    },
    "addressSpacePrefix": {
      "type": "string",
      "metadata": {
        "description": "IP v4 (RFC1918)"
      },
      "defaultValue": "10.0.2.0/24"
    },
    "subnetName": {
      "type": "string",
      "metadata": {
        "description": "Nom du Subnet"
      },
      "defaultValue": "jsonfrontend"
    },
    "subnetPrefix": {
      "type": "string",
      "metadata": {
        "description": "IP v4 du Subnet"
      },
      "defaultValue": "10.0.2.0/26"
    }
  },
  "variables": {},
  "resources": [
    {
      "apiVersion": "2015-06-15",
      "type": "Microsoft.Network/virtualNetworks",
      "name": "[parameters('VnetName')]",
      "location": "[resourceGroup().location]",
      "tags": {
        "displayName": "JSON-VNET"
      },
      "properties": {
        "addressSpace": {
          "addressPrefixes": [
            "[parameters('addressSpacePrefix')]"
          ]
        },
        "subnets": [
          {
            "name": "[parameters('subnetName')]",
            "properties": {
              "addressPrefix": "[parameters('subnetPrefix')]"
            }
          }
        ]
      }
    }
  ],
  "outputs": {}
}

Ensuite pour déployer ce fichier soit via le portail avec la doc ici : Azure Template & Portal
ou alors via Powershell et Azure CLI 2.0 :

Powershell :
New-AzureRmResourceGroup -Name RG-Vnet-Exo-JSON `
   -Location " North Europe"
New-AzureRmResourceGroupDeployment -Name RG-Vnet-Exo-JSON `
   -ResourceGroupName ExampleResourceGroup `
   -TemplateFile c:\MyTemplates\vnet-simple.json
Azure CLI 2.0:
az group create --name RG-XXX --location "North Europe“
az group deployment create \
--name ExampleDeployment \
--resource-group ExampleGroup \
--template-file vnet-simple.json

One comment on “Azure Networking – TP – Part 1 – vNets & Subnets

Leave a Reply

Your email address will not be published. Required fields are marked *