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 recommend 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 :
Deploy with 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
Deploy with 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