L’applet de commande New-AzVmss crée un groupe de machines virtuelles identiques (VMSS) dans Azure.
Utilisez l’ensemble de paramètres simple (SimpleParameterSet) pour créer rapidement un vmSS et des ressources associées.
Utilisez l’ensemble de paramètres par défaut (DefaultParameter) pour des scénarios plus avancés lorsque vous devez configurer précisément chaque composant de VMSS et chaque ressource associée avant la création.
Pour le jeu de paramètres par défaut, utilisez d’abord l’applet de commande New-AzVmssConfig pour créer un objet de groupe de machines virtuelles identiques.
Utilisez ensuite les applets de commande suivantes pour définir différentes propriétés de l’objet groupe de machines virtuelles identiques :
Get-AzComputeResourceSku peut également être utilisé pour déterminer les tailles de machine virtuelle disponibles pour votre abonnement et votre région.
Consultez les autres applets de commande pour le groupe de machines virtuelles identiques ici.
La création de VMSS est par défaut orchestrationMode :Flexible. Le jeu de paramètres par défaut définit les propriétés dans VirtualMachineScaleSetVMProfile par défaut. Pour créer un VMSS avec une propriété VirtualMachineScaleSetVMProfile vide, utilisez un jeu de paramètres simple en créant d’abord un objet VirtualMachineScaleSet avec une propriété VirtualMachineScaleSetVMProfile vide à l’aide de New-AzVmssConfig.
Consultez [Démarrage rapide : Créer un groupe de machines virtuelles identiques avec Azure PowerShell](https://learn.microsoft.com/en-us/azure/virtual-machine-scale-sets/quick-create-powershell) pour obtenir un didacticiel.
Exemples
Exemple 1 : Créer un vmSS à l’aide de SimpleParameterSet
$vmssName = 'VMSSNAME'
# Create credentials, I am using one way to create credentials, there are others as well.
# Pick one that makes the most sense according to your use case.
$vmPassword = ConvertTo-SecureString -String "****" -AsPlainText -Force
$vmCred = New-Object System.Management.Automation.PSCredential('USERNAME', $vmPassword)
$securityTypeStnd = "Standard"
#Create a VMSS using the default settings
New-AzVmss -Credential $vmCred -VMScaleSetName $vmssName -SecurityType $securityTypeStnd
La commande ci-dessus crée ce qui suit avec le nom $vmssName :
Un groupe de ressources
Un réseau virtuel
Un équilibreur de charge
Une adresse IP publique
VMSS avec 2 instances
L’image par défaut choisie pour les machines virtuelles dans vmSS est 2016-Datacenter Windows Server et la référence SKU est Standard_DS1_v2
Exemple 2 : Créer un vmSS à l’aide de DefaultParameterSet
L’exemple complexe ci-dessus crée un VMSS, voici une explication de ce qui se passe :
La première commande crée un groupe de ressources avec le nom et l’emplacement spécifiés.
La deuxième commande utilise l’applet de commande New-AzStorageAccount pour créer un compte de stockage.
La troisième commande utilise ensuite l’applet de commande Get-AzStorageAccount pour obtenir le compte de stockage créé dans la deuxième commande et stocke le résultat dans la variable $STOAccount.
La cinquième commande utilise l’applet de commande New-AzVirtualNetworkSubnetConfig pour créer un sous-réseau et stocke le résultat dans la variable nommée $SubNet.
La sixième commande utilise l’applet de commande New-AzVirtualNetwork pour créer un réseau virtuel et stocke le résultat dans la variable nommée $VNet.
La septième commande utilise Get-AzVirtualNetwork pour obtenir des informations sur le réseau virtuel créé dans la sixième commande et stocke les informations dans la variable nommée $VNet.
La huitième et neuvième commande utilise New-AzPublicIpAddress et Get- AzureRmPublicIpAddress pour créer et obtenir des informations à partir de cette adresse IP publique.
Les commandes stockent les informations dans la variable nommée $PubIP.
La dixième commande utilise l’applet de commande New-AzureRmLoadBalancerFrontendIpConfig pour créer un équilibreur de charge front-end et stocke le résultat dans la variable nommée $Frontend.
La onzee commande utilise new-AzLoadBalancerBackendAddressPoolConfig pour créer une configuration de pool d’adresses back-end et stocke le résultat dans la variable nommée $BackendAddressPool.
La douzième commande utilise New-AzLoadBalancerProbeConfig pour créer une sonde et stocker les informations de sonde dans la variable nommée $Probe.
La treizeème commande utilise l’applet de commande New-AzLoadBalancerInboundNatPoolConfig pour créer une configuration de pool d’adresses réseau entrantes de l’équilibreur de charge.
La quatorzeème commande utilise New-AzLoadBalancerRuleConfig pour créer une configuration de règle d’équilibreur de charge et stocke le résultat dans la variable nommée $LBRule.
La quinzeième commande utilise l’applet de commande New-AzLoadBalancer pour créer un équilibreur de charge et stocke le résultat dans la variable nommée $ActualLb.
La sixième commande utilise Get-AzLoadBalancer pour obtenir des informations sur l’équilibreur de charge créé dans la quinzeième commande et stocke les informations dans la variable nommée $ExpectedLb.
La dix-septième commande utilise l’applet de commande New-AzVmssIpConfig pour créer une configuration IP VMSS et stocke les informations dans la variable nommée $IPCfg.
La dix-huitième commande utilise l’applet de commande New-AzVmssConfig pour créer un objet de configuration VMSS et stocke le résultat dans la variable nommée $VMSS.
La dix-neuvième commande utilise l’applet de commande New-AzVmss pour créer le service VMSS.
Exemple 3 : Créer un vmSS avec une valeur UserData
$ResourceGroupName = 'RESOURCE GROUP NAME';
$vmssName = 'VMSSNAME';
$domainNameLabel = "dnl" + $ResourceGroupName;
# Create credentials, I am using one way to create credentials, there are others as well.
# Pick one that makes the most sense according to your use case.
$vmPassword = ConvertTo-SecureString -String "****" -AsPlainText -Force;
$vmCred = New-Object System.Management.Automation.PSCredential('USERNAME', $vmPassword);
$text = "UserData value to encode";
$bytes = [System.Text.Encoding]::Unicode.GetBytes($text);
$userData = [Convert]::ToBase64String($bytes);
$securityTypeStnd = "Standard";
#Create a VMSS
New-AzVmss -ResourceGroupName $ResourceGroupName -Name $vmssName -Credential $vmCred -DomainNameLabel $domainNameLabel -Userdata $userData -SecurityType $securityTypeStnd;
$vmss = Get-AzVmss -ResourceGroupName $ResourceGroupName -VMScaleSetName $vmssName -InstanceView:$false -Userdata;
Créer un VMSS avec une valeur UserData
Exemple 4 : Créer une machine virtuelle avec le type de sécurité TrustedLaunch
Spécifie s’il faut installer implicitement l’extension ProxyAgent. Cette option est actuellement applicable uniquement pour le système d’exploitation Linux.
Méthode d’allocation pour l’adresse IP publique du groupe identique (statique ou dynamique). Si aucune valeur n’est fournie, l’allocation est statique.
Nom du pool d’adresses back-end à utiliser dans l’équilibreur de charge pour ce groupe identique. Si aucune valeur n’est fournie, un nouveau pool principal est créé, avec le même nom que le groupe identique.
Numéros de port principaux utilisés par l’équilibreur de charge du groupe identique pour communiquer avec les machines virtuelles dans le groupe identique. Si aucune valeur n’est spécifiée, les ports 3389 et 5985 sont utilisés pour les machines virtuelles Windows, et le port 22 est utilisé pour les machines virtuelles Linux.
Informations d’identification de l’administrateur (nom d’utilisateur et mot de passe) pour les machines virtuelles de ce groupe identique.
Nom d’utilisateur Restriction:
Windows : Impossible de contenir des caractères spéciaux /"[] :|<>+= ;, ?*@> ou se terminez par « ».
Linux : le nom d’utilisateur ne doit contenir que des lettres, des chiffres, des traits d’union et des traits de soulignement et ne peut pas commencer par un trait d’union ou un nombre. Valeurs non autorisées : « administrateur », « admin », « user », « user1 », « test », « user2 », « test1 », « user3 », « admin1 », « admin1 », « 1 », « 123 », « a », « actuser », « adm », « admin2 », « aspnet », « backup », « console », « david », « guest », « john », « owner », « root », « server », « sql », « support », « support_388945a0 », « sys », « test2 », « test3 », « user4 », « user5 ». Longueur minimale : 1 caractère Longueur maximale : 20 caractères pour Windows, 64 caractères pour Linux Mot de passe
Doit avoir 3 des éléments suivants : 1 caractère minuscule, 1 caractère majuscule, 1 nombre et 1 caractère spécial.
La valeur doit être comprise entre 12 et 123 caractères.
Spécifie le type de contrôleur de disque configuré pour la machine virtuelle et VirtualMachineScaleSet. Cette propriété est uniquement prise en charge pour les machines virtuelles dont le disque du système d’exploitation et la référence SKU de machine virtuelle prennent en charge la génération 2 (https://learn.microsoft.com/en-us/azure/virtual-machines/generation-2), vérifiez la fonctionnalité HyperVGenerations retournée dans le cadre des fonctionnalités de référence SKU de machine virtuelle dans la réponse de l’API SKU Microsoft.Compute pour la région contient V2 (https://learn.microsoft.com/rest/api/compute/resourceskus/list). Pour plus d’informations sur les types de contrôleurs de disque pris en charge, consultez https://aka.ms/azure-diskcontrollertypes.
Étiquette de nom de domaine pour le nom de domaine public Fully-Qualified nom de domaine (FQDN) pour ce groupe identique. Il s’agit du premier composant du nom de domaine qui est automatiquement affecté au groupe identique. Les noms de domaine attribués automatiquement utilisent le formulaire (<DomainNameLabel>.<Location>.cloudapp.azure.com). Si aucune valeur n’est fournie, l’étiquette de nom de domaine par défaut est la concaténation et <ScaleSetName><ResourceGroupName>.
Définit le nom de la zone de périphérie. Si elle est définie, la requête est routée vers la zone de périphérie spécifiée au lieu de la région principale.
Indique si les mises à niveau du système d’exploitation doivent être appliquées automatiquement aux instances de groupe identique de manière propagée lorsqu’une version plus récente de l’image devient disponible.
Ce paramètre active le chiffrement de tous les disques, y compris le disque Resource/Temp sur l’hôte lui-même.
Valeur par défaut : le chiffrement sur l’hôte est désactivé, sauf si cette propriété a la valeur true pour la ressource.
Stratégie d’éviction pour le groupe de machines virtuelles identiques de faible priorité. Seules les valeurs prises en charge sont « Libérer » et « Supprimer ».
Nom du pool d’adresses front-end à utiliser dans l’équilibreur de charge du groupe identique. Si aucune valeur n’est fournie, un nouveau pool d’adresses front-end est créé, avec le même nom que le groupe identique.
permet d’effectuer une demande conditionnelle pour les méthodes PUT et autres méthodes non sécurisées. Le serveur retourne uniquement les ressources demandées si la ressource correspond à l’une des valeurs ETag répertoriées. Omettez cette valeur pour toujours remplacer la ressource actuelle. Spécifiez la dernière valeur ETag vue pour empêcher le remplacement accidentel des modifications simultanées.
Utilisé pour effectuer une requête conditionnelle pour les méthodes GET et HEAD. Le serveur retourne uniquement les ressources demandées si aucune des valeurs ETag répertoriées ne correspond à l’entité actuelle. Utilisé pour effectuer une requête conditionnelle pour les méthodes GET et HEAD. Le serveur retourne uniquement les ressources demandées si aucune des valeurs ETag répertoriées ne correspond à l’entité actuelle. Définissez la valeur « * » pour autoriser la création d’un nouveau jeu d’enregistrements, mais pour empêcher la mise à jour d’un jeu d’enregistrements existant. D’autres valeurs entraînent une erreur du serveur, car elles ne sont pas prises en charge.
Alias de l’image pour les machines virtuelles de ce groupe identique. Si aucune valeur n’est fournie, l’image « Windows Server 2016 DataCenter » est utilisée. Les alias disponibles sont : Win2022AzureEdition, Win2022AzureEditionCore, Win2019Datacenter, Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, UbuntuLTS, Ubuntu2204, CentOS85Gen2, Debian11, OpenSuseLeap154Gen2, RHELRaw8LVMGen2, SuseSles15SP3, FlatcarLinuxFreeGen2.
Spécifie l’ID unique de l’image de galerie partagée pour le déploiement de machines virtuelles. Cette opération peut être extraite de l’appel GET de l’image de galerie partagée.
Nom de l’équilibreur de charge à utiliser avec ce groupe identique. Un nouvel équilibreur de charge portant le même nom que le groupe identique est créé si aucune valeur n’est spécifiée.
Emplacement Azure où ce groupe identique sera créé. Si aucune valeur n’est spécifiée, l’emplacement est déduit à partir de l’emplacement d’autres ressources référencées dans les paramètres.
Spécifie le mode d’orchestration du groupe de machines virtuelles identiques. Valeurs possibles : Uniform, Flexible
La création d’un VMSS dans OrchestrationMode :Flexible à l’aide du jeu de paramètres par défaut entraîne la remplissage par défaut de VirtualMachineScaleSetVMProfile.
Si vous souhaitez créer un VMSS avec un virtualMachineScaleSetVMProfile vide, commencez par créer un objet VirtualMachineScaleSet avec une propriété VMProfile vide à l’aide de New-AzVmssConfig, puis créez vmSS à l’aide d’un jeu de paramètres simple.
Priorité de la machine virtuelle dans le groupe identique. Seules les valeurs prises en charge sont « Regular », « Spot » et « Low ».
« Normal » est destiné à une machine virtuelle normale.
« Spot » est destiné à une machine virtuelle spot.
'Low' est également destiné à la machine virtuelle spot, mais est remplacé par 'Spot'. Utilisez « Spot » au lieu de « Low ».
Nom de l’adresse IP publique à utiliser avec ce groupe identique. Une nouvelle adresse IP publique portant le même nom que le groupe identique est créée si aucune valeur n’est fournie.
Spécifie le nom du groupe de ressources de VMSS. Si aucune valeur n’est spécifiée, un nouveau Groupe de ressources est créé à l’aide du même nom que le groupe identique.
Règles à suivre lors de la mise à l’échelle d’un groupe de machines virtuelles identiques. Les valeurs possibles sont : « Default », « OldestVM » et « NewestVM ». « Par défaut » lorsqu’un groupe de machines virtuelles identiques est mis à l’échelle, le groupe identique est d’abord équilibré entre les zones s’il s’agit d’un groupe identique zonal. Ensuite, il sera équilibré entre les domaines d’erreur autant que possible. Dans chaque domaine d’erreur, les machines virtuelles choisies pour la suppression seront les plus récentes qui ne sont pas protégées contre le scale-in. « OldestVM » lorsqu’un groupe de machines virtuelles identiques est mis à l’échelle, les machines virtuelles les plus anciennes qui ne sont pas protégées contre la mise à l’échelle seront choisies pour suppression. Pour les groupes de machines virtuelles identiques zonaux, le groupe identique est d’abord équilibré entre les zones. Dans chaque zone, les machines virtuelles les plus anciennes qui ne sont pas protégées seront choisies pour suppression. « NewestVM » lorsqu’un groupe de machines virtuelles identiques est mis à l’échelle, les machines virtuelles les plus récentes qui ne sont pas protégées contre la mise à l’échelle seront choisies pour suppression. Pour les groupes de machines virtuelles identiques zonaux, le groupe identique est d’abord équilibré entre les zones. Dans chaque zone, les machines virtuelles les plus récentes qui ne sont pas protégées seront choisies pour suppression.
Nom du groupe de sécurité réseau à appliquer à ce groupe identique. Si aucune valeur n’est fournie, un groupe de sécurité réseau par défaut portant le même nom que le groupe identique est créé et appliqué au groupe identique.
ID de référence de posture de sécurité sous la forme de /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch}|latest
Spécifie le SecurityType de la machine virtuelle. Il doit être défini sur n’importe quelle valeur spécifiée pour activer UefiSettings. UefiSettings ne sera pas activé, sauf si cette propriété est définie.
Spécifie l’ID unique de l’image de galerie partagée pour le déploiement de machines virtuelles. Cette opération peut être extraite de l’appel GET de l’image de galerie partagée.
Préfixe d’adresse du sous-réseau que ce ScaleSet utilisera. Les paramètres de sous-réseau par défaut (192.168.1.0/24) sont appliqués si aucune valeur n’est fournie.
Nom du sous-réseau à utiliser avec ce groupe identique. Un nouveau sous-réseau est créé avec le même nom que le groupe identique si aucune valeur n’est fournie.
Mode de stratégie de mise à niveau pour les instances de machine virtuelle dans ce groupe identique. La stratégie de mise à niveau peut spécifier des mises à niveau automatiques, manuelles ou propagées.
Nom du réseau virtuel à utiliser avec ce groupe identique. Si aucune valeur n’est fournie, un nouveau réseau virtuel portant le même nom que le groupe identique est créé.
Taille des instances de machine virtuelle dans ce groupe identique.
Get-AzComputeResourceSku peut être utilisé pour connaître les tailles disponibles pour votre abonnement et votre région. Une taille par défaut (Standard_DS1_v2) est utilisée si aucune taille n’est spécifiée.
Préfixe d’adresse du réseau virtuel utilisé avec ce groupe identique. Les paramètres de préfixe d’adresse de réseau virtuel par défaut (192.168.0.0/16) sont utilisés si aucune valeur n’est fournie.
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.