Construire un vNet Azure complet : subnets, peering hub-and-spoke, NSG, Application Security Groups, Azure Bastion, VPN Gateway site-à-site et point-à-site, ExpressRoute concepts, Azure Firewall basics.
📍 À lire d’abord : Pilier Azure AZ-104 · Tenant Azure gratuit · Déployer une VM Azure.
Introduction
Le vNet (Virtual Network) est l’équivalent VPC d’AWS. Domaine 4 Virtual Networking (15-20 %) du AZ-104. Ce tutoriel couvre les patterns réseau standards Azure.
Prérequis
- Tenant Azure + VM déjà déployée.
- Compréhension TCP/IP, CIDR.
- Niveau intermédiaire.
- Temps : 2 heures.
Étape 1 — Créer un vNet et subnets
# vNet
az network vnet create \
--resource-group lab-vnet \
--name lab-vnet \
--address-prefix 10.0.0.0/16 \
--location francecentral
# Subnets
az network vnet subnet create -g lab-vnet --vnet-name lab-vnet --name web-subnet --address-prefix 10.0.1.0/24
az network vnet subnet create -g lab-vnet --vnet-name lab-vnet --name app-subnet --address-prefix 10.0.2.0/24
az network vnet subnet create -g lab-vnet --vnet-name lab-vnet --name db-subnet --address-prefix 10.0.3.0/24
az network vnet subnet create -g lab-vnet --vnet-name lab-vnet --name AzureBastionSubnet --address-prefix 10.0.10.0/26
Note : subnets réservés Azure : AzureBastionSubnet, GatewaySubnet, AzureFirewallSubnet. Noms exacts requis.
Étape 2 — vNet Peering
vNet peering connecte 2 vNets (même région ou cross-region). Trafic privé Azure backbone, pas via Internet.
# Hub vNet
az network vnet create -g lab-net --name hub-vnet --address-prefix 10.0.0.0/16
# Spoke vNets
az network vnet create -g lab-net --name spoke1-vnet --address-prefix 10.1.0.0/16
az network vnet create -g lab-net --name spoke2-vnet --address-prefix 10.2.0.0/16
# Peering bidirectionnel hub ↔ spoke1
HUB_ID=$(az network vnet show -g lab-net -n hub-vnet --query id -o tsv)
SPOKE1_ID=$(az network vnet show -g lab-net -n spoke1-vnet --query id -o tsv)
az network vnet peering create \
-g lab-net --vnet-name hub-vnet --name hub-to-spoke1 \
--remote-vnet $SPOKE1_ID --allow-vnet-access --allow-forwarded-traffic
az network vnet peering create \
-g lab-net --vnet-name spoke1-vnet --name spoke1-to-hub \
--remote-vnet $HUB_ID --allow-vnet-access --allow-forwarded-traffic
⚠️ vNet peering n’est pas transitif. Spoke1 ↔ Spoke2 nécessite : passage par Hub avec routage manuel + User-Defined Routes (UDR), ou Azure Virtual WAN.
Étape 3 — NSG vs Application Security Groups (ASG)
NSG (Network Security Group)
- Allow/Deny rules par priorité (100-4096)
- Attaché à subnet ou NIC
- Stateful (réponse autorisée)
- Default rules (deny inbound, allow outbound, allow vnet-to-vnet)
ASG (Application Security Group)
- Group logique de NICs (ex: ASG-WEB, ASG-DB)
- Référencé dans NSG rules au lieu d'IPs
- Plus maintenable que IPs fixes
# ASG
az network asg create -g lab-vnet --name asg-web
az network asg create -g lab-vnet --name asg-db
# Attacher NIC à ASG
az network nic update -g lab-vnet --name web-nic --application-security-groups asg-web
# NSG rule autorisant ASG-WEB → ASG-DB sur port 5432
az network nsg rule create \
--resource-group lab-vnet --nsg-name lab-nsg \
--name AllowWebToDB --priority 100 --direction Inbound \
--source-asgs asg-web --destination-asgs asg-db \
--protocol Tcp --destination-port-ranges 5432 --access Allow
Étape 4 — Azure Bastion
Cf. tutoriel VM précédent. Rappel : permet RDP/SSH via portal sans Public IP sur les VMs cibles.
Étape 5 — VPN Gateway
VPN site-to-site (S2S) : connecte ton vNet à un réseau on-prem.
# GatewaySubnet (nom obligatoire)
az network vnet subnet create -g lab-vnet --vnet-name lab-vnet --name GatewaySubnet --address-prefix 10.0.255.0/27
# Public IP pour gateway
az network public-ip create -g lab-vnet --name vpn-gw-pip --sku Basic
# VPN Gateway (~30 USD/mois Basic)
az network vnet-gateway create \
-g lab-vnet --name vpn-gw \
--vnet lab-vnet --public-ip-addresses vpn-gw-pip \
--gateway-type Vpn --vpn-type RouteBased --sku Basic
# Local Network Gateway (représente le on-prem)
az network local-gateway create \
-g lab-vnet --name onprem-lgw \
--gateway-ip-address 203.0.113.5 --local-address-prefixes 192.168.0.0/16
# Connection
az network vpn-connection create \
-g lab-vnet --name s2s-connection \
--vnet-gateway1 vpn-gw --local-gateway2 onprem-lgw \
--shared-key "PreSharedKeyVPN2026"
⚠️ VPN Gateway en lab = ~30 USD/mois. Supprimer après usage.
VPN point-to-site (P2S) : utilisateurs distants se connectent via client OpenVPN ou Azure VPN client.
Étape 6 — ExpressRoute (concepts)
ExpressRoute = liaison privée dédiée Azure (sans Internet). Latence stable, débit garanti, sécurité maximale.
ExpressRoute Direct : 10/100 Gbps, port physique dédié
ExpressRoute : via partenaire (Equinix, Orange, etc.) 50 Mbps - 10 Gbps
Coût : 50-2000 USD/mois selon débit + frais provider
Use case : grandes entreprises, hybrid cloud production
À l’examen : ExpressRoute > VPN pour latence/débit/fiabilité. VPN pour budget limité.
Étape 7 — Azure Firewall vs NSG
NSG : niveau IP/port/protocol (L3-L4), stateful, gratuit
Azure Firewall : firewall as a service avec FQDN, threat intel, IDPS, SNAT, DNAT
Policy-based, multi-vNet
~750 USD/mois Standard, plus pour Premium
Azure Firewall Basic à ~300 USD/mois (small/medium)
Pattern hub-and-spoke : Azure Firewall dans hub vNet, tout trafic des spokes route via firewall (UDR).
Étape 8 — Private Endpoints
Service link privé vers PaaS Azure (Storage, SQL DB, Key Vault) sans exposer en Internet public.
# Private Endpoint pour Storage
az network private-endpoint create \
-g lab-vnet --name storage-pe \
--vnet-name lab-vnet --subnet web-subnet \
--private-connection-resource-id $(az storage account show -g lab-vnet -n labstorageacct --query id -o tsv) \
--group-id blob --connection-name storage-conn
Le storage account devient accessible via IP privée dans le vNet, plus via endpoint public. Recommandé pour conformité.
Étape 9 — DNS privé Azure
# Zone DNS privée
az network private-dns zone create -g lab-vnet --name lab.local
# Lier zone au vNet
az network private-dns link vnet create \
-g lab-vnet --zone-name lab.local --name lab-link \
--virtual-network lab-vnet --registration-enabled true
VMs du vNet enregistrent automatiquement leur nom dans la zone DNS privée. Résolvent les noms internes sans DNS public.
Étape 10 — Cleanup
az group delete --name lab-vnet --yes --no-wait
az group delete --name lab-net --yes --no-wait
Erreurs fréquentes
| Erreur | Solution |
|---|---|
| Subnet name AzureBastionSubnet refusé | Nom EXACT obligatoire, pas « BastionSubnet » |
| Peering ne route pas spoke-spoke | Pas transitif, configurer Hub firewall + UDR |
| VPN Gateway lent à provisionner | 30-45 min normal, ne pas annuler |
| Coût Azure Firewall surprise | Basic ~300 USD/mois, supprimer après lab |
| NSG bloque vNet peering | Default rule « AllowVnetInBound » doit rester |
Adaptation au contexte ouest-africain
Banques : hub-and-spoke avec Azure Firewall + ExpressRoute pour relier datacenter on-prem. Conformité PCI compatible.
Startups : single vNet + NSG + VPN Basic Gateway pour bureau distant = ~30 USD/mois.
Migration progressive : VPN S2S pour phase de cohabitation, ExpressRoute quand volume de données justifie.
FAQ
vNet peering ou VPN entre 2 vNets ?
Peering 10x plus rapide et 5x moins cher si même cloud Azure. VPN seulement si vers on-prem ou cross-cloud.
Azure Firewall ou NVA tiers ?
Azure Firewall = managé Microsoft, intégration native. NVA (Cisco, Palo Alto, Fortinet) = features avancées, license incluse, plus cher.
Combien de subnets par vNet ?
Soft limit 3000. En pratique 5-15 pour la majorité des architectures.
Pour aller plus loin
- 🔝 Pilier Azure AZ-104
- ➡️ Suite : Stockage Azure (Blob, Files, Disks) (à venir).
- Documentation : Azure Virtual Network, Azure Firewall.
Mots-clés : Azure vNet, peering hub spoke, NSG ASG, Azure Bastion, VPN Gateway, ExpressRoute, Azure Firewall, Private Endpoint, DNS privé Azure.
Approfondissement et cas pratiques
Études de cas réelles Azure en Afrique de l’Ouest
Cas 1 — Banque pan-africaine, déploiement Microsoft 365 + Azure 2024. Banque avec 8 filiales en Afrique de l’Ouest et Centrale, 2 800 employés. Migration Exchange on-prem vers Microsoft 365 E5 puis extension Azure. Stack : Microsoft Entra ID Premium P2 avec Conditional Access par filiale, Intune pour gestion 6 000 endpoints (laptops + smartphones BYOD), Azure Information Protection pour classification documents, Microsoft Defender for Cloud + Sentinel pour SIEM unifié. Déploiement progressif 16 mois, ROI cybersec mesuré : -65 % d’incidents phishing en 12 mois post-déploiement.
Cas 2 — Opérateur télécom, refonte legacy 2025. Opérateur ivoirien avec datacenter Plateau et apps Windows Server 2008 critiques pour CRM clients. Stratégie : Azure Migrate pour assessment, lift-and-shift de 120 VMs vers Azure (eu-west-3 France Central), modernisation progressive vers Azure Container Apps + Azure SQL Managed Instance. Hybrid via Azure Arc pour gestion centralisée serveurs on-prem encore en place. Économie matérielle : 1,8 milliards FCFA évités vs renouvellement datacenter. Coût Azure 38 000 USD/mois.
Cas 3 — Startup edtech, Senegal/Mali/Burkina, 2024-2026. Startup éducative cloud-native dès création. Stack 100 % Azure : Azure Kubernetes Service (AKS) pour app multi-tenant, Azure Front Door pour CDN + WAF, Azure SQL Hyperscale pour DB élastique, Cosmos DB pour catalogue cours, Azure OpenAI Service pour IA pédagogique (GPT-4 Turbo). Coût initial 1 200 USD/mois, scale à 8 500 USD/mois après 18 mois et 40 000 utilisateurs. Architecture validée par audit Microsoft for Startups (crédits 150 000 USD obtenus).
Cinq scénarios AZ-104 type examen détaillés
Scénario 1 : RBAC granulaire pour équipe DevOps. Équipe de 8 développeurs doit pouvoir déployer dans RG-Dev mais pas Prod. Réponse : custom role « Junior DevOps Operator » avec actions limitées + Resource Locks « ReadOnly » sur RG-Prod + PIM pour élévation temporaire en Contributor avec approval.
Scénario 2 : conformité RGPD données EU. App SaaS hébergée Azure doit garantir données restent en UE. Réponse : Azure Policy « Allowed Locations » appliquée au Management Group, restriction à France Central + North Europe + West Europe. Audit Compliance dashboard + alertes si tentative déploiement hors zone.
Scénario 3 : DR cross-region + RTO 1h. Workload critique RDS-équivalent + 50 VMs dans France Central. Réponse : Azure Site Recovery configuré vers West Europe (region pair), réplication continue avec lag < 15 min, runbook documenté pour failover en 30-45 min. Tests DR semestriels obligatoires.
Scénario 4 : optimisation coût Storage 50 To. Backups dispersés Hot tier coûtent 1 200 USD/mois. Réponse : lifecycle management policy migration vers Cool après 30j, Archive après 180j. Coût attendu après lifecycle : 180 USD/mois (-85 %).
Scénario 5 : intégration Active Directory hybride. Forêt AD on-prem 15 000 users à intégrer Azure pour SSO Office 365. Réponse : Microsoft Entra Connect avec Password Hash Sync (le plus simple), filtrage scope OU « Employees », écriture passwords back-prop si user reset depuis Office 365 portal, MFA via Conditional Access sur cloud apps.
Architecture hybride enterprise Azure 2026
[Bureau on-prem] [Azure cloud]
│
[Active Directory] ──── Entra Connect ──→ [Microsoft Entra ID]
│
[Datacenter Plateau] │
│ ExpressRoute │
└─── (10 Gbps privé) ──────────────→ [vNet hub]
│ ↑
│ └── Azure Firewall
│
┌───────────┼───────────┐
↓ ↓ ↓
[vNet spoke1] [vNet spoke2] [vNet spoke3]
Production Dev/Test Workloads
spécifiques
│ │ │
↓ ↓ ↓
[VMs + AKS] [VMs Dev] [Azure SQL MI]
Identité : Entra Connect → Entra ID + Conditional Access + MFA
Sécurité : Azure Firewall + Microsoft Defender for Cloud + Sentinel
Backup : Azure Backup vault GRS + Site Recovery vers West Europe
Monitor : Azure Monitor + Log Analytics central + Application Insights
Coût : 18 000 USD/mois pour stack complète enterprise 500 employés
Ce pattern est l’architecture de référence pour les grandes entreprises africaines avec investissement on-prem significatif qu’elles ne veulent pas abandonner immédiatement.
Coûts détaillés en FCFA pour PME africaine
PME 50 employés, infrastructure Microsoft (AD, file server, SQL Server, Office), migration progressive vers Azure :
Service Coût/mois
------- ---------
50× licences Microsoft 365 Business Premium 1 100 USD (22 USD/user)
Azure VM hosting AD DC + file server 85 USD (D2s_v3 reserved 1y)
Azure VM hosting SQL Server (B4ms) 120 USD
Azure Files (NAS) 500 Go Premium 130 USD
Azure Backup vault GRS 45 USD
Microsoft Sentinel (200 Go logs/mois) 95 USD
Bandwidth + IP 30 USD
---------
Total 1 605 USD/mois
≈ 965 000 FCFA/mois
≈ 11 500 000 FCFA/an
Vs maintien datacenter on-prem : 18-25 millions FCFA/an (matériel amortis + climatisation + sécurité physique + admin temps plein). Migration Azure ROI 1,5-2 ans.
Pour une fintech ou startup partant from scratch : Microsoft for Startups crédits 25 000-150 000 USD couvrent les 12-24 premiers mois entièrement.
Plan de carrière post-AZ-104
0-12 mois : poste Azure administrator junior dans entreprise Microsoft (banque, opérateur, ESN partenaire Microsoft). Salaire 700 000-1 100 000 FCFA. Activités : gestion VMs/storage/backup, support utilisateurs, monitoring CloudWatch-équivalent (Azure Monitor), résolution tickets N1/N2.
12-30 mois : pivoter selon affinité. Cybersec : AZ-500 (Security Engineer). DevOps : AZ-400 (DevOps Engineer Expert). Architecture : AZ-305 (Solutions Architect Expert). Salaire 1 200 000-1 800 000 FCFA. Activités : design solutions, automation Bicep/Terraform/PowerShell, governance Management Groups + Policy.
30-60 mois : Azure Architect senior ou consulting. Profil très demandé en remote pour clients européens (Microsoft écosystème). Salaire 2 500 000-4 500 000 FCFA local, 5-9 millions en remote international.
60+ mois : positions Principal Architect, Microsoft MVP, Engineering Manager Cloud, ou consulting indépendant. Possibilité partenariat Microsoft (Microsoft Partner Network — Solutions Partner status pour ESN).
Évolution alternative — Microsoft 365 + Power Platform : combiner Azure avec Power Platform (Power Apps, Power Automate, Power BI) ouvre les rôles « Solutions Architect Microsoft 365 + Azure », très recherché 2026-2030. Salaires premium en remote 6-12 millions FCFA.
Outils complémentaires Azure 2026
IaC : Bicep (DSL Microsoft moderne, recommandé 2026), Terraform AzureRM provider, ARM templates JSON (legacy), Pulumi.
Automation : Azure Automation (runbooks PowerShell), Azure Logic Apps (workflows low-code), Azure Functions (serverless), GitHub Actions Azure tasks.
Security : Microsoft Defender for Cloud (CSPM + workload protection), Microsoft Sentinel (SIEM/SOAR), Microsoft Purview (data governance + DLP), Microsoft Entra ID Governance (lifecycle + access reviews).
Observability : Azure Monitor + Log Analytics (natif), Application Insights, Datadog Azure integration, Grafana Cloud.
Migration : Azure Migrate (assessment + replication), Azure Database Migration Service, Azure Arc (gestion ressources hybrides + multi-cloud).
FinOps : Azure Cost Management + Billing, Azure Advisor recommendations, Microsoft Cost Management Connector pour Power BI.