Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Exemple de données de répartition des coûts fractionnés
L'objectif de l'exemple suivant est de vous montrer comment les données de répartition des coûts partagés sont calculées en calculant le coût des services Amazon ECS individuels, des tâches dans les clusters Amazon ECS, ainsi que de l'espace de noms et des pods Kubernetes dans les clusters Amazon EKS. Les taux utilisés dans cet exemple sont fournis à titre indicatif uniquement.
Note
L'exemple montre l'espace de noms et les pods Kubernetes exécutés dans des clusters Amazon EKS. Nous pouvons ensuite appliquer le même modèle de coût au service Amazon ECS et aux tâches exécutées dans un cluster Amazon ECS.
Vous pouvez utiliser les produits suivants en une heure :
-
Cluster partagé à instance unique (m5.xlarge) avec deux espaces de noms et quatre pods, fonctionnant pendant une heure complète.
-
La configuration de l'instance est de 4 vCPU et 16 Go de mémoire.
-
Le coût amorti de l'instance est de 1 dollar de l'heure.
Les données de répartition des coûts divisés utilisent des poids unitaires relatifs pour le processeur et la mémoire sur la base d'un ratio de 9:1. Ceci est dérivé des prix par vCPU par heure et par Go par heure en. AWS Fargate
Étape 1 : Calculez le coût unitaire du processeur et de la mémoire
Unit-cost-per-resource = Hourly-instance-cost/((Memory-weight *
Memory-available) + (CPU-weight * CPU-available))
= 1$ (1 * 16 Go) + (9* 4 vCPU)) = 0,02$
Cost-per-vCPU-hour = CPU-weight * Unit-cost-per-resource
= 9* 0,02$ = 0,17$
Cost-per-GB-hour = Memory-weight * Unit-cost-per-resource
= 1* 0,02$ = 0,02$
| Instance | Instance type | vCPU-available | Memory-available | Amortized-cost-per-hour | Cost-per-vCPU-hour | Cost-per-GB-hour |
|---|---|---|---|---|---|---|
| Instance1 | m5.xlarge | 4 | 16 | 1$ | 0,17$ | 0,02$ |
Étape 2 : Calculez la capacité allouée et la capacité inutilisée de l'instance
-
Capacité allouée : mémoire et vCPU alloués au pod Kubernetes depuis l'instance EC2 parent, définis comme le maximum de capacité utilisée et réservée.
Note
Si les données d'utilisation de la mémoire ou du vCPU ne sont pas disponibles, les données de réservation seront utilisées à la place. Pour plus d'informations, consultez les rapports d'utilisation d'Amazon ECS ou la surveillance des coûts Amazon EKS.
-
Capacité inutilisée de l'instance : capacité inutilisée du vCPU et de la mémoire.
Pod1-Allocated-vCPU = Max (1 vCPU, 0.1 vCPU)= 1 vCPU
Pod1-Allocated-memory = Max (4 GB, 3 GB)= 4 Go
Instance-Unused-vCPU = Max (CPU-available - SUM(Allocated-vCPU),
0)= Maximum (4 — 4,9, 0) = 0
Instance-Unused-memory = Max (Memory-available - SUM(Allocated-memory),
0)= Maximum (16 — 14, 0) = 2 Go
Dans cet exemple, le processeur de l'instance est dépassé par abonnement, attribué à Pod2 qui a utilisé plus de vCPU que ce qui était réservé.
| Pod name | Namespace | Reserved-vCPU | Used-vCPU | Allocated-vCPU | Reserved-memory | Used-memory | Allocated-memory |
|---|---|---|---|---|---|---|---|
| Pod1 | Namespace1 | 1 | 0.1 | 1 | 4 | 3 | 4 |
| Pod2 | Namespace2 | 1 | 1.9 | 1.9 | 4 | 6 | 6 |
| Pod3 | Namespace1 | 1 | 0.5 | 1 | 2 | 2 | 2 |
| Pod4 | Namespace2 | 1 | 0.5 | 1 | 2 | 2 | 2 |
| Unused | Unused | 0 | 2 | ||||
| 4,9 | 16 |
Étape 3 : Calculez les ratios d'utilisation fractionnés
-
Taux d'utilisation fractionné : pourcentage du processeur ou de la mémoire utilisé par le pod Kubernetes par rapport à l'ensemble du processeur ou de la mémoire disponible sur l'instance EC2.
-
Taux d'utilisation : pourcentage de processeur ou de mémoire utilisé par le pod Kubernetes par rapport à l'ensemble du processeur ou de la mémoire utilisé sur l'instance EC2 (c'est-à-dire sans tenir compte du processeur ou de la mémoire inutilisés de l'instance).
Pod1-vCPU-split-usage-ratio = Allocated-vCPU / Total-vCPU
= 1 vCPU/4,9 vCPU = 0,204
Pod1-Memory-split-usage-ratio = Allocated-GB / Total-GB
= 4 GO/16 GO = 0,250
Pod1-vCPU-unused-ratio = Pod1-vCPU-split-usage-ratio /
(Total-CPU-split-usage-ratio – Instance-unused-CPU)(défini sur 0 si Instance-unused-CPU c'est 0)
= 0 (puisque Instance-unused-CPU c'est 0)
Pod1-Memory-unused-ratio = Pod1-Memory-split-usage-ratio /
(Total-Memory-split-usage-ratio – Instance-unused-memory)(défini sur 0 si Instance-unused-memory c'est 0)
= 0,250/(1-0,125) = 0,286
| Pod name | Namespace | vCPU-split-usage-ratio | vCPU-unused-ratio | Memory-split-usage-ratio | Memory-unused-ratio |
|---|---|---|---|---|---|
| Pod1 | Namespace1 | 0,204 | 0 | 0,250 | 0,286 |
| Pod2 | Namespace2 | 0,388 | 0 | 0,375 | 0,429 |
| Pod3 | Namespace1 | 0,204 | 0 | 0.125 | 0.143 |
| Pod4 | Namespace2 | 0,204 | 0 | 0.125 | 0.143 |
| Unused | Unused | 0 | 0.125 | ||
| 1 | 1 |
Étape 4 : Calculez le coût partagé et les coûts non utilisés
-
Coût partagé : allocation du coût par utilisation du coût de l'instance EC2 en fonction du processeur alloué et de l'utilisation de la mémoire par le pod Kubernetes.
-
Coût d'instance non utilisé : coût des ressources de processeur ou de mémoire non utilisées sur l'instance.
Pod1-Split-cost = (Pod1-vCPU-split-usage-ratio * vCPU-available *
Cost-per-vCPU-hour) + (Pod1-Memory-split-usage-ratio * Memory-available *
Cost-per-GB-hour)
= (0,204 * 4 vCPU * 0,17$) + (0,25 * 16 Go* 0,02$) = 0,22$
Pod1-Unused-cost = (Pod1-vCPU-unused-ratio *
Instance-vCPU-unused-ratio * vCPU-available * Cost-per-VCPU-hour) +
(Pod1-Memory-unused-ratio * Instance-Memory-unused ratio * Memory-available
* Cost-per-GB-hour)
= (0 * 0 * 4 * 0,17$) + (0,286 * 0,125 * 16 * 0,02$) = 0,01$
Pod1-Total-split-cost = Pod1-Split-cost +
Pod1-Unused-cost
= 0,23$
| Pod name | Namespace | Split-cost | Unused-cost | Total-split-cost |
|---|---|---|---|---|
| Pod1 | Namespace1 | 0,22$ | 0,01$ | 0,23$ |
| Pod2 | Namespace2 | 0,38$ | 0,02$ | 0,40$ |
| Pod3 | Namespace1 | 0,18$ | 0,01$ | 0,19$ |
| Pod4 | Namespace2 | 0,18$ | 0,01$ | 0,19$ |
| Unused | Unused | 0,04$ | ||
| 1$ | 0,04$ | 1$ |
Le coût du service est la somme du coût des pods associés à chaque espace de noms.
Coût total de Namespace1 = 0,23$ + 0,19$ = 0,42$
Coût total de Namespace2 = 0,40$ + 0,19$ = 0,59$
Exemple de AWS CUR
Si vous avez un Savings Plans couvrant l'utilisation complète de l'instance EC2 au cours de la période de facturation, les coûts amortis sont calculés à l'aide de. savingsPlan/SavingsPlanEffectiveCost
Si vous disposez d'un plan Savings couvrant l'utilisation partielle de l'instance EC2 au cours de la période de facturation et que le reste de l'utilisation de l'instance EC2 est facturé aux tarifs à la demande, les coûts amortis de l'instance EC2 sont calculés en utilisant savingsPlan/SavingsPlanEffectiveCost (pour SavingsPlanCoveredUsage) + lineItem/UnblendedCost (pour une utilisation à la demande).