Exemplo de dados de alocação de custos divididos - Exportações de dados da AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Exemplo de dados de alocação de custos divididos

O objetivo do exemplo a seguir é mostrar como os dados de alocação de custos divididos são calculados calculando o custo de serviços individuais do Amazon ECS, tarefas em clusters do Amazon ECS e namespace e pods do Kubernetes nos clusters do Amazon EKS. As taxas usadas em todo o exemplo são apenas para fins ilustrativos.

nota

O exemplo demonstra o namespace e os pods do Kubernetes em execução nos clusters do Amazon EKS. Em seguida, podemos aplicar o mesmo modelo de custo ao serviço e às tarefas do Amazon ECS executados em um cluster do Amazon ECS.

Você tem o seguinte uso em uma única hora:

  • Cluster compartilhado de instância única (m5.xlarge) com dois namespaces e quatro pods, em execução por uma hora inteira.

  • A configuração da instância é de 4 vCPUs e 16 GB de memória.

  • O custo amortizado da instância é de USD 1/hora.

Os dados de alocação de custos divididos usam pesos unitários relativos para CPU e memória com base em uma proporção de 9:1. Isso é derivado dos preços por vCPU por hora e por GB por hora no AWS Fargate.

Etapa 1: Calcular o custo unitário da CPU e da memória

Unit-cost-per-resource = Hourly-instance-cost/((Memory-weight * Memory-available) + (CPU-weight * CPU-available))

= USD 1/( (1 * 16GB) + (9 * 4vCPU)) = USD 0,02

Cost-per-vCPU-hour = CPU-weight * Unit-cost-per-resource

= 9 * USD 0,02 = USD 0,17

Cost-per-GB-hour = Memory-weight * Unit-cost-per-resource

= 1 * USD 0,02 = USD 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 US$ $0,02

Etapa 2: Calcular a capacidade alocada e a capacidade não utilizada da instância

  • Capacidade alocada: a memória e a vCPU alocadas ao pod Kubernetes da instância EC2 principal, definidas como a capacidade máxima usada e reservada.

    nota

    Se os dados de uso da memória ou da vCPU não estiverem disponíveis, os dados de reserva serão usados em vez disso. Para obter mais informações, consulte os relatórios de uso do Amazon ECS ou o monitoramento de custos do Amazon EKS.

  • Capacidade não utilizada da instância: a capacidade não utilizada da vCPU e da memória.

Pod1-Allocated-vCPU = Max (1 vCPU, 0.1 vCPU) = 1 vCPU

Pod1-Allocated-memory = Max (4 GB, 3 GB) = 4 GB

Instance-Unused-vCPU = Max (CPU-available - SUM(Allocated-vCPU), 0)= Máx (4-4,9, 0) = 0

Instance-Unused-memory = Max (Memory-available - SUM(Allocated-memory), 0)= Máx (16-14, 0) = 2 GB

Neste exemplo, a instância tem CPU em vez de assinatura, atribuída ao Pod2 que usou mais vCPU do que o reservado.

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

Etapa 3: Calcular as taxas de uso divididas

  • Taxa de uso dividida: a porcentagem de CPU ou memória usada pelo pod Kubernetes em comparação com a CPU ou memória geral disponível na instância do EC2.

  • Proporção não utilizada: a porcentagem de CPU ou memória usada pelo pod Kubernetes em comparação com a CPU ou memória geral usada na instância do EC2 (ou seja, sem considerar a CPU ou a memória não utilizadas na instância).

Pod1-vCPU-split-usage-ratio = Allocated-vCPU / Total-vCPU

= 1 vCPU / 4,9vCPU = 0,204

Pod1-Memory-split-usage-ratio = Allocated-GB / Total-GB

= 4 GB/ 16 GB = 0,250

Pod1-vCPU-unused-ratio = Pod1-vCPU-split-usage-ratio / (Total-CPU-split-usage-ratio – Instance-unused-CPU) (definido como 0 se a CPU não utilizada da instância for 0)

= 0 (já que a CPU não utilizada da instância é 0)

Pod1-Memory-unused-ratio = Pod1-Memory-split-usage-ratio / (Total-Memory-split-usage-ratio – Instance-unused-memory)(definido como 0 se I nstance-unused-memory for 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

Etapa 4: Calcular o custo dividido e os custos não utilizados

  • Custo dividido: a alocação do custo de pagamento por uso do custo da instância EC2 com base no uso alocado de CPU e memória pelo pod Kubernetes.

  • Custo da instância não utilizada: o custo dos recursos de CPU ou memória não utilizados na instância.

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 * USD 0,17) + (0,25 * 16GB * USD 0,02) = USD 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 * USD 0,17) + (0,286 * 0,125 * 16 * USD 0,02) = USD 0,01

Pod1-Total-split-cost = Pod1-Split-cost + Pod1-Unused-cost

= USD 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 US$ $0,01 0,19 US$
Pod4 Namespace2 0,18 US$ $0,01 0,19 US$
Unused Unused $0,04
$1 $0,04 $1

O custo do serviço é a soma do custo dos pods associados a cada namespace.

Custo total do Namespace1 = 0,23 USD + 0,19 USD = 0,42 USD

Custo total do Namespace2 = 0,40 USD + 0,19 USD = 0,59 USD

Amostra AWS CUR

Se seu Savings Plans cobrir todo o uso da instância do EC2 no período de cobrança, os custos amortizados serão calculados usando savingsPlan/SavingsPlanEffectiveCost.

Table showing EC2 instance usage details with Savings Plan and cost breakdown.

Se você tiver um Savings Plan cobrindo o uso parcial da instância do EC2 no período de cobrança e o restante do uso da instância do EC2 for cobrado de acordo com taxas sob demanda, os custos amortizados da instância do EC2 serão calculados usando savingsPlan/SavingsPlanEffectiveCost (para) + (para SavingsPlanCoveredUsage uso sob demanda). lineItem/UnblendedCost

Table showing EC2 instance usage details, costs, and savings plan information.