

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

# 未使用のリソースを特定して Amazon Keyspaces のコストを最適化する
<a name="CostOptimization_UnusedResources"></a>

このセクションでは、未使用のリソースを定期的に評価する方法の概要を説明します。アプリケーションの要件が変化に対応できるよう、未使用のリソースの使用によって不要な Amazon Amazon Keyspaces のコストが生じないようにする必要があります。以下に説明する手順では、Amazon CloudWatch メトリクスで未使用のリソースを特定し、コストを削減する措置を講じます。

Amazon CloudWatch で Amazon Keyspaces をモニタリングすると、raw データが収集され、Amazon Keyspaces からほぼリアルタイムで読み取り可能なメトリクスに加工することができます。これらの統計は一定期間保持されるため、履歴情報にアクセスして使用率をより正確に調べることができます。デフォルトでは、 Amazon Keyspaces メトリクスデータは CloudWatch に自動的に送信されます。詳細については、「*Amazon CloudWatch ユーザーガイド*」の「[Amazon CloudWatch とは](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)」および「[メトリクスの保持](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#metrics-retention)」を参照してください。

**Topics**
+ [未使用のリソースを特定する方法](#CostOptimization_UnusedResources_Identifying)
+ [未使用のテーブルリソースを特定する](#CostOptimization_UnusedResources_Tables)
+ [未使用のテーブルリソースをクリーンアップする](#CostOptimization_UnusedResources_Tables_Cleanup)
+ [未使用のポイントインタイムリカバリ (PITR) バックアップのクリーンアップ](#CostOptimization_UnusedResources_Backups)

## 未使用のリソースを特定する方法
<a name="CostOptimization_UnusedResources_Identifying"></a>

未使用のテーブルを特定するには、現在から30 日間の CloudWatch メトリクスを調べ、特定のテーブルに対してアクティブな読み込みまたは書き込みがあるかどうかを調べます。

**`ConsumedReadCapacityUnits`**  
指定された期間に消費された読み込みキャパシティユニットの数。消費されたキャパシティの使用量を追跡できます。テーブルの読み取り消費キャパシティの合計を取得できます。

**`ConsumedWriteCapacityUnits`**  
指定された期間に消費された書き込みキャパシティユニットの数。消費されたキャパシティの使用量を追跡できます。テーブルの書き込み消費キャパシティの合計を取得できます。

## 未使用のテーブルリソースを特定する
<a name="CostOptimization_UnusedResources_Tables"></a>

Amazon CloudWatch は、モニタリングサービスとオブザーバビリティサービスです。Amazon CloudWatch では、未使用のリソースを特定できる Amazon Keyspaces テーブルのメトリクスが得られます。CloudWatch メトリクスは、 AWS マネジメントコンソール と AWS Command Line Interfaceを使って表示できます。

------
#### [ AWS Command Line Interface ]

を使用してテーブルメトリクスを表示するには AWS Command Line Interface、次のコマンドを使用できます。

1. まず、テーブルの読み込みを評価します。
**注記**  
そのテーブル名がアカウント内で一意でない場合は、キー空間名も指定する必要があります。

   ```
   aws cloudwatch get-metric-statistics --metric-name
   ConsumedReadCapacityUnits --start-time <start-time> --end-time <end-
   time> --period <period> --namespace AWS/Cassandra --statistics Sum --
   dimensions Name=TableName,Value=<table-name>
   ```

   テーブルが未使用と誤って識別されないようにするには、長期間にわたってメトリクスの評価を行います。たとえば、**30 日間**と、適切な開始時刻と終了時刻の範囲、および **86400** などで適切な期間を選択します。

   返されるデータで、[**合計**] が **0** を超える場合は、評価対象のテーブルがその期間に受信した読み込みトラフィックを示します。

   次の結果は、評価期間中に読み込みトラフィックを受信したテーブルを示しています。

   ```
           {
               "Timestamp": "2022-08-25T19:40:00Z",
               "Sum": 36023355.0,
               "Unit": "Count"
           },
           {
               "Timestamp": "2022-08-12T19:40:00Z",
               "Sum": 38025777.5,
               "Unit": "Count"
           },
   ```

   次の結果は、評価期間中に読み込みトラフィックを受信しなかったテーブルを示しています。

   ```
           {
               "Timestamp": "2022-08-01T19:50:00Z",
               "Sum": 0.0,
               "Unit": "Count"
           },
           {
               "Timestamp": "2022-08-20T19:50:00Z",
               "Sum": 0.0,
               "Unit": "Count"
           },
   ```

1. 次に、テーブルの書き込みを評価します。

   ```
   aws cloudwatch get-metric-statistics --metric-name
   ConsumedWriteCapacityUnits --start-time <start-time> --end-time <end-
   time> --period <period> --namespace AWS/Cassandra --statistics Sum --
   dimensions Name=TableName,Value=<table-name>
   ```

   テーブルが未使用と誤って識別されないようにするには、長期間にわたってメトリクスを評価する必要があります。**30 日間**などの適切な開始時刻と終了時刻の範囲、および **86400** などの適切な期間を選択します。

   返されるデータで、[**Sum (合計)**] が **0** を超える場合は、評価対象のテーブルがその期間に受信した読み込みトラフィックを示します。

   次の結果は、評価期間中に書き込みトラフィックを受信したテーブルを示しています。

   ```
           {
               "Timestamp": "2022-08-19T20:15:00Z",
               "Sum": 41014457.0,
               "Unit": "Count"
           },
           {
               "Timestamp": "2022-08-18T20:15:00Z",
               "Sum": 40048531.0,
               "Unit": "Count"
           },
   ```

   次の結果は、評価期間中に書き込みトラフィックを受信しなかったテーブルを示しています。

   ```
           {
               "Timestamp": "2022-07-31T20:15:00Z",
               "Sum": 0.0,
               "Unit": "Count"
           },
           {
               "Timestamp": "2022-08-19T20:15:00Z",
               "Sum": 0.0,
               "Unit": "Count"
           },
   ```

------
#### [ AWS マネジメントコンソール ]

次のステップでは、 AWS マネジメントコンソールでリソースの使用率を評価します。

1. にログイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) の CloudWatch サービスページに移動します。必要に応じて、コンソールの右上 AWS リージョン にある適切な を選択します。

1. 左のナビゲーションバーで、[**メトリクス**] セクションを探し、[**すべてのメトリクス**] を選択します。

1. これにより、2 つのパネルで構成されるダッシュボードが開きます。上部のパネルには、現在グラフ化されているメトリクスが表示されます。下部のパネルでは、グラフ化できるメトリクスを選択できます。下部のパネルで Amazon Keyspaces を選択します。

1. Amazon Keyspaces メトリクスの選択パネルで [**テーブルメトリクス**] カテゴリを選択し、現在のリージョンのテーブルのメトリクスを表示します。

1. メニューを下にスクロールしてテーブル名を確認し、テーブルの `ConsumedReadCapacityUnits` と `ConsumedWriteCapacityUnits` メトリクスを選択します。

1. [**グラフ化したメトリクス (2)**] タブを選択し、[**統計**] 列を [**合計**] に設定します。

1. テーブルが誤って未使用と識別されないように、長期間にわたってテーブルメトリクスの評価を行います。グラフパネルの上部で、テーブルを評価するための適切な時間枠 (1 か月など) を選択します。[**カスタム**] を選択し、ドロップダウンで [**1 か月間**] を選択し、[**適用**] を選択します。

1. テーブルのグラフ化されたメトリクスを評価して、使用されているかどうかを判断します。**0** を超えるメトリクスは、評価期間中にテーブルが使用されたことを示します。読み込みと書き込みの両方が **0** の平らなグラフは、テーブルが未使用であることを示します。

------

## 未使用のテーブルリソースをクリーンアップする
<a name="CostOptimization_UnusedResources_Tables_Cleanup"></a>

未使用のテーブルリソースを特定したら、次の方法でその継続的なコストを削減できます。

**注記**  
未使用のテーブルを特定したものの、将来アクセスする必要が生じた場合に備えて使用できるようにしておきたい場合は、オンデマンドモードに切り替えることを検討してください。それ以外の場合、テーブルの削除を検討してください。

**キャパシティモード**  
Amazon Keyspaces テーブル内のデータの読み込み、書き込み、保存には料金がかかります。

Amazon Keyspaces には [2 種類のキャパシティモード](ReadWriteCapacityMode.md)があり、テーブルの読み書き処理については特定の請求オプション (オンデマンドとプロビジョンド) があります。読み取り/書き込みキャパシティモードは、読み取りおよび書き込みスループットの課金方法とキャパシティの管理方法を制御します。

オンデマンドモードのテーブルでは、アプリケーションで実行することが予測される読み込みおよび書き込みスループットを指定する必要はありません。Amazon Keyspaces では、読み込みリクエスト単位と書き込みリクエスト単位に関して、テーブルに対してアプリケーションが実行する読み込みと書き込みに料金が請求されます。テーブルにアクティビティがない場合、スループットに対する支払いは発生しませんが、ストレージ料金は発生します。

**テーブルの削除**  
未使用のテーブルを発見し、それを削除する場合は、まずデータのバックアップか、エクスポートを行うことを検討してください。

を介してバックアップを実行すると、コールドストレージ階層化を活用 AWS Backup できるため、コストをさらに削減できます。ライフサイクルを使用してバックアップをコールドストレージに移動する方法については、[バックアッププランの管理](https://docs.aws.amazon.com/aws-backup/latest/devguide/about-backup-plans)ドキュメントを参照してください。

テーブルをバックアップしたら、 AWS マネジメントコンソール または AWS Command Line Interfaceを使用してテーブルを削除できます。

## 未使用のポイントインタイムリカバリ (PITR) バックアップのクリーンアップ
<a name="CostOptimization_UnusedResources_Backups"></a>

Amazon Keyspaces にはポイントインタイムリカバリ機能があり、35 日間の継続的バックアップを利用できるため、意図しない書き込みや削除を防ぐことができます。PITR バックアップには、関連する追加コストがあります。

不要になった可能性のあるバックアップがテーブルで有効になっているかどうかを、[Amazon Keyspaces のポイントインタイムリカバリでデータをバックアップおよび復元する](PointInTimeRecovery.md) のマニュアルを参照して確認してください。