

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 分割コスト配分データの例
<a name="example-split-cost-allocation-data"></a>

次の例の目的は、個々の Amazon ECS サービス、Amazon ECS クラスター内のタスク、Amazon EKS クラスター内の Kubernetes 名前空間とポッドのコストを計算することによって、分割コスト割り当てデータがどのように計算されるかを示すことです。例全体で使用されている料金は、説明のみを目的としています。

**注記**  
この例では、Amazon EKS クラスターで実行されている Kubernetes 名前空間とポッドを示しています。その後、Amazon ECS クラスターで実行されている Amazon ECS サービスとタスクに同じコストモデルを適用できます。

1 時間あたりの使用量は以下のとおりです。
+ 2 つの名前空間と 4 つのポッドで構成される単一インスタンス (m5.xlarge) 共有クラスターで、1 時間稼働します。
+ インスタンス構成は 4 vCPU と 16 GB です。
+ インスタンスの償却コストは 1 時間あたり 1 USD です。

分割コスト配分データでは、CPU とメモリの相対的な単位重量を 9:1 の比率で計算しています。これは、の vCPU 1 時間あたりの料金と 1 時間あたり GB あたりの料金から算出されます。[AWS Fargate](https://aws.amazon.com/fargate/pricing/)

## ステップ 1: CPU とメモリの単価を計算する
<a name="example-step1"></a>

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

= 1ドル/ ((1 \$1 16GB) \$1 (9 \$1 4vCPU)) = 0.02 ドル

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

= 9 \$1 0.02 ドル = 0.17 ドル

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

= 1 \$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 USD | 0.17 USD | 0.02 USD | 

## ステップ 2: 割り当てられた容量とインスタンスの未使用容量を計算する
<a name="example-step2"></a>
+ 割り当て済み容量:親 EC2 インスタンスから Kubernetes ポッドに割り当てられたメモリと vCPU。使用済み容量とリザーブドキャパシティの最大値として定義されます。
**注記**  
メモリまたは vCPU の使用状況データがない場合は、代わりに予約データが使用されます。詳細については、「[Amazon ECS 使用状況レポート](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/usage-reports.html)」または「[Amazon EKS コストモニタリング](https://docs.aws.amazon.com/eks/latest/userguide/cost-monitoring.html)」を参照してください。
+ インスタンスの未使用容量: vCPU とメモリの未使用容量。

`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)`= 最大値 (4 — 4.9、0) = 0

`Instance-Unused-memory = Max (Memory-available - SUM(Allocated-memory), 0)`= 最大 (16 — 14、0) = 2 GB

この例では、インスタンスの CPU がサブスクリプションを超えています。これは、予約されたものよりも多くの vCPU を使用した Pod2 に起因します。


****  

| 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 | 

## ステップ 3: 分割使用率を計算する
<a name="example-step3"></a>
+ 分割使用率: EC2 インスタンスで使用可能な CPU またはメモリ全体に対する Kubernetes ポッドが使用している CPU またはメモリの割合。
+ 未使用率: EC2 インスタンスで使用されている CPU またはメモリ全体の (つまり、インスタンスの未使用の CPU またはメモリは考慮されていない) に対する Kubernetes ポッドが使用している CPU またはメモリの割合。

`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 ギガバイト/ 16ギガバイト = 0.250

`Pod1-vCPU-unused-ratio = Pod1-vCPU-split-usage-ratio / (Total-CPU-split-usage-ratio – Instance-unused-CPU)` (インスタンス未使用 CPU が 0 の場合は 0 に設定)

= 0 (インスタンス未使用 CPU は 0 なので)

`Pod1-Memory-unused-ratio = Pod1-Memory-split-usage-ratio / (Total-Memory-split-usage-ratio – Instance-unused-memory)` (インスタンス未使用メモリが 0 の場合は 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 |  | 

## ステップ 4: 分割コストと未使用コストの計算
<a name="example-step4"></a>
+ 分割コスト: Kubernetes ポッドによって割り当てられた CPU とメモリの使用量に基づく EC2 インスタンスコストの従量課金制コスト配分。
+ 未使用インスタンスコスト: インスタンス上の未使用の CPU またはメモリリソースのコスト。

`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 0.17 ドル) \$1 (0.25 \$1 16GB \$1 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 \$1 0 \$1 4 \$1 0.17 ドル) \$1 (0.286 \$1 0.125 \$1 16 \$1 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 USD | 0.01 USD | 0.23 USD | 
| Pod2 | Namespace2 | 0.38 USD | 0.02 USD | 0.40 USD | 
| Pod3 | Namespace1 | 0.18 USD | 0.01 USD | 0.19 USD | 
| Pod4 | Namespace2 | 0.18 USD | 0.01 USD | 0.19 USD | 
| Unused | Unused | 0.04 USD |  |  | 
|  |  | 1 USD | 0.04 USD | 1 USD | 

サービスのコストは、各名前空間に関連するポッドのコストの合計です。

Namespace1 の合計コスト = \$10.23 \$1 \$10.19 = \$10.42

Namespace2 の合計コスト = \$10.40 \$1 \$10.19 = \$10.59

## サンプル AWS CUR
<a name="example-savingsplan"></a>

請求期間中の EC2 インスタンスの使用量全体をカバーするSavings Plans をご利用の場合、償却コストは savingsPlan/SavingsPlanEffectiveCost を使用して計算されます。

![\[Table showing EC2 instance usage details with Savings Plans and cost breakdown.\]](http://docs.aws.amazon.com/ja_jp/cur/latest/userguide/images/savings-plan-entire-usage.png)


請求期間内の EC2 インスタンスの一部使用分をカバーするSavings Plans があり、残りの EC2 インスタンスの使用量がオンデマンド料金で請求される場合、EC2 インスタンスの償却費用は savingsPlan/SavingsPlanEffectiveCost (SavingsPlanCoveredUsage の場合) \$1 lineItem/UnblendedCost (オンデマンド使用の場合) を使用して計算されます。

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