Partager via


Créer une topologie de réseau hybride hub and spoke dans Azure à l’aide de Terraform

Terraform active la définition, la préversion et le déploiement de l’infrastructure cloud. À l’aide de Terraform, vous créez des fichiers de configuration à l’aide de la syntaxe HCL. La syntaxe HCL vous permet de spécifier le fournisseur de 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 des modifications de votre 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 montre comment utiliser Terraform pour implémenter dans Azure une topologie de réseau en étoile.

Une topologie en étoile permet d’isoler les charges de travail tout en partageant des services communs. Ces services comprennent l’identité et la sécurité. Le hub est un réseau virtuel (VNet) qui agit comme un point de connexion central à un réseau local. Les spokes sont des réseaux virtuels qui s’appairent avec le hub. Les services partagés sont déployés dans le hub, tandis que les charges de travail individuelles sont déployées dans les réseaux satellites.

Dans cet article, vous allez apprendre à :

  • Disposer des ressources d’architecture de référence du réseau hybride en étoile
  • Créer des ressources d’appliance réseau hub
  • Créer un réseau hub dans Azure pour servir de point commun à toutes les ressources
  • Créer des charges de travail individuelles en tant que réseaux virtuels spoke dans Azure
  • Établir des passerelles et des connexions entre les réseaux locaux et Azure
  • Créer des appairages de réseaux virtuels vers 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 en étoile

Dans la topologie hub and spoke, le hub est un réseau virtuel. Le réseau virtuel agit comme un point central de connectivité à 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’image suivante illustre les composants d’une topologie en étoile :

Architecture de la topologie en étoile dans Azure

Avantages de la topologie en étoile

Une topologie de réseau en étoile permet d’isoler les charges de travail tout en partageant des services communs. Ces services comprennent l’identité et la sécurité. Le hub est un réseau virtuel qui agit comme un point de connexion central à un réseau local. Les spokes sont des réseaux virtuels qui s’appairent avec le hub. Les services partagés sont déployés dans le hub, tandis que les charges de travail individuelles sont déployées dans les réseaux satellites. Voici quelques avantages de la topologie de réseau en étoile :

  • Économies réalisées en centralisant les services dans un seul endroit qui peut être partagé par plusieurs charges de travail. Ces charges de travail incluent le réseau, les appliances virtuelles et les serveurs DNS.
  • Surmontez les limites d’abonnements en appairant les réseaux virtuels de différents abonnements vers le hub central.
  • Séparation des préoccupations entre le service informatique central (SecOps, InfraOps) et les charges de travail (DevOps).

Utilisations typiques de l’architecture en étoile

Voici quelques-unes des utilisations typiques d’une architecture en étoile :

  • De nombreux clients ont des charges de travail qui sont déployées dans différents environnements. Ces environnements comprennent le développement, les tests 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. De cette façon, chaque environnement est déployé sur un spoke pour maintenir l’isolement.
  • Charges de travail qui ne nécessitent pas de connectivité les unes aux autres, mais qui nécessitent l’accès à des services partagés.
  • Entreprises qui ont besoin d’un contrôle central sur les aspects de sécurité.
  • Entreprises qui nécessitent une gestion séparée des charges de travail dans chaque satellite.

3. Prévisualisez les composants de démonstration

Au fur et à mesure que vous parcourez chaque article de cette série, divers composants sont définis dans des scripts Terraform distincts. L’architecture de démonstration créée et déployée se compose des composants suivants :

  • réseau local . Réseau local privé fonctionnant avec 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 un service VPN fournit une connectivité externe au réseau local. Le périphérique VPN peut être une appliance matérielle ou une solution logicielle.

  • VNet du hub. Le hub est le point central de connectivité à votre réseau sur site et un lieu d’hébergement 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 sont conservées dans le même sous-réseau.

  • VNets Spoke. Les spokes peuvent être utilisés pour isoler les charges de travail dans leurs propres réseaux virtuels, gérés séparément des autres 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 d’appairage. Les connexions d’appairage sont des connexions non transitives à faible latence entre des réseaux virtuels. Une fois appairés, les réseaux virtuels échangent le trafic à l’aide du réseau principal Azure, sans avoir besoin d’un routeur. Dans une topologie de réseau hub and spoke, l’appairage de réseaux virtuels est utilisé pour connecter le hub à chaque spoke (VNet) permet de connecter le hub à chaque spoke (en anglais seulement). Vous pouvez appairer des réseaux virtuels dans la même région ou dans des régions différentes.

4. Implémenter le code Terraform

  1. Créez un répertoire contenant l’exemple de code pour l’ensemble de la série multi-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 = "~> 3.0"
        }
      }
    }
    
    provider "azurerm" {
      features {
        resource_group {
          prevent_deletion_if_contains_resources = false
        }
      }
    }
    
    resource "random_password" "password" {
      count  = var.password == null ? 1 : 0
      length = 20
    }
    
    locals {
      password = try(random_password.password[0].result, var.password)
    }
    
  3. Créez un fichier nommé variables.tf pour contenir les variables de 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"
      sensitive   = true
      default     = null
    }
    
    variable "vmsize" {
      description = "Size of the VMs"
      default     = "Standard_DS1_v2"
    }
    

    Points clés :

    • Cet article utilise un mot de passe que vous entrez lorsque 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 de Terraform sur Azure

Résoudre les problèmes courants lors de l’utilisation de Terraform sur Azure

Étapes suivantes