Créer une machine virtuelle (classique) avec plusieurs cartes réseau à l’aide d’Azure Classic CLI
Vous pouvez créer des machines virtuelles (VM) dans Azure et joindre plusieurs cartes d’interface réseau (NIC) à chacune d’elles. Plusieurs cartes réseau permettent la séparation des types de trafic entre les cartes réseau. Par exemple, une carte réseau peut communiquer avec Internet, tandis qu’une autre communique uniquement avec des ressources internes non connectées à Internet. La possibilité de séparer le trafic réseau entre plusieurs cartes réseau est requise pour de nombreuses appliances virtuelles réseau, telles que Application Delivery Network et les solutions d’optimisation WAN.
Important
Azure a deux modèles de déploiement différents pour créer et utiliser des ressources : Resource Manager et classique. Cet article traite du modèle de déploiement classique. Pour la plupart des nouveaux déploiements, Microsoft recommande d’utiliser le modèle Resource Manager. Découvrez comment effectuer ces étapes à l’aide du modèle de déploiement Resource Manager.
Scénario
Ce document décrit pas à pas un déploiement qui utilise plusieurs cartes d’interface réseau dans des machines virtuelles dans le cadre d’un scénario spécifique. Dans ce scénario, vous avez une charge de travail IaaS à deux niveaux hébergée dans Azure. Chaque niveau est déployé dans son propre sous-réseau dans un réseau virtuel (VNet). Le niveau frontal est composé de plusieurs serveurs web, regroupés dans un équilibreur de charge configuré pour la haute disponibilité. Le niveau principal est constitué de plusieurs serveurs de base de données. Ces serveurs de base de données sont déployés avec deux cartes d’interface réseau chacun, l’une pour l’accès à la base de données et l’autre pour la gestion. Le scénario inclut également les groupes de sécurité réseau (NSG) pour contrôler le trafic autorisé sur chaque sous-réseau, ainsi que la carte d’interface réseau dans le déploiement. La figure ci-après illustre l’architecture de base de ce scénario :
Les étapes suivantes utilisent un groupe de ressources nommé IaaSStory pour les serveurs web et un groupe de ressources nommé IaaSStory-BackEnd pour les serveurs de base de données.
Prérequis
Avant de créer les serveurs de base de données, vous devez créer le groupe de ressources IaaSStory avec toutes les ressources nécessaires pour ce scénario. Pour créer ces ressources, exécutez les étapes suivantes. Pour créer un réseau virtuel, suivez les étapes de l’article Créer un réseau virtuel.
Condition préalable : Installer l’interface de ligne de commande Microsoft Azure
Pour effectuer les étapes décrites dans cet article, installez Azure CLI et connectez-vous à Azure.
Notes
Si vous n’avez pas de compte Azure, vous devez vous en procurer un. Inscrivez-vous à un essai gratuit ici. En outre, pour suivre correctement la procédure, vous devez disposer de jq ou d’un autre outil ou bibliothèque d’analyse JSON.
Déployer les machines virtuelles principales
Les machines virtuelles principales dépendent de la création des ressources suivantes :
- Compte de stockage pour les disques de données. Pour optimiser les performances, les disques de données sur les serveurs de base de données utilisent la technologie de disque SSD, qui requiert un compte de stockage Premium. Assurez-vous que l'emplacement Azure de déploiement prend en charge le stockage Premium.
- Cartes réseau. Chaque machine virtuelle a deux cartes réseau, une pour l’accès à la base de données et l’autre pour la gestion.
- Groupe à haute disponibilité. Tous les serveurs de base de données sont ajoutés à un groupe à haute disponibilité, afin de garantir qu’au moins une des machines virtuelles est en cours d’exécution lors de la maintenance.
Étape 1 : démarrer votre script
Vous pouvez télécharger le script d'interpréteur de commandes complet utilisé ici. Exécutez les étapes suivantes pour adapter le script à votre environnement :
Modifiez les valeurs des variables suivantes selon votre groupe de ressources existant déployé ci-dessus dans les Conditions préalables.
location="useast2" vnetName="WTestVNet" backendSubnetName="BackEnd"
Modifiez les valeurs des variables suivantes en fonction des valeurs que vous souhaitez utiliser pour le déploiement de votre serveur principal.
backendCSName="IaaSStory-Backend" prmStorageAccountName="iaasstoryprmstorage" image="0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.2.1" avSetName="ASDB" vmSize="Standard_DS3" diskSize=127 vmNamePrefix="DB" osDiskName="osdiskdb" dataDiskPrefix="db" dataDiskName="datadisk" ipAddressPrefix="192.168.2." username='adminuser' password='adminP@ssw0rd' numberOfVMs=2
Étape 2 : création des ressources nécessaires pour vos machines virtuelles
Créez un service cloud pour toutes les machines virtuelles principales. Notez l'utilisation de la variable
$backendCSName
pour le nom du groupe de ressources, et$location
pour la région Azure.azure service create --serviceName $backendCSName \ --location $location
Créez un compte de stockage Premium pour les disques du système d'exploitation et les disques de données à utiliser par vos machines virtuelles.
azure storage account create $prmStorageAccountName \ --location $location \ --type PLRS
Étape 3 : création de machines virtuelles avec plusieurs cartes d’interface réseau
Lancez une boucle pour créer plusieurs machines virtuelles, selon les variables
numberOfVMs
.for ((suffixNumber=1;suffixNumber<=numberOfVMs;suffixNumber++)); do
Pour chaque machine virtuelle, spécifiez le nom et l'adresse IP de chacune des deux cartes réseau.
nic1Name=$vmNamePrefix$suffixNumber-DA x=$((suffixNumber+3)) ipAddress1=$ipAddressPrefix$x nic2Name=$vmNamePrefix$suffixNumber-RA x=$((suffixNumber+53)) ipAddress2=$ipAddressPrefix$x
Créez la machine virtuelle. Notez l'utilisation du paramètre
--nic-config
contenant une liste de toutes les cartes réseau avec adresse IP, sous-réseau et nom.azure vm create $backendCSName $image $username $password \ --connect $backendCSName \ --vm-name $vmNamePrefix$suffixNumber \ --vm-size $vmSize \ --availability-set $avSetName \ --blob-url $prmStorageAccountName.blob.core.windows.net/vhds/$osDiskName$suffixNumber.vhd \ --virtual-network-name $vnetName \ --subnet-names $backendSubnetName \ --nic-config $nic1Name:$backendSubnetName:$ipAddress1::,$nic2Name:$backendSubnetName:$ipAddress2::
Pour chaque machine virtuelle, créez deux disques de données.
azure vm disk attach-new $vmNamePrefix$suffixNumber \ $diskSize \ vhds/$dataDiskPrefix$suffixNumber$dataDiskName-1.vhd azure vm disk attach-new $vmNamePrefix$suffixNumber \ $diskSize \ vhds/$dataDiskPrefix$suffixNumber$dataDiskName-2.vhd done
Étape 4 : exécution du script
Maintenant que vous avez téléchargé et modifié le script selon vos besoins, exécutez le script pour créer les machines virtuelles principales de base de données avec plusieurs cartes réseau.
Enregistrez votre script et exécutez-le à partir de votre terminal Bash . Vous verrez la sortie initiale, comme illustré ci-dessous.
info: Executing command service create info: Creating cloud service data: Cloud service name IaaSStory-Backend info: service create command OK info: Executing command storage account create info: Creating storage account info: storage account create command OK info: Executing command vm create info: Looking up image 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.2.1 info: Looking up virtual network info: Looking up cloud service info: Getting cloud service properties info: Looking up deployment info: Creating VM
Après quelques minutes, l'exécution s'arrête et le reste de la sortie s'affiche, comme illustré ci-dessous.
info: OK info: vm create command OK info: Executing command vm disk attach-new info: Getting virtual machines info: Adding Data-Disk info: vm disk attach-new command OK info: Executing command vm disk attach-new info: Getting virtual machines info: Adding Data-Disk info: vm disk attach-new command OK info: Executing command vm create info: Looking up image 0b11de9248dd4d87b18621318e037d37__RightImage-Ubuntu-14.04-x64-v14.2.1 info: Looking up virtual network info: Looking up cloud service info: Getting cloud service properties info: Looking up deployment info: Creating VM info: OK info: vm create command OK info: Executing command vm disk attach-new info: Getting virtual machines info: Adding Data-Disk info: vm disk attach-new command OK info: Executing command vm disk attach-new info: Getting virtual machines info: Adding Data-Disk info: vm disk attach-new command OK
Étape 5 : configuration du routage au sein du système d’exploitation de la machine virtuelle
Le serveur DHCP Azure affecte une passerelle par défaut à la première (principale) interface réseau associée à la machine virtuelle. Azure n’affecte pas de passerelle par défaut aux interfaces réseau additionnelles (secondaires) associées à la machine virtuelle. Par conséquent, vous ne pouvez pas communiquer avec les ressources hors du sous-réseau dans lequel se trouve, par défaut, une interface réseau secondaire. Toutefois, les interfaces réseau secondaires peuvent communiquer avec des ressources hors de leur sous-réseau. Pour configurer le routage des interfaces réseau secondaires, consultez Routage au sein du système d’exploitation d’une machine virtuelle avec plusieurs interfaces réseau.