Plans et tarification
Où se trouve l'élément dans l'admin : Services › Virtual Machines › Plans & pricing (
/vm/catalog), avec les onglets Plan, Custom plan, Cycle et Offering CloudStack. Les modèles se trouvent sur la page séparée Services › Virtual Machines › Template (/vm/templates).
Description
Un plan est une taille que les clients peuvent acheter : vCPU, RAM, disque racine et un prix, dans une zone, provenant d'une source (CloudStack ou un cluster Proxmox VE). Le client choisit un plan, un système d'exploitation et un cycle de facturation (horaire, mensuel ou une période prépayée plus longue). Les plans sont vendus dans le portail client, via l'API et sur les sites des revendeurs.
Prérequis
| Élément | Prérequis |
|---|---|
| Source | CloudStack connecté (un plan pointe vers une offre de service CloudStack) ou un cluster Proxmox VE rattaché à la zone. Voir CloudStack et Proxmox VE. |
| Zone | Une zone qui vend des machines virtuelles. Voir Zones. |
| Templates | Au moins un modèle activé et prêt. Voir OS templates. |
| Taux de change | Uniquement si vous saisissez les prix en VND. Voir Currency and exchange rates. |
| Permissions | Un administrateur ; chaque modification de prix demande une raison. |
Préparer l'infrastructure
- CloudStack : créez les offres de service que vous souhaitez vendre (publiques ou partagées avec le domaine NexCMP). Un plan pointe vers une offre. L'onglet Offering CloudStack liste en direct les offres et les offres de disque de CloudStack (mises en cache pendant 60 secondes). Lorsque la table des plans est vide, le worker crée automatiquement six plans à partir de vos offres réelles.
- Proxmox VE : rien dans Proxmox ; un plan porte son propre CPU, sa RAM et son disque. Le disque ne doit pas être plus petit que celui du template.
Connecter dans NexCMP
Comment les prix sont stockés
NexCMP stocke chaque prix en micro-dollars par heure (µ$/heure ; 1 µ$ vaut 1/1,000,000 USD). Vous pouvez saisir le prix dans l'unité de votre choix et le formulaire le convertit :
| Unité | Remarques |
|---|---|
| USD / heure (6 décimales) | Stocké tel quel. |
| USD / mois | Divisé par le paramètre d'heures par mois (730). |
| VND / mois | Converti une fois au taux de change actuel, puis stocké en µ$/heure. N'apparaît que lorsqu'un taux existe. |
Le formulaire affiche le résultat : µ$/heure, USD/heure, le prix mensuel et chaque cycle de facturation. Prix mensuel = prix horaire × 730 ; un cycle plus long est prix mensuel × mois × (1 − remise).
Ajouter un plan
Ouvrez Services › Virtual Machines › Plans & pricing et cliquez sur Add plan.
Remplissez le formulaire :
Champ Exemple de valeur Nom du plan VM-2-4Slug vide : généré à partir du nom Zone votre zone par défaut Source d'infrastructure vide pour CloudStack, ou un cluster Proxmox Offre de service CloudStack (en direct) en choisir une (affiché uniquement pour CloudStack) CPU (cœur), RAM (Mo), Disque racine (Go) 2,4096,40Offre de disque facultatif, pour une taille racine personnalisée Saisir le prix par / Prix USD / month,12Description courte 2 vCPU, 4 GB RAM, 40 GB NVMeOrdre 10Actif Activé : les clients peuvent acheter Visibilité Visible dans le catalogue Raison de la modification du prix initial priceCliquez sur OK. Le plan apparaît dans le tableau avec son prix horaire et mensuel ainsi qu'une cellule pour chaque cycle activé.

Cycles de facturation
Ouvrez l'onglet Cycle pour définir les cycles que les clients peuvent choisir et leurs remises.
| Cycle | Valeur par défaut | Remarques |
|---|---|---|
| Horaire | toujours activé | Facturé heure par heure. |
| Mensuel | activé, 0 % | |
| 1 an | activé, 10 % | |
| 2 ans | activé, 15 % | |
| 3 ans | activé, 20 % |
Vous pouvez renommer un cycle, modifier sa remise (0 à 90%) et l'activer ou le désactiver. Une modification s'applique aux VM achetées ou renouvelées après votre enregistrement ; les VM en cours d'exécution conservent leur prix bloqué.

Définir un plan de base et dériver les autres
Set base plan + derive other plans recalcule tout le tableau à partir d'un seul prix. Choisissez le plan de base et son prix, puis conservez les current price ratios entre les plans ou calculez à partir des component prices (µ$/heure par vCPU, par Go de RAM et par Go de NVMe, avec une remise forfaitaire optionnelle de 0 à 50%). Un tableau de préperception affiche les anciens et les nouveaux prix avant tout enregistrement. Cliquez sur Apply et indiquez un motif.
Lorsque vous appliquez de nouveaux prix : les VM hourly en cours d'exécution obtiennent un prix plus bas à partir de l'heure de facturation suivante, et les VM prépayées l'obtiennent au renouvellement. Si un prix augmente, les VM en cours d'exécution conservent leur ancien prix.
Plans personnalisés
L'onglet Custom plan permet aux clients de choisir leur propre vCPU, RAM et taille NVMe. Définissez le prix unitaire horaire pour un vCPU, un Go de RAM et un Go de NVMe (laissez vide pour dériver d'une remise en pourcentage), le minimum, le maximum et le pas pour chacun, ainsi que les cycles de facturation applicables. Un plan personnalisé doit coûter plus cher qu'un plan fixe de la même taille, sinon les clients ignoreraient le plan fixe ; la page signale les lignes où le personnalisé est moins cher. Activez Enable custom plans for customers pour les vendre ; s'il est désactivé, "Coming soon" s'affiche dans le portail. Chaque VM personnalisée obtient sa propre ligne de plan masquée ; ces lignes ne peuvent pas être modifiées ou supprimées tant que la VM existe.
Modifier, masquer, cloner, supprimer
| Action | Description |
|---|---|
| Edit | Modifie le nom, la description, l'ordre, le prix, l'état actif et la visibilité. |
| On/Off | Off : les clients ne peuvent pas acheter ; les VM en cours d'exécution ne sont pas affectées. |
| Hide / Show | Un plan masqué ne figure pas dans le catalogue, mais les VM existantes le conservent et un administrateur peut l'attribuer. |
| Clone | Crée un nouveau plan dans la même zone avec une nouvelle source, taille ou un nouveau prix, en masquant éventuellement l'ancien. Pour vendre la même configuration depuis CloudStack et Proxmox, clonez-la et choisissez l'autre source. |
| Move up/down | Modifie l'ordre. |
| Delete | Retire le plan de la vente et du tableau. Les VM qui l'utilisent déjà le conservent. |
Les plans en cours d'utilisation sont verrouillés
Dès qu'un plan comporte des VM, ses paramètres zone, offering, CPU, RAM, disk et source sont verrouillés afin que les VM en cours d'exécution ne soient pas modifiées silencieusement. Utilisez Clone pour créer la nouvelle configuration ; l'ancien plan conserve ses VM.
Vérification
- Le plan apparaît dans le tableau avec le prix horaire et mensuel attendu.
- Dans le portail client, lancez une commande : la zone propose le plan et les prix des cycles correspondent à l'onglet Cycle.
- Passez une commande de test, vérifiez le débit sur le portefeuille par rapport au prix affiché et supprimez la VM.
Limites et remarques
- Un plan appartient à une seule zone et à une seule source.
- Les prix sont stockés en µ$/heure ; le prix en VND affiché est dérivé et arrondi par le VND rounding step (voir la page des devises). Le portefeuille est toujours en USD.
- Les revendeurs obtiennent un prix de gros et de détail dérivé du prix catalogue ; la modification du prix d'un plan existant ne copie pas les prix personnalisés du revendeur vers un clone dont vous avez modifié la configuration.
- Les limites min, max et de pas des plans personnalisés sont vérifiées par rapport aux limites propres de CloudStack ; un disque maximum supérieur à celui de CloudStack
storage.max.volume.sizeentraîne l'échec des déploiements et un remboursement.
Dépannage
| Symptôme | Cause | Solution |
|---|---|---|
| "Nom de plan requis" / "Offre de service requise" | Champ manquant | Remplissez le nom ; pour CloudStack, choisissez une offre. |
| "CPU/RAM/disk doit être > 0" | Une taille est vide ou égale à zéro | Saisissez les trois. |
| "Prix non valide (µ$/hr doit être compris entre 1 … 100,000,000)" | Le prix est hors limites | Vérifiez l'unité et le montant. |
| "Le changement de prix nécessite un motif" | Motif vide lors de la modification | Saisissez un motif (3 caractères ou plus). |
| "L'offre "X" est 4c/8192 mais le plan spécifie 2c/4096 - CloudStack provisionnera selon l'offre. Enregistrer ?" | Les valeurs du plan diffèrent de celles de l'offre | Faites-les correspondre ou confirmez pour conserver la taille de CloudStack. |
| "Échec de la récupération des offres depuis CloudStack" | La connexion est interrompue ou la clé n'a pas les permissions requises | Voir CloudStack. |
| "Le modèle n'est pas prêt sur CloudStack - le déploiement échouera. Activer quand même ?" | Vous avez activé un modèle non prêt | Attendez que le modèle soit prêt. |
| Le plan ne peut pas être modifié ("contient des VM - verrouillé") | Des machines virtuelles utilisent ce plan | Clonez-le. |
| Le plan n'apparaît pas pour les clients | Désactivé, masqué ou la zone n'est pas prête | Vérifiez Active, Visibility et le tag de zone. Voir Zones. |
| "Sélectionnez au moins 1 cycle de facturation" | Aucun cycle sélectionné pour les plans personnalisés | Cochez au moins une option. |
| "La remise groupée doit être comprise entre 0 et 50%" | Hors limites | Utilisez une valeur entre 0 et 50. |
| Option de prix en VND manquante | Aucun taux de change disponible | Mettez d'abord le taux à jour. |