

# AWS マネジメントコンソール と DynamoDB Auto Scaling の使用
<a name="AutoScaling.Console"></a>

AWS マネジメントコンソール を使用して新しいテーブルを作成すると、Amazon DynamoDB Auto Scaling はデフォルトでそのテーブルに対して有効になります。コンソールを使用して、既存テーブルの Auto Scaling の有効化、Auto Scaling 設定の変更、Auto Scaling の無効化を行うこともできます。

**注記**  
 スケールインおよびスケールアウトのクールダウン時間の設定など、より高度な特徴については、AWS Command Line Interface (AWS CLI) を使用して DynamoDB Auto Scaling を管理します。詳細については、「[AWS CLI を使用した DynamoDB Auto Scaling の管理](AutoScaling.CLI.md)」を参照してください。

**Topics**
+ [開始する前に: DynamoDB Auto Scaling のアクセス許可をユーザーに付与する](#AutoScaling.Permissions)
+ [Auto Scaling を有効にした新しいテーブルの作成](#AutoScaling.Console.NewTable)
+ [既存のテーブルでの DynamoDB Auto Scaling の有効化](#AutoScaling.Console.ExistingTable)
+ [コンソールでの Auto Scaling アクティビティの表示](#AutoScaling.Console.ViewingActivities)
+ [DynamoDB Auto Scaling 設定の変更または無効化](#AutoScaling.Console.Modifying)

## 開始する前に: DynamoDB Auto Scaling のアクセス許可をユーザーに付与する
<a name="AutoScaling.Permissions"></a>

AWS Identity and Access Management (IAM) の場合、AWS マネージドポリシー `DynamoDBFullAccess` は、DynamoDB コンソールを使用するために必要なアクセス許可を提供します。ただし、DynamoDB Auto Scaling の場合、ユーザーには追加アクセス許可が必要です。

**重要**  
 自動スケーリング対応のテーブルを削除するには、`application-autoscaling:*` アクセス許可が必要です。AWS マネージドポリシー `DynamoDBFullAccess` には、必要なアクセス許可が含まれています。

DynamoDB コンソールアクセスと DynamoDB Auto Scaling 用にユーザーを設定するには、ロールを作成し、そのロールに **AmazonDynamoDBFullAccess** ポリシーを追加します。次に、ロールをユーザーに割り当てます。

## Auto Scaling を有効にした新しいテーブルの作成
<a name="AutoScaling.Console.NewTable"></a>

**注記**  
DynamoDB Auto Scaling では、ユーザーに代わって Auto Scaling アクションを実行する、サービスリンクロール (`AWSServiceRoleForApplicationAutoScaling_DynamoDBTable`) の存在を必要とします。このロールは自動的に作成されます。詳細については、「Application Auto Scaling ユーザーガイド」の「[Application Auto Scaling 用のサービスリンクロール](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html)」を参照してください。**

**Auto Scaling を有効にして新しいテーブルを作成するには**

1. [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/) で DynamoDB コンソールを開きます。

1. [**Create table**] を選択します。

1. **[テーブルを作成]** ページで、**テーブル名**とプライマリキーの詳細を入力します。

1. **[デフォルト設定]** を選択すると、新しいテーブルで自動スケーリングが有効になります。

   それ以外の場合は、**[設定をカスタマイズ]** を選択し、以下の操作を実行してテーブルのカスタム設定を指定します。

   1. **[テーブルクラス]** で、デフォルト設定である **[DynamoDB 標準]** を選択したままにします。

   1. **[読み取り/書き込みキャパシティーの設定]** で、デフォルト設定の **[プロビジョンド]** を選択したままにして、以下の操作を行います。

      1. **[読み取りキャパシティー]** で、**[自動スケーリング]** が **[オン]** に設定されていることを確認します。

      1. **[書き込みキャパシティー]** で、**[自動スケーリング]** が **[オン]** に設定されていることを確認します。

      1. **[読み取りキャパシティー]** と **[書き込みキャパシティー]** で、テーブルに必要なスケーリングポリシーと、オプションでテーブルのすべてのグローバルセカンダリインデックスを設定します。
         + **最小キャパシティーユニット** - Auto Scaling 範囲の下限を入力します。
         + **最大キャパシティーユニット** - Auto Scaling 範囲の上限を入力します。
         + **ターゲット使用率** — テーブルの目標使用率を入力します。
**注記**  
新しいテーブルのグローバルセカンダリインデックスを作成する場合、作成時のインデックスの容量は、ベーステーブルの容量と同じになります。インデックスの容量は、テーブルの作成後にテーブルの設定で変更できます。

1. **[テーブルの作成]** を選択します。これにより、指定した自動スケーリングパラメータを使用してテーブルが作成されます。

## 既存のテーブルでの DynamoDB Auto Scaling の有効化
<a name="AutoScaling.Console.ExistingTable"></a>

**注記**  
DynamoDB Auto Scaling では、ユーザーに代わって Auto Scaling アクションを実行する、サービスリンクロール (`AWSServiceRoleForApplicationAutoScaling_DynamoDBTable`) の存在を必要とします。このロールは自動的に作成されます。詳細については、「[Application Auto Scaling 用のサービスリンクロール](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html)」を参照してください。

**既存のテーブルに対して DynamoDB Auto Scaling を有効にするには**

1. [https://console.aws.amazon.com/dynamodb/](https://console.aws.amazon.com/dynamodb/) で DynamoDB コンソールを開きます。

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

1. 自動スケーリングを有効にするテーブルを選択し、以下の操作を行います。

   1. **[追加の設定]** タブを選択します。

   1. **[読み取りキャパシティー]** セクションで、**[編集]** を選択します。

   1. **[キャパシティーモード]** セクションで、**[プロビジョンド]** を選択します。

   1. **[テーブルのキャパシティー]** セクションで、**[読み込みキャパシティー]**、**[書き込みキャパシティー]**、または両方に対して、**[自動スケーリング]** を **[オン]** に設定します。これらのそれぞれについて、テーブルに必要なスケーリングポリシーを設定し、オプションでテーブルのすべてのグローバルセカンダリインデックスを設定します。
      + **最小キャパシティーユニット** - Auto Scaling 範囲の下限を入力します。
      + **最大キャパシティーユニット** - Auto Scaling 範囲の上限を入力します。
      + **ターゲット使用率** — テーブルの目標使用率を入力します。
      + **[すべてのグローバルセカンダリインデックスに同じキャパシティー読み取り/書き込みキャパシティー設定を使用する]** - グローバルセカンダリインデックスがベーステーブルと同じ Auto Scaling ポリシーを使用するかどうかを選択します。
**注記**  
最高のパフォーマンスを実現するには、[**すべてのグローバルセカンダリインデックスに同じ読み取り/書き込み容量設定を適用する**] を有効にすることをお勧めします。このオプションを使用すれば、DynamoDB Auto Scaling は、ベーステーブル上のすべてのグローバルセカンダリインデックスを均一にスケーリングできます。これには、既存のグローバルセカンダリインデックスと、将来このテーブル用に作成するその他のインデックスが含まれます。  
このオプションを有効にすると、個々のグローバルセカンダリインデックスにスケーリングポリシーを設定できなくなります。

1. すべての設定が正しいことを確認したら、[**保存**] を選択します。

## コンソールでの Auto Scaling アクティビティの表示
<a name="AutoScaling.Console.ViewingActivities"></a>

アプリケーションがテーブルへの読み込みおよび書き込みトラフィックを送ると、DynamoDB Auto Scaling はテーブルのスループット設定を動的に変更します。Amazon CloudWatch は、すべての DynamoDB テーブルとセカンダリインデックスについて、プロビジョニングされた容量、消費された容量、スロットルイベント、レイテンシー、およびその他のメトリクスを追跡します。

DynamoDB コンソールでこれらのメトリクスを表示するには、操作するテーブルを選択し、**[モニタリング]** タブを選択します。テーブルメトリクスのカスタマイズ可能なビューを作成するには、[**CloudWatch ですべてを表示**] を選択します。

## DynamoDB Auto Scaling 設定の変更または無効化
<a name="AutoScaling.Console.Modifying"></a>

AWS マネジメントコンソール を使用して、DynamoDB Auto Scaling 設定を変更できます。これを行うには、テーブルの **[追加設定]** タブに移動し、**[読み取り/書き込みキャパシティー]** セクションで **[編集]** を選択します。これらの設定の詳細については、「[既存のテーブルでの DynamoDB Auto Scaling の有効化](#AutoScaling.Console.ExistingTable)」をご参照ください。