Utiliser des machines virtuelles Azure Spot

S’applique aux : ✔️ Machines virtuelles Linux ✔️ Machines virtuelles Windows ✔️ Groupes identiques flexibles ✔️ Groupes identiques uniformes

L’utilisation de machines virtuelles Azure Spot vous permet de disposer de notre capacité inutilisée en réalisant des économies significatives. Dès qu’Azure aura besoin de récupérer la capacité, l’infrastructure Azure supprimera les machines virtuelles Azure Spot. Les machines virtuelles Azure Spot sont donc appropriées pour les charges de travail capables de gérer les interruptions, comme les travaux de traitement par lots, les environnements de développement et de test, les charges de travail de calcul importantes, entre autres.

La capacité disponible dépend de divers facteurs, tels que la taille, la région, l’heure, etc. Lorsque vous déployez des machines virtuelles Azure Spot, Azure alloue les machines virtuelles si de la capacité est disponible. Sachez toutefois qu’il n’y a pas de contrat SLA pour ces machines virtuelles. Une machine virtuelle Azure Spot n’offre aucune garantie de haute disponibilité. Dès qu’Azure aura besoin de récupérer la capacité, l’infrastructure Azure supprimera les machines virtuelles Azure Spot avec un préavis de 30 secondes.

Stratégie d’éviction

Les machines virtuelles peuvent être supprimées en fonction de la capacité ou du prix maximal que vous avez défini. Lorsque vous créez une machine virtuelle Azure Spot, vous pouvez affecter à la stratégie d’éviction la valeur Libérer (par défaut) ou Supprimer.

La stratégie Libérer attribue à votre machine virtuelle l’état « arrêté-libéré », ce qui vous permet de la redéployer par la suite. Toutefois, la réussite de l’allocation n’est pas garantie. Les machines virtuelles libérées sont comptabilisées dans votre quota, et les disques sous-jacents engendrent des frais de stockage.

Si vous souhaitez que votre machine virtuelle soit supprimée lorsqu’elle est écartée, vous pouvez définir la stratégie d’éviction sur la valeur Supprimer. Les machines virtuelles écartées sont supprimées en même temps que leurs disques sous-jacents. Le stockage ne vous est donc plus facturé.

Vous pouvez choisir de recevoir des notifications dans la machine virtuelle avec Azure Scheduled Events. Vous serez ainsi informé si vos machines virtuelles sont en cours d’éviction, et vous aurez 30 secondes pour terminer vos tâches et arrêter la machine virtuelle avant que ne commence l’éviction.

Option Résultat
Le prix maximal doit être >= au prix actuel. La machine virtuelle est déployée si la capacité et le quota sont disponibles.
Le prix maximal doit être < au prix actuel. La machine virtuelle n’est pas déployée. Vous recevez un message d’erreur indiquant que le prix maximal doit être >= au prix actuel.
Redémarrage d’une machine virtuelle arrêtée/libérée si le prix maximal est >= au prix actuel Si la capacité et le quota sont disponibles, la machine virtuelle est déployée.
Redémarrage d’une machine virtuelle arrêtée/libérée si le prix maximal est < au prix actuel Vous recevez un message d’erreur indiquant que le prix maximal doit être supérieur ou égal au prix actuel.
Le prix de la machine virtuelle a augmenté et il est désormais > au prix maximal. La machine virtuelle est évincée. Vous recevez une notification 30 secondes avant l’éviction.
Après l’éviction, le prix de la machine virtuelle redevient < au prix maximal. La machine virtuelle n’est pas redémarrée automatiquement. Vous pouvez redémarrer la machine virtuelle vous-même et celle-ci sera facturée au tarif actuel.
Si le prix maximal est défini sur -1 La machine virtuelle n’est pas supprimée pour des raisons de tarif. Le prix maximal sera le prix actuel (au maximum le prix des machines virtuelles standard). Le prix facturé ne dépassera jamais le tarif standard.
Modification du prix maximal Vous devez libérer la machine virtuelle pour modifier le prix maximal. Libérez la machine virtuelle, définissez un nouveau prix maximal, puis mettez à jour la machine virtuelle.

Conseil

Consultez notre guide d’éviction de machine virtuelle Azure Spot pour découvrir comment créer une charge de travail interruptible fiable dans Azure.

Limites

Les tailles de machine virtuelle suivantes ne sont pas prises en charge pour Azure Spot Virtual Machines :

  • Série B
  • Versions promotionnelles de toutes les tailles (Dv2, NV, NC, H, etc.)

Les machines virtuelles Azure Spot peuvent être déployées dans n’importe quelle région, à l’exception de Microsoft Azure China 21Vianet.

Les types d’offres suivants sont pris en charge :

  • Contrat Entreprise
  • Code de l’offre de paiement à l’utilisation (003P)
  • Sponsorisé (0036P et 0136P)
  • Pour le fournisseur de services cloud (CSP), consultez l’Espace partenaires ou contactez directement votre partenaire.

Tarifs

Les tarifs des machines virtuelles Azure Spot sont variables, en fonction de la région et de la référence SKU. Pour plus d’informations, consultez les prix des machines virtuelles pour Linux et Windows.

Vous pouvez également interroger les informations de tarification actuelles à l’aide de l’API des prix de vente au détail d’Azure pour demander plus d’informations sur la tarification Spot. Les meterName et skuName contiennent tous les deux Spot.

En raison de la variabilité des tarifs, vous avez la possibilité de définir un prix maximal en dollars américains (USD) ayant jusqu’à cinq décimales. Par exemple, la valeur 0.98765 correspond à un prix maximal de 0,98765 $ USD par heure. Si vous définissez -1 comme prix maximal, la machine virtuelle n’est pas supprimée en fonction du prix. Le prix de la machine virtuelle sera le prix actuel de Spot ou le prix d’une machine virtuelle standard, la valeur la plus faible étant retenue, à condition que la capacité et le quota soient disponibles.

Historique des tarifs et de l’éviction

Portail

Vous pouvez voir l’historique des tarifs et des taux d’éviction par taille dans une région du portail. Sélectionnez Voir l'historique des prix et comparer les prix dans les régions proches pour afficher une table ou un graphique de tarification pour une taille spécifique. Les tarifs et les taux d’éviction des images suivantes sont uniquement des exemples.

Graphique :

Capture d’écran des options de région avec la différence de tarification et les taux d’éviction sous forme de graphique.

Table:

Capture d’écran des options de région avec la différence de tarification et les taux d’éviction sous forme de table.

Azure Resource Graph

Vous pouvez accéder par programmation aux données de référence SKU de machines virtuelles Spot pertinentes via Azure Resource Graph. Obtenez l’historique des prix lors des 90 derniers jours et les taux d’éviction au cours des 28 derniers jours pour identifier les références SKU qui répondent mieux à vos besoins spécifiques.

Principaux avantages :

  • Interroger par programmation les taux d’éviction Spot et les prix Spot des derniers mois via ARM ou l’Explorateur ARG dans le portail Azure
  • Créer une requête personnalisée pour extraire les données spécifiques pertinentes pour votre scénario avec la possibilité de filtrer plusieurs paramètres, tels que la référence SKU et la région
  • Comparer facilement des données entre plusieurs régions et références SKU
  • Rechercher une autre référence SKU ou région Spot avec un prix et/ou un taux d’éviction inférieur

Essayez les exemples de requêtes suivants concernant l’historique des prix et les taux d’éviction Spot à l’aide de l’Explorateur ARG dans le portail Azure. Les données de l’historique des prix et des taux d’éviction Spot sont disponibles dans la table SpotResources. 

Exemple de requête sur l’historique des prix Spot :

SpotResources 
| where type =~ 'microsoft.compute/skuspotpricehistory/ostype/location' 
| where sku.name in~ ('standard_d2s_v4', 'standard_d4s_v4') 
| where properties.osType =~ 'linux' 
| where location in~ ('eastus', 'southcentralus') 
| project skuName = tostring(sku.name), osType = tostring(properties.osType), location, latestSpotPriceUSD = todouble(properties.spotPrices[0].priceUSD) 
| order by latestSpotPriceUSD asc 

Exemple de requête sur les taux d’éviction Spot :

SpotResources 
| where type =~ 'microsoft.compute/skuspotevictionrate/location' 
| where sku.name in~ ('standard_d2s_v4', 'standard_d4s_v4') 
| where location in~ ('eastus', 'southcentralus') 
| project skuName = tostring(sku.name), location, spotEvictionRate = tostring(properties.evictionRate) 
| order by skuName asc, location asc

Vous pouvez également essayer l’API REST ARG pour obtenir les données de l’historique des prix et de l’historique des taux d’éviction.

Forum aux questions

Q : Une fois créée, la machine virtuelle Azure Spot est-elle identique à la machine virtuelle standard habituelle ?

R : Oui, sauf qu’il n’existe aucun contrat SLA pour Azure Spot Virtual Machines et qu’elles peuvent être supprimées à tout moment.

Q : Que faire quand votre machine virtuelle est supprimée alors que vous avez encore besoin de capacité ?

R : Nous vous recommandons d’utiliser des machines virtuelles standard au lieu de machines virtuelles Azure Spot si vous avez besoin de capacité immédiatement.

Q : Comment est géré le quota pour les machines virtuelles Azure Spot ?

R : Les machines virtuelles Azure Spot disposent d’un pool de quotas distinct. Le quota Spot est partagé entre les machines virtuelles et les instances de groupe identique. Pour plus d’informations, consultez Abonnement Azure et limites, quotas et contraintes de service.

Q : Puis-je demander un quota supplémentaire pour les machines virtuelles Azure spot ?

R : Oui, vous pouvez demander une augmentation de votre quota pour Azure Spot Virtual Machines via le processus de demande de quota standard.

Q : Où puis-je poster des questions ?

R : Vous pouvez poster et étiqueter vos questions avec azure-spot sur Questions & réponses.

Q : Comment puis-je modifier le prix maximal d’une machine virtuelle spot ?

R : Vous devez libérer la machine virtuelle pour modifier le prix maximal. Vous pouvez ensuite modifier le prix maximal dans le portail, dans la section Configuration pour la machine virtuelle.

Étapes suivantes

Utilisez l’interface CLI, le portail, le modèle ARM ou PowerShell pour déployer des machines virtuelles Azure Spot.

Vous pouvez également déployer un groupe identique avec les instances de machines virtuelles Azure Spot.

Si vous rencontrez une erreur, consultez Codes d’erreur.