Créer une topologie de réseau hybride hub-and-spoke dans Azure avec Terraform

Terraform permet la définition, l’aperçu et le déploiement d’une infrastructure cloud. Terraform vous permet de créer des fichiers de configuration à l’aide de la syntaxe HCL. La syntaxe HCL vous permet de spécifier un fournisseur de services cloud, tel qu’Azure, et les éléments qui composent votre infrastructure cloud. Après avoir créé vos fichiers de configuration, vous créez un plan d’exécution qui vous permet d’afficher un aperçu de vos modifications d’infrastructure avant leur déploiement. Une fois que vous avez vérifié les modifications, vous appliquez le plan d’exécution pour déployer l’infrastructure.

Cette série d’articles explique comment utiliser Terraform pour implémenter une topologie de réseau hub-and-spoke dans Azure.

Une topologie hub-and-spoke constitue un moyen d’isoler les charges de travail tout en partageant des services communs. Ces services incluent l’identité et la sécurité. Le hub est un réseau virtuel (VNet) qui agit comme un point de connexion central pour un réseau local. Les rayons sont des réseaux virtuels qui s’associent au hub. Les services partagés sont déployés dans le hub tandis que les charges de travail individuelles le sont à l’intérieur des réseaux spoke.

Dans cet article, vous apprendrez comment :

  • Disposer les ressources de l’architecture de référence d’un réseau hybride hub-and-spoke
  • Créer des ressources d’appliance de réseau hub
  • Créer un réseau hub dans Azure pour agir comme point commun à toutes les ressources
  • Créer des charges de travail individuelles comme réseaux virtuels spoke dans Azure
  • Établir des passerelles et des connexions entre les réseaux locaux et les réseaux Azure
  • Créer des peerings de réseaux virtuels avec des réseaux spoke

1. Configurer votre environnement

  • Abonnement Azure : Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

2. Comprendre l’architecture de la topologie hub-and-spoke

Dans la topologie hub-and-spoke, le hub est un réseau virtuel. Le réseau virtuel agit comme un axe central de connectivité pour votre réseau local. Les rayons (spokes) sont des réseaux virtuels qui s’homologuent avec le hub et qui peuvent être utilisés pour isoler les charges de travail. Le trafic circule entre le centre de données local et le hub via une connexion de passerelle ExpressRoute ou VPN. L’illustration suivante montre les différents composants d’une topologie hub-and-spoke :

Hub and spoke topology architecture in Azure

Avantages de la topologie hub-and-spoke

Une topologie de réseau hub-and-spoke permet d’isoler les charges de travail tout en partageant des services communs. Ces services incluent l’identité et la sécurité. Le hub est un réseau virtuel qui agit comme un point de connexion central pour un réseau local. Les rayons sont des réseaux virtuels qui s’associent au hub. Les services partagés sont déployés dans le hub tandis que les charges de travail individuelles le sont à l’intérieur des réseaux spoke. Voici quelques avantages de la topologie de réseau hub-and-spoke :

  • Réduction des coûts par la centralisation des services dans un emplacement unique pouvant être partagé par plusieurs charges de travail. Ces charges de travail comportent des appliances virtuelles réseau et des serveurs DNS.
  • Surmonter les limites des abonnements en effectuant le peering des réseaux virtuels de différents abonnements avec le hub central.
  • Séparation des préoccupations entre le service informatique central (SecOps, InfraOps) et les charges de travail (DevOps).

Utilisations courantes de l’architecture hub-and-spoke

Voici quelques utilisations courantes d’une architecture hub-and-spoke :

  • De nombreux clients présentent des charges de travail qui sont déployées dans différents environnements. Ces environnements comprennent le développement, le test et la production. Souvent, ces charges de travail doivent partager des services, tels que DNS, IDS, NTP ou AD DS. Ces services partagés peuvent être placés dans le réseau virtuel hub. En procédant ainsi, chaque environnement est déployé sur un membre spoke pour garantir l’isolation.
  • Des charges de travail n’exigeant pas de connectivité entre elles, mais nécessitant un accès aux services partagés.
  • Des entreprises ayant besoin d’un contrôle centralisé en matière de sécurité.
  • Des entreprises nécessitant une gestion distincte des charges de travail dans chaque membre spoke.

3. Afficher un aperçu des composants de la démonstration

À mesure que vous avancez dans chaque article, différents composants sont définis dans des scripts Terraform distincts. L’architecture de démonstration créée et déployée est constituée des composants suivants :

  • Réseau local. Un réseau local privé s’exécutant au sein d’une organisation. Pour l’architecture de référence hub-and-spoke, un réseau virtuel dans Azure est utilisé pour simuler un réseau local.

  • Périphérique VPN. Un appareil ou service VPN assurant la connectivité externe au réseau local. L’appareil VPN peut être un équipement matériel ou une solution logicielle.

  • Réseau virtuel hub. Le hub constituant le point central de la connectivité pour votre réseau local, et un emplacement où héberger des services. Ces services peuvent être consommés par les différentes charges de travail hébergées dans les réseaux virtuels spoke.

  • Sous-réseau de passerelle. Les passerelles de réseau virtuel étant conservées dans le même sous-réseau.

  • Réseaux virtuels spokes. Les membres spokes peuvent servir à isoler les charges de travail dans leurs propres réseaux virtuels, qui sont alors gérées séparément des autres membres spokes. Chaque charge de travail peut inclure plusieurs niveaux, avec plusieurs sous-réseaux connectés à l’aide d’équilibreurs de charge Azure.

  • Peering de réseaux virtuels. Deux réseaux virtuels peuvent être connectés à l’aide d’une connexion de peering. Les connexions de peering sont des connexions non transitives et à faible latence entre des réseaux virtuels. Une fois appairés, les réseaux virtuels échangent du trafic à l’aide de la dorsale principale d’Azure, sans avoir besoin de routeur. Dans une topologie de réseau hub-and-spoke, le peering de réseaux virtuels est utilisé pour connecter le hub à chaque membre spoke. Vous pouvez appairer des réseaux virtuels dans la même région ou dans différentes régions.

4. Implémenter le code Terraform

  1. Créez un répertoire destiné à contenir l’exemple de code pour l’ensemble de la série de plusieurs articles.

  2. Créez un fichier nommé main.tf et insérez le code suivant :

    terraform {
    
      required_version = ">=0.12"
    
      required_providers {
        azurerm = {
          source  = "hashicorp/azurerm"
          version = "~>2.0"
        }
      }
    }
    
    provider "azurerm" {
      features {}
    }
    
  3. Créez un fichier nommé variables.tf pour contenir les variables du projet et insérez le code suivant :

    variable "location" {
        description = "Location of the network"
        default     = "eastus"
    }
    
    variable "username" {
        description = "Username for Virtual Machines"
        default     = "azureuser"
    }
    
    variable "password" {
        description = "Password for Virtual Machines"
    }
    
    variable "vmsize" {
        description = "Size of the VMs"
        default     = "Standard_DS1_v2"
    }
    

    Points essentiels :

    • Cet article utilise un mot de passe que vous entrez quand vous appelez terraform plan. Dans une application réelle, vous pouvez envisager d’utiliser une paire de clés publique/privée SSH.
    • Pour plus d’informations sur les clés SSH et Azure, consultez Comment utiliser des clés SSH avec Windows sur Azure.

Résoudre les problèmes liés à Terraform sur Azure

Résoudre les problèmes courants liés à l’utilisation de Terraform sur Azure

Étapes suivantes