

# CloudWatch Contributor Insights for DynamoDB の開始方法
<a name="contributorinsights_tutorial"></a>

このセクションでは、Amazon DynamoDB コンソールまたは AWS Command Line Interface (AWS CLI) で、モニタリングのニーズに合わせて Amazon CloudWatch Contributor Insights をさまざまなモードで有効化し、使用する方法について説明します。

次の例では、「[DynamoDB の使用開始](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GettingStartedDynamoDB.html)」チュートリアルで定義された DynamoDB テーブルを使用します。

**Topics**
+ [Contributor Insights モードの選択](#contributorinsights_tutorial.modes)
+ [Contributor Insights の使用 (コンソール)](#usecontributorinsights_console)
+ [Contributor Insights の使用 (AWS CLI)](#usecontributorinsights_cli)

## Contributor Insights モードの選択
<a name="contributorinsights_tutorial.modes"></a>

Contributor Insights を有効にする前に、使用可能な 2 つのモードを理解しておく必要があります。モード比較を確認して、特定の要件に最も適したオプションを選択します。


| 側面 | アクセスおよびスロットリングされたキーモード | スロットリングされたキーモード | 
| --- | --- | --- | 
| モニタリング | すべてのリクエスト (成功およびスロットリング) | スロットリングされたリクエストのみ | 
| グラフ: | 最もアクセスされた項目 \$1 最もスロットリングされた項目 | 最もスロットリングされた項目のみ | 
| 最適な用途 | ターゲットを絞った分析と最適化 | スロットリングの監視 | 
| 次の場合に使用 | アクセスパターンを完全に可視化する必要があります。短期分析またはデバッグを実行している。 | 主な懸念事項は、スロットリングの問題の特定と解決です。Contributor Insights をリアルタイムスロットリングアラートで継続的に有効にしておく必要がある。 | 

## Contributor Insights の使用 (コンソール)
<a name="usecontributorinsights_console"></a>

コンソールは、Contributor Insights を有効にし、モニタリングニーズに適したモードを選択する直感的な方法を提供します。

**コンソールで Contributor Insights を使用するには**

1. AWS マネジメントコンソール にサインインして DynamoDB コンソール ([https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/)) を開きます。

1. コンソールの左側のナビゲーションペインで、[**テーブル**] を選択します。

1. `Music` テーブルを選択します。

1. [**Monitor**] (モニタリング) タブを選択します。

1. **[Turn on CloudWatch Contributor Insights]** (CloudWatch Contributor Insights を有効にする) を選択します。  
![\[モニタータブとボタンを表示するコンソールのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/images/CI_ChooseAndManageNew.PNG)

1. **[CloudWatch Contributor Insights 設定の管理]** ダイアログボックスで、`Music` 基本テーブルと `AlbumTitle-index` グローバルセカンダリインデックスの両方に対して **[オンにする]** に切り替えます。

1. **[スロットルキーモードのみ]** の切り替えを両方のオフ位置にしてから、**[変更を保存]** を選択します。  
![\[Contributor Insights のステータスリストオプションを示すコンソールスクリーンショット\]](http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/images/CI_Enable.png)

   これにより、テーブルと GSI の両方でデフォルトの *[アクセスおよびスロットリングされたキー]* モードが有効になり、アクセスされた項目とスロットリングされた項目の両方をモニタリングできます。**[スロットルキーモードのみ]** をオンに切り替えると、*[スロットリングされたキー]* モードが有効になります。

   このオペレーションが失敗した場合は、*Amazon DynamoDB API リファレンス*の「[DescribeContributorInsights FailureException](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DescribeContributorInsights.html#DDB-DescribeContributorInsights-response-FailureException)」を参照して考えられる原因を検討してください。

1. CloudWatch Contributor Insights グラフが `Music` テーブルの **[モニタリング]** タブに表示されます。*[アクセスおよびスロットリングされたキー]* モードを有効にしたため、アクセスされた項目とスロットリングされた項目の両方のグラフが表示されます。  
![\[Music テーブルのいくつかのグラフを含む [Contributor Insights] タブを表示するコンソールのスクリーンショット\]](http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/images/CI_Graphs.png)

### モードの切り替え
<a name="usecontributorinsights_console.switching-modes"></a>

Contributor Insights を無効にすることなく、いつでもモードを切り替えることができます。

**Contributor Insights モードを切り替えるには**

1. テーブルの **[モニタリング]** タブで、**[CloudWatch Contributor Insights を管理]** を選択します。

1. **[Contributor Insights 設定の管理]** ダイアログボックスで、各基本テーブルまたは GSI に対して以下を行います。
   + **[スロットリングされたキーのみモード]** をオンまたはオフに切り替えて、*[スロットリングされたキー]* モードを有効にするか、デフォルトの *[アクセスおよびスロットリングされたキー]* モードに戻ります。
   + **[オンにする]** をオフに切り替えて、テーブルまたは GSI の CloudWatch Contributor Insight を無効にします。

1. **[Save changes]** (変更の保存) をクリックします。

   完了すると、グラフに新しいモードが反映されます。

### CloudWatch アラームの作成d\$1
<a name="usecontributorinsights_console_alarms"></a>

以下のステップに従って、CloudWatch アラームを作成し、パーティションキーが 50,000 件の [ConsumedThroughputUnits](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/contributorinsights_HowItWorks.html#contributorinsights_HowItWorks.Graphs.most-accessed) を超えた場合、またはスロットリングが発生した場合に通知を受け取ります。

1. AWS マネジメントコンソール にサインインして、CloudWatch コンソール ([https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)) を開きます。

1. コンソールの左側のナビゲーションペインで、[**Contributor Insights**] を選択します。

1. モードとモニタリングする内容に基づいて、適切なルールを選択します。
   + アクセスされた項目のモニタリング (アクセスおよびスロットリングされたキーモードのみ): **[DynamoDBContributorInsights-PKC-Music]** を選択します
   + スロットリングされた項目のモニタリング (両方のモード): **[DynamoDBContributorInsights-PKT-Music]** を選択します

1. [**アクション**] ドロップダウンを選択します。

1. [**View in metrics (メトリクスで表示)**] を選択します。

1. [**Max Contributor Value (寄稿者の最大値)**] を選択します。
**注記**  
`Max Contributor Value` と `Maximum` のみが有用な統計を返します。このリストの他の統計は、意味のある値を返しません。  
![\[[Contributor Insights] タブとボタンを表示するコンソールのスクリーンショット\]](http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/images/CI_AlarmsViewinMetrics.png)

1. [**アクション**] 列で、[**Create Alarm (アラームの作成)**] を選択します。  
![\[Contributor Insights のステータスリストオプションを示すコンソールスクリーンショット\]](http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/images/CI_AlarmsSetAlarm.png)

1. 適切なしきい値を入力し、**[次へ]** を選択します。
   + アクセスされた項目 (PKC ルール): `ConsumedThroughputUnits` に 50,000 を入力します
   + スロットリングされた項目 (PKT ルール): スロットリングでアラートを受け取る `ThrottleCount` に 1 を入力します  
![\[[Contributor Insights] タブとボタンを表示するコンソールのスクリーンショット\]](http://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/images/CI_AlarmsSetAlarmThreashold.png)

1.  アラームの通知を設定する方法の詳細については、「[Amazon CloudWatch アラームの使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)」を参照してください。

## Contributor Insights の使用 (AWS CLI)
<a name="usecontributorinsights_cli"></a>

AWS CLI は、Contributor Insights へのプログラムによるアクセスを提供し、両方のモードを完全にサポートします。Contributor Insights を有効にするとき、または後でモードを切り替えるときにモードを指定できます。

### デフォルトモードの基本的な操作
<a name="usecontributorinsights_cli.basic"></a>

**デフォルト設定で Contributor Insights を使用するには**

1. `Music` 基本テーブルで、*[アクセスおよびスロットリングされたキー]* モードを使用して、CloudWatch Contributor Insights for DynamoDB を有効化します。`ACCESSED_AND_THROTTLED_KEYS` がデフォルトモードであるため、`--contributor-insights-mode=ACCESSED_AND_THROTTLED_KEYS`パラメータを省略できます。

   ```
   aws dynamodb update-contributor-insights \
                       --table-name Music \
                       --contributor-insights-action=ENABLE
   ```

1. `AlbumTitle-index` グローバルセカンダリインデックスで Contributor Insights for DynamoDB を有効化します。

   ```
   aws dynamodb update-contributor-insights \
                       --table-name Music \
                       --index-name AlbumTitle-index \
                       --contributor-insights-action=ENABLE
   ```

1. `Music` テーブルとそのすべてのインデックスのステータスとルールを取得します。

   ```
   aws dynamodb describe-contributor-insights 
                       --table-name Music
   ```

   レスポンスには、`ACCESSED_AND_THROTTLED_KEYS` を示す `ContributorInsightsMode` フィールドが含まれます。

1. `Music` テーブルとそのすべてのインデックスのステータスを一覧表示します。

   ```
   aws dynamodb list-contributor-insights --table-name Music
   ```

### スロットリングされたキーモードの有効化
<a name="usecontributorinsights_cli.throttled-mode"></a>

**スロットリングされたキーモードで Contributor Insights を有効にするには**

1. `Music` 基本テーブルで、*スロットリングされたキー*モードを使用して CloudWatch Contributor Insights for DynamoDB を有効化します。

   ```
   aws dynamodb update-contributor-insights \
       --table-name Music \
       --contributor-insights-action=ENABLE \
       --contributor-insights-mode=THROTTLED_KEYS
   ```

1. `AlbumTitle-index` グローバルセカンダリインデックスの*スロットリングされたキー*モードで Contributor Insights を有効にします。

   ```
   aws dynamodb update-contributor-insights \
       --table-name Music \
       --index-name AlbumTitle-index \
       --contributor-insights-action=ENABLE \
       --contributor-insights-mode=THROTTLED_KEYS
   ```

1. Contributor Insights の設定を記述してモードを確認します。

   ```
   aws dynamodb describe-contributor-insights --table-name Music
   ```

   レスポンスは `THROTTLED_KEYS` として `ContributorInsightsMode` を表示し、デフォルトモードと比較してルールの数が少なくなります。

### モードの切り替え
<a name="usecontributorinsights_cli.switching-modes"></a>

**Contributor Insights モードを切り替えるには**

1. *スロットリングされたキー*モードから*アクセスおよびスロットリングされたキー*モードに切り替えます。

   ```
   aws dynamodb update-contributor-insights \
       --table-name Music \
       --contributor-insights-action=ENABLE \
       --contributor-insights-mode=ACCESSED_AND_THROTTLED_KEYS
   ```

1. *アクセスおよびスロットリングされたキー*モードから*スロットリングされたキー*モードに切り替えます。

   ```
   aws dynamodb update-contributor-insights \
       --table-name Music \
       --contributor-insights-action=ENABLE \
       --contributor-insights-mode=THROTTLED_KEYS
   ```

1. 移行中にステータスを確認します。

   ```
   aws dynamodb describe-contributor-insights --table-name Music
   ```

   モードの切り替え中、`ContributorInsightsStatus` は `ENABLING` として表示されます。完了すると、新しいモードでは `ENABLED` と表示されます。

### Contributor Insights の管理
<a name="usecontributorinsights_cli.management"></a>

**Contributor Insights の設定を管理するには**

1. `AlbumTitle-index` グローバルセカンダリインデックスで CloudWatch Contributor Insights for DynamoDB を無効化します。

   ```
   aws dynamodb update-contributor-insights \
                       --table-name Music --index-name AlbumTitle-index \
                       --contributor-insights-action=DISABLE
   ```

1. アカウント内のすべての Contributor Insights 設定を一覧表示します。

   ```
   aws dynamodb list-contributor-insights
   ```

   これにより、Contributor Insights が有効になっているすべてのテーブルとインデックス、およびそれらのモードが表示されます。

1. 特定の設定に関する詳細情報を取得します。

   ```
   aws dynamodb describe-contributor-insights \
                       --table-name Music \
                       --index-name AlbumTitle-index
   ```

### レスポンス例
<a name="usecontributorinsights_cli.examples"></a>

モード間の違いを示すレスポンスの例を次に示します。

#### アクセスおよびスロットリングされたキーモードのレスポンス
<a name="usecontributorinsights_cli.examples.accessed-throttled"></a>

```
{
    "TableName": "Music",
    "ContributorInsightsRuleList": [
        "DynamoDBContributorInsights-PKC-Music-1234567890123",
        "DynamoDBContributorInsights-PKT-Music-1234567890123",
        "DynamoDBContributorInsights-SKC-Music-1234567890123",
        "DynamoDBContributorInsights-SKT-Music-1234567890123"
    ],
    "ContributorInsightsStatus": "ENABLED",
    "ContributorInsightsMode": "ACCESSED_AND_THROTTLED_KEYS",
    "LastUpdateDateTime": "2024-01-15T10:30:00.000Z"
}
```

#### スロットリングされたキーモードのレスポンス
<a name="usecontributorinsights_cli.examples.throttled-only"></a>

```
{
    "TableName": "Music",
    "ContributorInsightsRuleList": [
        "DynamoDBContributorInsights-PKT-Music-1234567890123",
        "DynamoDBContributorInsights-SKT-Music-1234567890123"
    ],
    "ContributorInsightsStatus": "ENABLED",
    "ContributorInsightsMode": "THROTTLED_KEYS",
    "LastUpdateDateTime": "2024-01-15T10:35:00.000Z"
}
```

スロットリングされたキーモードのルールが少ないこと (PKT と SKT のみ) に注意してください。これは、より焦点を絞ったモニタリングに対応しています。