

# DynamoDB용 CloudWatch Contributor Insights 사용 시작
<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를 활성화하기 전에 사용 가능한 두 가지 모드를 이해해야 합니다. 모드 비교를 검토하여 특정 요구 사항에 가장 부합하는 옵션을 선택하세요.


| 속성 | 액세스된 키 및 스로틀된 키 모드 | 스로틀된 키 모드 | 
| --- | --- | --- | 
| 모니터 | 모든 요청(성공한 요청 및 스로틀된 요청) | 스로틀된 요청만 | 
| 그래프: | 가장 많이 액세스한 항목 및 가장 많이 조절된 항목 | 가장 많이 조절된 항목만 | 
| 최적의 용도 | 대상 분석 및 최적화 | 스로틀링 모니터링 | 
| 사용 상황 | 액세스 패턴에 대한 완전한 가시성이 필요합니다. 단기 분석이나 디버깅을 수행하고 있습니다. | 주요 관심사가 스로틀링 문제를 식별하고 해결하는 것입니다. 실시간 스로틀링 알림을 위해 Contributor Insights를 지속적으로 활성화하려고 합니다. | 

## Contributor Insights 사용(콘솔)
<a name="usecontributorinsights_console"></a>

콘솔은 Contributor Insights를 활성화하고 모니터링 요구 사항에 적합한 모드를 선택할 수 있는 직관적인 방법을 제공합니다.

**콘솔에서 Contributor Insights를 사용하려면**

1. AWS Management Console에 로그인하고 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/dynamodb/)에서 DynamoDB 콘솔을 엽니다.

1. 콘솔 왼쪽의 탐색 창에서 **테이블(Tables)**을 선택합니다.

1. `Music` 테이블을 선택합니다.

1. **모니터링** 탭을 선택합니다.

1. **CloudWatch Contributor Insights 켜기**를 선택합니다.  
![\[모니터 탭 및 버튼을 보여주는 콘솔 스크린샷입니다.\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/images/CI_ChooseAndManageNew.PNG)

1. **CloudWatch Contributor Insights 설정 관리** 대화 상자에서 `Music` 기본 테이블과 `AlbumTitle-index` 글로벌 보조 인덱스 모두에 대해 **켜기**를 전환합니다.

1. **스로틀된 키 전용 모드** 토글을 둘 다 끄기 위치로 전환한 다음 **변경 사항 저장**을 선택합니다.  
![\[Contributor Insights 상태 목록 옵션을 보여 주는 콘솔 스크린샷\]](http://docs.aws.amazon.com/ko_kr/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` 테이블의 **모니터** 탭에 표시됩니다. *액세스된 키 및 스로틀된 키* 모드를 활성화했으므로 액세스한 항목과 조절된 항목 그래프가 모두 표시됩니다.  
![\[음악 테이블에 대한 여러 가지 그래프가 있는 Contributor Insights 탭을 보여 주는 콘솔 스크린샷\]](http://docs.aws.amazon.com/ko_kr/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. **변경 사항 저장**을 선택합니다.

   완료되면 그래프에 새 모드가 반영됩니다.

### CloudWatch 경보 생성
<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 Management Console에 로그인하고 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 콘솔 왼쪽의 탐색 창에서 **Contributor Insights**를 선택합니다.

1. 다음과 같이 모드와 모니터링하려는 항목에 따라 적절한 규칙을 선택합니다.
   + 액세스한 항목 모니터링(액세스 및 제한된 키 모드만 해당): **DynamoDBContributorInsights-PKC-Music**을 선택합니다.
   + 조절된 항목 모니터링(두 모드 모두): **DynamoDBContributorInsights-PKT-Music**을 선택합니다.

1. **작업** 드롭다운 메뉴를 선택합니다.

1. **지표에서 보기**를 선택합니다.

1. **최대 기고자 값**을 선택합니다.
**참고**  
`Max Contributor Value` 및 `Maximum`만 유용한 통계를 반환합니다. 이 목록에 있는 다른 통계는 의미 있는 값을 반환하지 않습니다.  
![\[Contributor Insights 탭과 버튼을 보여 주는 콘솔 스크린샷\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/images/CI_AlarmsViewinMetrics.png)

1. **작업** 열에서 **경보 생성**을 선택합니다.  
![\[Contributor Insights 상태 목록 옵션을 보여 주는 콘솔 스크린샷\]](http://docs.aws.amazon.com/ko_kr/amazondynamodb/latest/developerguide/images/CI_AlarmsSetAlarm.png)

1. 적절한 임계값을 입력하고 **다음**을 선택합니다.
   + 액세스한 항목(PKC 규칙): `ConsumedThroughputUnits`에 50000을 입력합니다.
   + 조절된 항목(PKT 규칙): 스로틀링 발생 시 알림을 받으려면 `ThrottleCount`에 1을 입력합니다.  
![\[Contributor Insights 탭과 버튼을 보여 주는 콘솔 스크린샷\]](http://docs.aws.amazon.com/ko_kr/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` 글로벌 보조 인덱스에 있는 DynamoDB에 대한 Contributor Insights를 활성화합니다.

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

   응답에는 `ContributorInsightsMode`가 `THROTTLED_KEYS`로 표시되며 기본 모드에 비해 규칙 수가 줄어듭니다.

### 모드 간 전환
<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만 해당), 이는 보다 집중적인 모니터링에 부합합니다.