

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
<a name="example-split-cost-allocation-data"></a>

O objetivo do exemplo a seguir é mostrar como os dados de alocação de custos divididos são computados calculando o custo de serviços individuais do ECS, tarefas em clusters do Amazon ECS, namespace e pods do Kubernetes em 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](https://aws.amazon.com/fargate/pricing/).

## Etapa 1: Calcular o custo unitário da CPU e da memória
<a name="example-step1"></a>

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

= USD 1/( (1 \$1 16GB) \$1 (9 \$1 4vCPU)) = USD 0,02

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

= 9 \$1 USD 0,02 = USD 0,17

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

= 1 \$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 | \$11 | 0,17 US\$1 | \$10,02 | 

## Etapa 2: Calcular a capacidade alocada e a capacidade não utilizada da instância
<a name="example-step2"></a>
+ Capacidade alocada: a memória e a vCPU alocadas para o pod do Kubernetes a partir da instância do EC2 principal, definida 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 [Relatórios de uso do Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html) ou [Monitoramento de custos do Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/cost-monitoring.html).
+ 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 acima da assinatura, atribuída a 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
<a name="example-step3"></a>
+ Taxa de uso dividida: a porcentagem de CPU ou memória usada pelo pod do Kubernetes em comparação com a CPU ou a 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 do 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 Instance-unused-CPU for 0)

= 0 (já que Instance-unused-CPU é 0)

`Pod1-Memory-unused-ratio = Pod1-Memory-split-usage-ratio / (Total-Memory-split-usage-ratio – Instance-unused-memory)`(definido como 0 se Instance-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
<a name="example-step4"></a>
+ Custo dividido: a alocação do custo de pagamento por uso do custo da instância do EC2 com base no uso de CPU e memória alocados pelo pod do 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 \$1 4 vCPU \$1 USD 0,17) \$1 (0,25 \$1 16GB \$1 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 \$1 0 \$1 4 \$1 USD 0,17) \$1 (0,286 \$1 0,125 \$1 16 \$1 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 | \$10,22 | \$10,01 | \$10,23 | 
| Pod2 | Namespace2 | \$10,38 | \$10,02 | \$10,40 | 
| Pod3 | Namespace1 | 0,18 US\$1 | \$10,01 | 0,19 US\$1 | 
| Pod4 | Namespace2 | 0,18 US\$1 | \$10,01 | 0,19 US\$1 | 
| Unused | Unused | \$10,04 |  |  | 
|  |  | \$11 | \$10,04 | \$11 | 

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

Custo total do Namespace1 = USD 0,23 \$1 USD 0,19 = USD 0,42

Custo total do Namespace2 = USD 0,40 \$1 USD 0,19 = USD 0,59

## Amostra AWS CUR
<a name="example-savingsplan"></a>

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 Plans and cost breakdown.\]](http://docs.aws.amazon.com/pt_br/cur/latest/userguide/images/savings-plan-entire-usage.png)


Se você tiver um Savings Plans 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) \$1 (para SavingsPlanCoveredUsage uso sob demanda). lineItem/UnblendedCost

![\[Table showing EC2 instance usage details, costs, and savings plan information.\]](http://docs.aws.amazon.com/pt_br/cur/latest/userguide/images/savings-plan-partial-usage.png)
