Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
S’applique à : ✔️ Machines virtuelles Linux ✔️ Machines virtuelles Windows ✔️ Ensembles de mise à l'échelle uniformes
Notes
L’article suivant porte sur les Virtual Machine Scale Sets uniformes. Nous vous recommandons d’utiliser des Virtual Machine Scale Sets identiques flexibles pour les nouvelles charges de travail. En savoir plus sur ce nouveau mode d’orchestration dans notre vue d’ensemble des groupes de machines virtuelles à dimensionnement flexible.
Un groupe de machines virtuelles identiques vous permet de déployer et de gérer un ensemble de machines virtuelles prenant en charge la mise à l’échelle automatique. Vous pouvez mettre à l’échelle manuellement le nombre de machines virtuelles du groupe identique ou définir des règles de mise à l’échelle automatique en fonction de l’utilisation des ressources telles que l’UC, la demande de mémoire ou le trafic réseau. Un équilibreur de charge Azure distribue ensuite le trafic vers les instances de machine virtuelle du groupe identique. Dans cet article de démarrage rapide, vous créez un groupe de machines virtuelles identiques et déployez un exemple d’application avec Azure PowerShell.
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
Azure Cloud Shell
Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.
Pour démarrer Azure Cloud Shell :
| Choix | Exemple/Lien |
|---|---|
| Sélectionnez Essayer dans le coin supérieur droit d’un code ou d’un bloc de commandes. La sélection d’Essayer ne copie pas automatiquement le code ou la commande dans Cloud Shell. |
|
| Accédez à https://shell.azure.com, ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. |
|
| Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite dans le portail Azure. |
|
Pour utiliser Azure Cloud Shell :
Démarrez Cloud Shell.
Sélectionnez le bouton Copier sur un bloc de code (ou bloc de commandes) pour copier le code ou la commande.
Collez le code ou la commande dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux, ou en sélectionnant Cmd+Maj+V sur macOS.
Sélectionnez Entrée pour exécuter le code ou la commande.
Créer un groupe identique
Avant de pouvoir créer un ensemble d'échelle, créez un groupe de ressources avec New-AzResourceGroup. L’exemple suivant crée un groupe de ressources nommé myResourceGroup à l’emplacement eastus :
New-AzResourceGroup -ResourceGroupName "myResourceGroup" -Location "EastUS"
Créez maintenant un groupe de machines virtuelles identiques avec New-AzVmss. L'exemple suivant crée un ensemble d'échelles nommé myScaleSet qui utilise l'image de plateforme Windows Server 2016 Datacenter. Les ressources réseau Azure pour le réseau virtuel, l’adresse IP publique et l’équilibreur de charge sont automatiquement créées. Quand vous y êtes invité, vous pouvez définir vos propres informations d’identification d’administration pour les instances de machine virtuelle du groupe identique :
Important
À compter de novembre 2023, les groupes de machines virtuelles identiques créés à l'aide de PowerShell et d'Azure CLI utilisent par défaut le mode d'orchestration flexible si aucun mode d'orchestration n'est spécifié. Pour plus d’informations sur cette modification et sur les actions que vous devez entreprendre, accédez à Modification majeure pour les clients VMSS PowerShell/CLI - Microsoft Community Hub
New-AzVmss `
-ResourceGroupName "myResourceGroup" `
-Location "EastUS" `
-VMScaleSetName "myScaleSet" `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-PublicIpAddressName "myPublicIPAddress" `
-LoadBalancerName "myLoadBalancer" `
-OrchestrationMode 'Uniform' `
-UpgradePolicyMode "Automatic"
La création et la configuration des l’ensemble des ressources et des machines virtuelles du groupe identique prennent quelques minutes.
Déployer un exemple d’application
Pour tester votre groupe identique, installez une application web de base. L’extension de script personnalisé Azure permet de télécharger et d’exécuter un script qui installe IIS sur les instances de machine virtuelle. Cette extension est utile pour la configuration post-déploiement, l’installation de logiciels ou toute autre tâche de configuration ou de gestion. Pour plus d’informations, consultez la vue d’ensemble de l’extension de script personnalisé.
Utilisez l’extension de script personnalisé pour installer un serveur web IIS de base. Appliquez l’extension de script personnalisé qui installe IIS comme suit :
# Define the script for your Custom Script Extension to run
$publicSettings = @{
"fileUris" = (,"https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/automate-iis.ps1");
"commandToExecute" = "powershell -ExecutionPolicy Unrestricted -File automate-iis.ps1"
}
# Get information about the scale set
$vmss = Get-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet"
# Use Custom Script Extension to install IIS and configure basic website
Add-AzVmssExtension -VirtualMachineScaleSet $vmss `
-Name "customScript" `
-Publisher "Microsoft.Compute" `
-Type "CustomScriptExtension" `
-TypeHandlerVersion 1.8 `
-Setting $publicSettings
# Update the scale set and apply the Custom Script Extension to the VM instances
Update-AzVmss `
-ResourceGroupName "myResourceGroup" `
-Name "myScaleSet" `
-VirtualMachineScaleSet $vmss
Autoriser le trafic vers l’application
Pour autoriser l’accès à l’application web de base, créez un groupe de sécurité réseau avec New-AzNetworkSecurityRuleConfig et New-AzNetworkSecurityGroup. Pour plus d’informations, consultez Mise en réseau pour Azure Virtual Machine Scale Sets.
# Get information about the scale set
$vmss = Get-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet"
#Create a rule to allow traffic over port 80
$nsgFrontendRule = New-AzNetworkSecurityRuleConfig `
-Name myFrontendNSGRule `
-Protocol Tcp `
-Direction Inbound `
-Priority 200 `
-SourceAddressPrefix * `
-SourcePortRange * `
-DestinationAddressPrefix * `
-DestinationPortRange 80 `
-Access Allow
#Create a network security group and associate it with the rule
$nsgFrontend = New-AzNetworkSecurityGroup `
-ResourceGroupName "myResourceGroup" `
-Location EastUS `
-Name myFrontendNSG `
-SecurityRules $nsgFrontendRule
$vnet = Get-AzVirtualNetwork `
-ResourceGroupName "myResourceGroup" `
-Name myVnet
$frontendSubnet = $vnet.Subnets[0]
$frontendSubnetConfig = Set-AzVirtualNetworkSubnetConfig `
-VirtualNetwork $vnet `
-Name mySubnet `
-AddressPrefix $frontendSubnet.AddressPrefix `
-NetworkSecurityGroup $nsgFrontend
Set-AzVirtualNetwork -VirtualNetwork $vnet
# Update the scale set and apply the Custom Script Extension to the VM instances
Update-AzVmss `
-ResourceGroupName "myResourceGroup" `
-Name "myScaleSet" `
-VirtualMachineScaleSet $vmss
Tester votre groupe identique
Pour voir votre groupe identique en action, accédez à l’exemple d’application web dans un navigateur web. Obtenez l’adresse IP publique de votre équilibreur de charge avec Get-AzPublicIpAddress. L’exemple suivant affiche l’adresse IP créée dans le groupe de ressources myResourceGroup :
Get-AzPublicIpAddress -ResourceGroupName "myResourceGroup" | Select IpAddress
Saisissez l’adresse IP publique de l’équilibreur de charge dans un navigateur web. L’équilibreur de charge répartit le trafic vers l’une de vos instances de machine virtuelle, comme illustré dans l’exemple suivant :
Nettoyer les ressources
Quand vous n'en avez plus besoin, vous pouvez utiliser Remove-AzResourceGroup pour supprimer le groupe de ressources, l'ensemble de mise à l'échelle et toutes les ressources associées de la manière suivante. Le paramètre -Force confirme que vous souhaitez supprimer les ressources sans passer par une invite supplémentaire à cette fin. Le paramètre -AsJob retourne le contrôle à l’invite de commandes sans attendre que l’opération se termine.
Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob
Étapes suivantes
Dans cet article de démarrage rapide, vous avez créé un groupe identique de base et vous avez utilisé l’extension de script personnalisé afin d’installer un serveur web IIS de base sur les instances de machine virtuelle. Pour en savoir plus, passez au didacticiel dédié à la création et la gestion des groupes de machines virtuelles identiques Azure.