

# DynamoDB における AWS の請求および使用状況レポートを理解するためのベストプラクティス
<a name="bp-understanding-billing"></a>

 このドキュメントでは、DynamoDB に関連する `UsageType` 料金の請求コードについて説明します。

AWS は、使用したサービスのデータを含む請求および使用状況レポート (CUR) を提供します。AWS Cost and Usage Report を使用して、請求レポートを CSV 形式で Amazon S3 に公開できます。CUR を設定する際は、時間単位、日単位、または月単位で期間を分割したり、使用量をリソース ID ごとに分割するかどうかを選択できます。CUR の生成の詳細については、「[Creating Cost and Usage Reports](https://docs.aws.amazon.com/cur/latest/userguide/creating-cur.html)」を参照してください。

CSV エクスポートでは、各行に関連する属性が一覧表示されます。レポートに含まれる属性の例を以下に示します。
+ **lineitem/UsageStartDate: **明細項目の開始日時 (UTC、その時刻を含む)。
+ **lineitem/UsageEndDate: **対応する明細項目の終了日時 (UTC、その時刻は含まない)。
+ **lineitem/ProductCode: **DynamoDB では「AmazonDynamoDB」。
+ **lineitem/UsageType: **このドキュメントに列挙されている使用タイプの説明コード。
+ **lineitem/Operation: **料金が発生したオペレーション名などの請求項目の情報 (オプション)。
+ **lineitem/ResourceId: **使用されたリソースの識別子。CUR にリソース ID 別の内訳が含まれている場合に表示されます。
+ **lineitem/UsageAmount: **指定した期間に発生した使用量。
+ **lineitem/UnblendedCost: **この使用量の料金。
+ **lineitem/LineItemDescription: **各明細項目の説明。

CUR データディクショナリの詳細については、「[Cost and Usage Report (CUR) 2.0](https://docs.aws.amazon.com/cur/latest/userguide/table-dictionary-cur2.html)」を参照してください。正確な名前はコンテキストによって異なることに注意してください。

`UsageType` は、`ReadCapacityUnit-Hrs`、`USW2-ReadRequestUnits`、`EU-WriteCapacityUnit-Hrs`、`USE1-TimedPITRStorage-ByteHrs` などの値を持つ文字列です。各使用タイプは、オプションのリージョンプレフィックスで始まります。プレフィックスがない場合、us-east-1 リージョンであることを示します。以下の表では、簡易的な請求リージョンコードを従来のリージョンコードとリージョン名にマッピングしています。

例えば、`USW2-ReadRequestUnits` という使用は、us-west-2 で消費される読み取りリクエストユニットを示します。


****  

| 請求リージョンコード | リージョンコード | リージョン名 | 
| --- | --- | --- | 
| AFS1 | af-south-1 | アフリカ (ケープタウン) | 
| APE1 | ap-east-1 | アジアパシフィック (香港) | 
| APN1 | ap-northeast-1 | アジアパシフィック (東京) | 
| APN2 | ap-northeast-2 | アジアパシフィック (ソウル) | 
| APN3 | ap-northeast-3 | アジアパシフィック (大阪) | 
| APS1 | ap-southeast-1 | アジアパシフィック (シンガポール) | 
| APS2 | ap-southeast-2 | アジアパシフィック (シドニー) | 
| APS3 | ap-south-1 | アジアパシフィック (ムンバイ) | 
| APS4 | ap-southeast-3 | アジアパシフィック (ジャカルタ) | 
| APS5 | ap-south-2 | アジアパシフィック (ハイデラバード) | 
| APS6 | ap-southeast-4 | アジアパシフィック (メルボルン) | 
| CAN1 | ca-central-1 | カナダ (中部) | 
| EU | eu-west-1 | 欧州 (アイルランド) | 
| EUC1 | eu-central-1 | 欧州 (フランクフルト) | 
| EUC2 | eu-central-2 | 欧州 (チューリッヒ) | 
| EUN1 | eu-north-1 | 欧州 (ストックホルム) | 
| EUS1 | eu-south-1 | 欧州 (ミラノ) | 
| EUS2 | eu-south-2 | 欧州 (スペイン) | 
| EUW1 | eu-west-1 | 欧州 (アイルランド) | 
| EUW2 | eu-west-2 | 欧州 (ロンドン) | 
| EUW3 | eu-west-3 | 欧州 (パリ) | 
| ILC1 | il-central-1 | イスラエル (テルアビブ) | 
| MEC1 | me-central-1 | 中東 (アラブ首長国連邦) | 
| MES1 | me-south-1 | 中東 (バーレーン) | 
| SAE1 | sa-east-1 | 南米 (サンパウロ) | 
| USE1 (デフォルト) | us–east–1 | 米国東部 (バージニア北部) | 
| USE2 | us-east-2 | 米国東部 (オハイオ) | 
| UGE1 | us-gov-east-1 | 米国東部政府 | 
| UGW1 | us-gov-west-1 | 米国西部政府 | 
| USW1 | us-west-1 | 米国西部 (北カリフォルニア) | 
| USW2 | us-west-2 | 米国西部 (オレゴン) | 

以下のセクションでは、`REG-UsageType` パターンを使用して DynamoDB の料金を表示します。REG は使用が発生したリージョンを示し、usageType は請求タイプのコードを示します。例えば、CSV ファイルに `USW1- ReadCapacityUnit-Hrs` という明細項目がある場合、その項目は US-west-1 でプロビジョニングされた読み込みキャパシティの使用量が発生したことを示します。この場合、リストには「`REG-ReadCapacityUnit-Hrs`」と表示されます。

**Topics**
+ [スループット容量](#bp-understanding-billing.throughput)
+ [Streams](#bp-understanding-billing.streams)
+ [Storage](#bp-understanding-billing.storage)
+ [バックアップと復元](#bp-understanding-billing.backup)
+ [データ転送](#bp-understanding-billing.datatransfer)
+ [CloudWatch Contributor Insights](#bp-understanding-billing.cw)
+ [DynamoDB Accelerator (DAX)](#bp-understanding-billing.dax)

## スループット容量
<a name="bp-understanding-billing.throughput"></a>

**プロビジョニングされたキャパシティの読み取りと書き込み**

DynamoDB テーブルをプロビジョンドキャパシティモードで作成する場合、アプリケーションに必要と想定される読み取りキャパシティを指定します。使用タイプはテーブルクラス (Standard または Standard-Infrequent Access) によって異なります。1 秒あたりの使用率に基づいて読み取りと書き込みをプロビジョニングしますが、料金はプロビジョニングされた容量に基づいて時間単位で課金されます。


****  

| UsageType | 単位 | 詳細度 | 説明 | 
| --- | --- | --- | --- | 
| REG-ReadCapacityUnit-Hrs | RCU 時 | 時 | Standard テーブルクラスを使用するプロビジョンドキャパシティモードでの読み取りに対して発生する料金。 | 
| REG-IA-ReadCapacityUnit-Hrs  | RCU 時 | 時 | Standard-IA テーブルクラスを使用するプロビジョンドキャパシティモードでの読み取りに対して発生する料金。 | 
| REG-WriteCapacityUnit-Hrs | WCU 時 | 時 | Standard テーブルクラスを使用するプロビジョンドキャパシティモードでの書き込みに対して発生する料金。 | 
| REG-IA-WriteCapacityUnit-Hrs  | WCU 時 | 時 | Standard-IA テーブルクラスを使用するプロビジョンドキャパシティモードでの書き込みに対して発生する料金。 | 

**リザーブドキャパシティの読み取りと書き込み**

リザーブドキャパシティでは、1 回限りの前払い料金を支払い、期間中、プロビジョニングされた最小使用レベルを支払う契約を結びます。リザーブドキャパシティは、割引された時間単位の料金で請求されます。リザーブドキャパシティを超えてプロビジョニングしたキャパシティには、標準のプロビジョンされたキャパシティの料金が請求されます。リザーブドキャパシティは、Standard テーブルクラスを使用する DynamoDB テーブルの単一リージョンのプロビジョニングされた読み取りおよび書き込みキャパシティユニット (RCU および WCU) で使用できます。1 年および 3 年のリザーブドキャパシティはどちらも同じ SKU を使用して請求されます。


****  

| UsageType | 単位 | 詳細度 | 説明 | 
| --- | --- | --- | --- | 
| REG-HeavyUsage:dynamodb.read | RCU 時 | 前払い、その後月払い | リザーブドキャパシティの読み取り料金: 1 回限りの前払い料金と、割引されたコミット済みの RCU 時をすべてカバーする月額料金が毎月請求されます。対応するゼロコスト REG-ReadCapacityUnit-Hrs 明細項目が表示されます。 | 
| REG-HeavyUsage:dynamodb.write | WCU 時 | 前払い、その後月払い | リザーブドキャパシティの書き込み料金: 1 回限りの前払い料金と、割引されたコミット済みの WCU 時をすべてカバーする月額料金が毎月請求されます。対応するゼロコスト REG-WriteCapacityUnit-Hrs 明細項目が表示されます。 | 

**オンデマンドキャパシティの読み取りと書き込み**

DynamoDB テーブルをオンデマンドキャパシティモードで作成する場合、アプリケーションが実行する読み取りと書き込みに対してのみ料金が発生します。読み取りリクエストと書き込みリクエストの料金は、テーブルクラスによって異なります。


****  

| UsageType | 単位 | 詳細度 | 説明 | 
| --- | --- | --- | --- | 
| REG-ReadRequestUnits | RRU | Unit | Standard テーブルクラスを使用するオンデマンドキャパシティモードでの読み取りに対して発生する料金。 | 
| REG-IA-ReadRequestUnits | RRU | Unit | Standard-IA テーブルクラスを使用するオンデマンドキャパシティモードでの読み取りに対して発生する料金。 | 
| REG-WriteRequestUnits | WRU | Unit | Standard テーブルクラスを使用するオンデマンドキャパシティモードでの書き込みに対して発生する料金。 | 
| REG-IA-WriteRequestUnits | WRU | Unit | Standard-IA テーブルクラスを使用するオンデマンドキャパシティモードでの書き込みに対して発生する料金。 | 

**グローバルテーブルの読み取りと書き込み**

DynamoDB では、各レプリカテーブルで使用されているリソースに基づいてグローバルテーブルの使用料金が請求されます。プロビジョニングされたグローバルテーブルの場合、グローバルテーブルへの書き込みリクエストは標準 WCU ではなくレプリケート WCU (rWCU) で測定され、グローバルテーブルのグローバルセカンダリインデックスへの書き込みは WCU で測定されます。オンデマンドグローバルテーブルでは、書き込みリクエストは標準 WRU ではなくレプリケート WRU (rWRU) で測定されます。レプリケーションに使用される rWCU の数または rWRU の数は、使用しているグローバルテーブルのバージョンによって異なります。料金は、テーブルクラスによって異なります。

グローバルセカンダリインデックス (GSI) への書き込みは、標準書き込み単位 (WCU と WRU) を使用して請求されます。読み取りリクエストとデータストレージは、単一リージョンのテーブルと同様に請求されます。

 テーブルレプリカを追加して新しいリージョンでグローバルテーブルを作成または拡張した場合、DynamoDB では、復元されたデータ 1 GB ごとに、追加されたリージョンのテーブル復元に対して料金が請求されます。復元されたデータは REG-RestoreDataSize-Bytes として請求されます。詳細については、「[DynamoDB のバックアップと復元](Backup-and-Restore.md)」を参照してください。クロスリージョンレプリケーションや、データを含むテーブルへのレプリカの追加にも、データ転送の料金が発生します。

 DynamoDB グローバルテーブルでオンデマンドキャパシティモードを選択すると、各レプリカテーブルでアプリケーションが使用するリソースに対してのみ請求されます。


****  

| UsageType | 単位 | 詳細度 | 説明 | 
| --- | --- | --- | --- | 
| REG-ReplWriteCapacityUnit-Hrs | rWCU 時 | 時 | グローバルテーブル、プロビジョンド、Standard テーブルクラス。 | 
| REG-IA-ReplWriteCapacityUnit-Hrs | rWCU 時 | 時 | グローバルテーブル、プロビジョンド、Standard-IA テーブルクラス。 | 
| REG-ReplWriteRequestUnits  | rWRU | Unit | グローバルテーブル、オンデマンド、Standard テーブルクラス。 | 
| REG-IA-ReplWriteRequestUnits | rWRU | Unit | グローバルテーブル、オンデマンド、Standard- IA テーブルクラス。 | 

## Streams
<a name="bp-understanding-billing.streams"></a>

DynamoDB には、DynamoDB Streams と Kinesis という 2 つのストリーミングテクノロジーがあります。これらは、それぞれ料金が異なります。

DynamoDB Streams では、読み取りリクエストユニットでのデータ読み取りに対して料金が発生します。各 `GetRecords` API コールは、ストリーム読み取りリクエストとして請求されます。DynamoDB トリガーの一部として `GetRecords` から、またはレプリケーションの一部として DynamoDB グローバルテーブルから呼び出される AWS Lambda API コールに対しては、料金は発生しません。


****  

| UsageType | 単位 | 詳細度 | 説明 | 
| --- | --- | --- | --- | 
| REG-Streams-RequestsCount | カウント | Unit | DynamoDB Streams の読み取りリクエストユニット。 | 

Amazon Kinesis Data Streams では、データキャプチャユニットに対して料金が発生します。DynamoDB では、書き込みごとに 1 つの変更データキャプチャユニットが請求されます (最大 1 KB)。1 KB を超えるアイテムには、追加の変更データキャプチャユニットが必要です。テーブルのスループットキャパシティの管理なしに、アプリケーションが実行した書き込みに対してのみ料金が発生します。


****  

| UsageType | 単位 | 詳細度 | 説明 | 
| --- | --- | --- | --- | 
| REG-ChangeDataCaptureUnits-Kinesis | CDC ユニット | Unit | Kinesis Data Streams の変更データキャプチャユニット。 | 

## Storage
<a name="bp-understanding-billing.storage"></a>

DynamoDB は、データの RAW バイトサイズと有効化した特徴量に応じて、項目あたりのストレージオーバーヘッドを加算して、請求対象データのサイズを測定します。

**注記**  
`DescribeTable` はアイテムごとのストレージオーバーヘッドを含まないため、CUR のストレージ使用量は `DescribeTable` 使用時のストレージ使用量と比較して高くなります。

ストレージは 1 時間単位で計算されますが、1 時間あたりの料金の平均から計算され、月単位で課金されます。

`UsageType` ストレージは `ByteHrs` をサフィックスとして使用しますが、CUR のストレージ使用量は GB 単位で測定され、料金は GB 月単位です。


****  

| UsageType | 単位 | 詳細度 | 説明 | 
| --- | --- | --- | --- | 
| REG-TimedStorage-ByteHrs | GB | 月 | Standard テーブルクラスのテーブルで、DynamoDB テーブルとインデックスが使用するストレージの容量。 | 
| REG-IA-TimedStorage- ByteHrs | GB | 月 | Standard-IA テーブルクラスのテーブルで、DynamoDB テーブルとインデックスが使用するストレージの容量。 | 

## バックアップと復元
<a name="bp-understanding-billing.backup"></a>

DynamoDB には、ポイントインタイムリカバリ (PITR) バックアップとオンデマンドバックアップの 2 種類のバックアップがあります。ユーザーは、これらのバックアップから DynamoDB テーブルに復元することもできます。以下の料金は、バックアップと復元の両方を対象としています。

バックアップストレージの料金は各月の初日に発生し、バックアップが追加または削除されるたびに調整されます。詳細については、「[Understanding Amazon DynamoDB On-demand Backups and Billing](https://repost.aws/articles/AR74LYumctRa-t7Z87uwKrlw)」のブログ記事を参照してください。


****  

| UsageType | 単位 | 詳細度 | 説明 | 
| --- | --- | --- | --- | 
| REG-TimedBackupStorage-ByteHrs | GB | 月 | DynamoDB テーブルとローカルセカンダリインデックスのオンデマンドバックアップで消費されるストレージ。 | 
| TimedPITRStorage-ByteHrs | GB | 月 | ポイントインタイムリカバリ (PITR) バックアップで使用されるストレージ。PITR が有効である間、DynamoDB では、PITR が有効化されているテーブルサイズの 1 か月間の継続的なモニタリングに基づいてバックアップ料金が決定されます。 | 
| REG-RestoreDataSize-Bytes | GB | サイズ | DynamoDB バックアップから復元されたデータ (テーブルデータ、ローカルセカンダリインデックス、グローバルセカンダリインデックスを含む) の合計サイズ (GB 単位)。 | 

### AWS Backup
<a name="bp-understanding-billing.aws-backup"></a>

AWS Backup はフルマネージド型のバックアップサービスで、クラウドおよびオンプレミスの AWS サービス間でデータのバックアップを簡単に一元化および自動化できます。AWS Backup は、ストレージ (ウォームストレージまたはコールドストレージ)、復元作業、およびリージョン間のデータ転送に対して請求されます。以下の `UsageType` 料金は、「AmazonDynamoDB」ではなく「AWSBackup」ProductCode の下に表示されます。


****  

| UsageType | 単位 | 詳細度 | 説明 | 
| --- | --- | --- | --- | 
| REG-WarmStorage- ByteHrs-DynamoDB | GB | 月 | 1 か月を通して AWS Backup で管理される DynamoDB バックアップによって使用されたストレージ (GB-月単位)。 | 
| REG-CrossRegion-WarmBytes-DynamoDB | GB | サイズ | 同一アカウントの異なる AWS リージョン、または異なる AWS アカウントに転送されたデータ。クロスリージョン転送の料金は、あるリージョンから別のリージョンにバックアップをコピーする際に発生します。料金は常にデータの転送元のアカウントに請求されます。 | 
| REG-Restore-WarmBytes-DynamoDB | GB | サイズ | ウォームストレージから復元されたデータの合計サイズ。GB 単位で測定されます。 | 
| REG-ColdStorage-ByteHrs-DynamoDB | GB | 月 | 1 か月を通して AWS Backup で管理される DynamoDB バックアップによって使用されたコールドストレージ (GB-月単位)。 | 
| REG-Restore-ColdBytes-DynamoDB | GB | 月 | コールドストレージから復元されたデータの合計サイズ。GB 単位で測定されます。 | 

### エクスポートおよびインポート
<a name="bp-understanding-billing.export-import"></a>

 DynamoDB から Amazon S3 にデータをエクスポートしたり、Amazon S3 から新しい DynamoDB テーブルにデータをインポートしたりすることができます。

`UsageType` は `Bytes` をサフィックスとして使用しますが、CUR のエクスポートとインポートの使用量は GB 単位で測定され請求されます。


****  

| UsageType | 単位 | 詳細度 | 説明 | 
| --- | --- | --- | --- | 
| REG-ExportDataSize-Bytes | GB | サイズ | S3 へのデータエクスポートの料金。DynamoDB でのデータエクスポートは、エクスポートが作成された時点の DynamoDB ベーステーブル (テーブルデータおよびローカルセカンダリインデックス) のサイズに基づいて課金されます。 | 
| REG-ImportDataSize-Bytes | GB | サイズ | S3 からのデータインポートの料金。サイズは、Amazon S3 のデータのオブジェクトの非圧縮サイズに基づいて計算されます。GSI を使用したテーブルへのインポートには追加料金はかかりません。 | 
| REG-IncrementalExportDataSize-Bytes | GB | サイズ | 継続バックアップから増分エクスポートを行うために処理されたデータのサイズに基づく料金。 | 

## データ転送
<a name="bp-understanding-billing.datatransfer"></a>

データ転送アクティビティは DynamoDB サービスに関連して表示される場合があります。DynamoDB では、インバウンドデータ転送の料金は発生しません。また、DynamoDB と同じ AWS リージョン内の他の AWS サービスとの間のデータ転送の料金も発生しません (つまり、GB あたり 0.00 USD)。AWS リージョン間 (米国東部 [バージニア北部] リージョンの DynamoDB と欧州 [アイルランド] リージョンの Amazon EC2 間など) で転送されるデータは、転送元と転送先の両方で料金が発生します。


****  

| UsageType | 単位 | 詳細度 | 説明 | 
| --- | --- | --- | --- | 
| REG-DataTransfer-In-Bytes | GB | 単位 | インターネットから DynamoDB へのデータ転送。 | 
| REG-DataTransfer-Out-Bytes | GB | 単位 | DynamoDB からインターネットへのデータ転送。 | 

## CloudWatch Contributor Insights
<a name="bp-understanding-billing.cw"></a>

CloudWatch Contributor Insights for DynamoDB は、DynamoDB テーブルで最も頻繁にアクセスされスロットリングされるキーを特定する診断ツールです。以下の `UsageType` 料金は、「AmazonDynamoDB」ではなく「AmazonCloudWatch」ProductCode の下に表示されます。


****  

| UsageType | 単位 | 詳細度 | 説明 | 
| --- | --- | --- | --- | 
| REG-CW:ContributorEventsManaged | 処理されたイベント | 単位 | 処理された DynamoDB イベントの量。例えば、CloudWatch Contributor Insights が有効になっているテーブルでは、アイテムが読み書きされるたびに 1 イベントとしてカウントされます。テーブルにソートキーがある場合は、2 イベントとしてカウントされます。 | 
| REG-CW:ContributorRulesManaged | ルール数 | 月 | Cloud Watch Contributor Insights を有効にすると、DynamoDB は最もアクセス数の多いアイテムと最もスロットリングされたキーを識別するルールを作成します。この料金は、CloudWatch contributor insights のログ用に設定された各エンティティ (テーブルおよび GSI) に追加されたルールに対して発生します。 | 

## DynamoDB Accelerator (DAX)
<a name="bp-understanding-billing.dax"></a>

DynamoDB Accelerator (DAX) は、サービスで選択されたインスタンスタイプに基づいて時間単位で請求されます。以下の料金は、プロビジョニングされた DynamoDB Accelerator インスタンスに関するものです。以下の `UsageType` 料金は、「AmazonDynamoDB」ではなく「AmazonDAX」ProductCode の下に表示されます。


****  

| UsageType | 単位 | 詳細度 | 説明 | 
| --- | --- | --- | --- | 
| REG-NodeUsage:dax-<INSTANCETYPE> | ノード時間 | 時 | 特定のインスタンスタイプの 1 時間あたりの使用量。料金は、ノードが起動されてから終了するまでの、消費されたノード時間あたりの価格です。消費されたノード時間が 1 時間に満たない場合でも、1 時間分として請求されます。DAX は DAX クラスター内のノードごとに課金されます。クラスターに複数のノードがある場合、請求レポートには複数の明細項目が表示されます。 | 

インスタンスタイプは、次のリストに示す値の 1 つになります。ノードタイプの詳細については、「[ノード](DAX.concepts.cluster.md#DAX.concepts.nodes)」を参照してください。
+ r3.2xlarge、r4.8xlarge、または r5.8xlarge
+ r3.4xlarge、r4.large、または r5.large
+ r3.8xlarge、r4.xlarge、または r5.xlarge
+ r3.2xlarge、r5.12xlarge、または t2.medium
+ r3.4xlarge、r4.large、または r5.large
+ r3.xlarge、r5.16xlarge、または t2.small
+ r4.16xlarge、r5.24xlarge、または t3.medium
+ r4.2xlarge、r5.2xlarge、または t3.small
+ r4.4xlarge または r5.4xlarge