Associer un Virtual Machine Scale Set avec orchestration uniforme à un groupe de réservations de capacité

S’applique à : ✔️ Groupe identique uniforme

Les groupes de machines virtuelles identiques ont deux modes :

  • Mode d’orchestration uniforme : dans ce mode, les Virtual Machine Scale Sets utilisent un profil de machine virtuelle ou un modèle pour monter en puissance jusqu’à la capacité souhaitée. Même s’il est possible de gérer ou personnaliser des instances de machine virtuelle individuelles, le mode Uniform utilise des instances de machine virtuelle identiques. Ces instances sont exposées par le biais des API de machine virtuelle des Virtual Machine Scale Sets et ne sont pas compatibles avec les commandes standard de l’API de machine virtuelle Azure IaaS. Étant donné que le groupe identique effectue toutes les opérations de machine virtuelle, les réservations sont associées directement au Virtual Machine Scale Set. Une fois le groupe identique associé à la réservation, toutes les allocations de machines virtuelles suivantes sont effectuées sur la réservation.
  • Mode d’orchestration flexible : dans ce mode, vous bénéficiez d’une plus grande flexibilité pour gérer les instances de machine virtuelle du Virtual Machine Scale Set, car elles peuvent utiliser les API de machine virtuelle Azure IaaS standard au lieu d’utiliser l’interface de groupe identique. Pour utiliser des réservations avec le mode d’orchestration flexible, définissez les propriétés du Virtual Machine Scale Set et de la réservation de capacité sur chaque machine virtuelle.

Pour en savoir plus sur ces modes, consultez Modes d’orchestration des groupes de machines virtuelles identiques.

Ce contenu s’applique au mode d’orchestration uniforme. Pour le mode d’orchestration flexible, consultez Associer un Virtual Machine Scale Set avec orchestration flexible à un groupe de réservations de capacité

Limitations des groupes identiques dans l’orchestration uniforme

  • Pour que les groupee de machines virtuelles identiques dans l’orchestration uniforme soient compatibles avec la réservation de capacité, la propriété singlePlacementGroup doit avoir la valeur false.
  • L’option de disponibilité Diffusion statique fixe pour les groupes identiques uniformes à plusieurs zones n’est pas prise en charge avec la réservation de capacité. Cette option requiert l’utilisation de 5 domaines d’erreur, tandis que les réservations prennent uniquement en charge jusqu’à 3 domaines d’erreur pour des tailles d’usage général. L’approche recommandée consiste à utiliser l’option de diffusion maximale qui répartit les machines virtuelles sur autant de domaines d’erreur que possible dans chaque zone. Si nécessaire, configurez une configuration de domaine d’erreur personnalisée inférieure ou égale à 3.

Il existe d’autres restrictions lors de l’utilisation de la réservation de capacité. Pour obtenir la liste complète, reportez-vous à la vue d’ensemble des réservations de capacité.

Associer un nouveau Virtual Machine Scale Set à un groupe de réservations de capacité

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 ce changement et les actions que vous devez entreprendre, consultez l’article Changement cassant pour les clients VMSS PowerShell/CLI – Hub Communauté Microsoft

Pour associer un nouveau Virtual Machine Scale Set uniforme à un groupe de réservations de capacité, construisez la requête PUT suivante auprès du fournisseur Microsoft. Compute :

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}?api-version=2021-04-01

Ajoutez la propriété capacityReservationGroup dans la propriété virtualMachineProfile :

{ 
    "name": "<VMScaleSetName>", 
    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}", 
    "type": "Microsoft.Compute/virtualMachineScaleSets", 
    "location": "eastus", 
    "sku": { 
        "name": "Standard_D2s_v3", 
        "tier": "Standard", 
        "capacity": 3 
}, 
"properties": { 
    "virtualMachineProfile": { 
        "capacityReservation": { 
            "capacityReservationGroup":{ 
                "id":"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroup/{CapacityReservationGroupName}" 
            } 
         }, 
        "osProfile": { 
            … 
        }, 
        "storageProfile": { 
            … 
        }, 
        "networkProfile": { 
            …,
            "extensionProfile": { 
                … 
            } 
        } 
    } 

Associer un Virtual Machine Scale Set existant à un groupe de réservations de capacité

Pour ajouter un groupe de réservations de capacité existant à un groupe identique uniforme existant, vous devez :

  • Arrêter le groupe identique pour libérer les instances de machine virtuelle
  • Mettre à jour le groupe identique pour utiliser un groupe de réservations de capacité correspondant
  • Démarrer le groupe identique

Ce processus garantit que le placement des réservations de capacité et le groupe identique dans la région sont compatibles.

Remarques importantes sur les stratégies de mise à niveau

  • Mise à niveau automatique : dans ce mode, les instances de machine virtuelle du groupe identique sont automatiquement associées au groupe de réservations de capacité sans aucune autre action de votre part. Lorsque les machines virtuelles du groupe identique sont réallouées, elles commencent à consommer la capacité réservée.
  • Mise à niveau propagée : dans ce mode, les instances de machine virtuelle du groupe identique sont associées au groupe de réservations de capacité sans aucune autre action de votre part. Toutefois, elles sont mises à jour par lots avec une durée de pause facultative entre elles. Lorsque les machines virtuelles du groupe identique sont réallouées, elles commencent à consommer la capacité réservée.
  • Mise à niveau manuelle : dans ce mode, rien ne se passe aux instances de machine virtuelle du groupe identique lorsque le Virtual Machine Scale Set est attaché à un groupe de réservations de capacité. Vous allez devoir mettre à jour chaque machine virtuelle du groupe identique en la mettant à niveau avec le dernier modèle de groupe identique.
  1. Libérer le groupe de machines virtuelles identiques.

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourcegroupname}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}/deallocate?api-version=2021-04-01
    
  2. Ajoutez la propriété capacityReservationGroup au modèle de groupe identique. Construisez la requête PUT suivante pour le fournisseur Microsoft.Compute :

    PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourcegroupname}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}?api-version=2021-04-01
    

    Dans le corps de la requête, ajoutez la propriété capacityReservationGroup :

    "location": "eastus",
    "properties": {
        "virtualMachineProfile": {
             "capacityReservation": {
                      "capacityReservationGroup": {
                            "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}"
                      }
                }
        }
    }
    

Affichez l’Association de Virtual Machine Scale Set avec la vue d’instance

Une fois que le Virtual Machine Scale Set uniforme est associé au groupe de réservations de capacité, toutes les allocations de machines virtuelles suivantes sont effectuées sur la réservation de capacité. Azure recherche automatiquement la réservation de capacité correspondante dans le groupe et consomme un emplacement réservé.

Le groupe de réservation de capacité Vue d’instance reflète les nouvelles machines virtuelles du groupe identique selon les propriétés virtualMachinesAssociated et virtualMachinesAllocated :

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}?$expand=instanceview&api-version=2021-04-01 
{ 
    "name": "<CapacityReservationGroupName>", 
    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{CapacityReservationGroupName}", 
    "type": "Microsoft.Compute/capacityReservationGroups", 
    "location": "eastus" 
}, 
    "properties": { 
        "capacityReservations": [ 
            { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{CapacityReservationName}" 
            } 
        ], 
        "virtualMachinesAssociated": [ 
            { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}/virtualMachines/{VirtualMachineId}" 
            } 
        ], 
        "instanceView": { 
            "capacityReservations": [ 
                { 
                    "name": "<CapacityReservationName>", 
                    "utilizationInfo": { 
                        "virtualMachinesAllocated": [ 
                            { 
                                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}/virtualMachines/{VirtualMachineId}" 
                            } 
                        ] 
                    },
                    "statuses": [ 
                        { 
                            "code": "ProvisioningState/succeeded", 
                            "level": "Info", 
                            "displayStatus": "Provisioning succeeded", 
                            "time": "2021-05-25T15:12:10.4165243+00:00" 
                        } 
                    ] 
                } 
            ] 
        } 
    } 
} 

Considérations relatives aux régions et aux Zones de disponibilité

Les groupes de machines virtuelles identiques peuvent être créés au niveau régional ou dans une ou plusieurs zones de disponibilité pour les protéger contre les défaillances au niveau du centre de données. Pour en savoir plus sur les Virtual Machine Scale Sets avec plusieurs zones, reportez-vous à Groupes de machines virtuelles identiques qui utilisent des zones de disponibilité.

Important

L’emplacement (région et zones de disponibilité) du Virtual Machine Scale Set et du groupe de réservations de capacité doit correspondre pour que l’association aboutisse. Pour un groupe identique régional, la région doit correspondre entre le groupe identique et le groupe de réservations de capacité. Pour un groupe identique de zone, les régions et les zones doivent correspondre entre le groupe identique et le groupe de réservations de capacité.

Lorsqu’un groupe identique est réparti sur plusieurs zones, il tente toujours de le déployer uniformément entre les zones de disponibilité incluses. En raison de ce même déploiement, un groupe de réservations de capacité doit toujours avoir la même quantité de machines virtuelles réservées dans chaque zone. En guise d’illustration de ce qui est important, prenons l’exemple suivant.

Dans cet exemple, une quantité différente est réservée à chaque zone. Supposons que le Virtual Machine Scale Set évolue jusqu’à 75 instances. Étant donné que le groupe identique tente toujours de déployer uniformément entre les zones, la distribution de la machine virtuelle doit se présenter comme suit :

Zone Quantité réservée Non. de machines virtuelles de groupe identique dans chaque zone Quantité non utilisée réservée Surutilisés
1 40 25 15 0
2 20 25 0 5
3 15 25 0 10

Dans ce cas, le groupe identique est soumis à des frais supplémentaires pour 15 instances inutilisées dans la Zone 1. La scale-out s’appuie également sur 5 machines virtuelles dans la Zone 2 et 10 machines virtuelles dans la Zone 3 qui ne sont pas protégées par la réservation de capacité. Si 25 instances de capacité étaient réservées à chaque zone, toutes les 75 machines virtuelles seraient protégées par la réservation de capacité et le déploiement n’entraînerait aucun coût supplémentaire pour les instances inutilisées.

Étant donné que les réservations peuvent être surutilisées, le groupe identique peut continuer à être mis à l’échelle normalement au-delà des limites de la réservation. La seule différence est que les machines virtuelles allouées au-dessus de la quantité réservée ne sont pas couvertes par le contrat SLA de réservation de capacité. Pour en savoir plus, consultez Surallocation d’une réservation de capacité.

Étapes suivantes