AWS Management Console と DynamoDB Auto Scaling の使用
AWS Management Console を使用して新しいテーブルを作成すると、Amazon DynamoDB Auto Scaling はデフォルトでそのテーブルに対して有効になります。コンソールを使用して、既存テーブルのオートスケーリングの有効化、オートスケーリング設定の変更、オートスケーリングの無効化を行うこともできます。
スケールインおよびスケールアウトのクールダウン時間の設定など、より高度な特徴については、AWS Command Line Interface (AWS CLI) を使用して DynamoDB Auto Scaling を管理します。詳細については、「AWS CLI を使用した DynamoDB Auto Scaling の管理」を参照してください。
トピック
開始する前に: DynamoDB Auto Scaling のユーザー許可の付与
AWS Identity and Access Management (IAM) では、AWS マネージドポリシー DynamoDBFullAccess
は、DynamoDB コンソールを使用するために必要な許可を提供します。ただし、DynamoDB Auto Scaling の場合、IAM ユーザーには追加の権限が必要です。
application-autoscaling:*
許可は、オートスケーリングが有効なテーブルを削除するために必要です。AWS マネージドポリシー DynamoDBFullAccess
には、これらの許可が含まれています。
DynamoDB コンソールアクセスと DynamoDB Auto Scaling 用に IAM ユーザーを設定するには、次のポリシーを追加します。
AmazonDynamoDBFullAccess ポリシーを添付するには
AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
IAM コンソールダッシュボードで [Users (ユーザー)] を選択してから、リストから IAM ユーザーを選択します。
-
[Summary] ページで、[Add permissions] を選択します。
-
[Attach existing policies directly (既存のポリシーを直接添付する)] を選択します。
-
ポリシーリストから [AmazonDynamoDBFullAccess]、[Next: Review (次へ: 確認)] を選択します。
-
[Add permissions] を選択します。
Auto Scaling を有効にした新しいテーブルの作成
DynamoDB オートスケーリングでは、ユーザーに代わってオートスケーリングアクションを実行する、サービスにリンクされたロール (AWSServiceRoleForApplicationAutoScaling_DynamoDBTable
) の存在を必要とします。このロールは自動的に作成されます。詳細については、アプリケーションの Auto Scaling ユーザーガイドの「アプリケーションの Auto Scaling 用にサービスにリンクされたロール」を参照してください。
オートスケーリングを有効にして新しいテーブルを作成するには
https://console.aws.amazon.com/dynamodb/
で DynamoDB コンソールを開きます。 -
[テーブルの作成] を選択します。
-
[テーブルを作成] ページで、[テーブル名] とプライマリキーを入力します。
-
[デフォルト設定] を選択すると、Auto Scaling を有効にしてテーブルが作成されます。
それ以外のカスタム設定の場合:
-
[設定をカスタマイズ] を選択します。
-
[Read/write capacity settings] (読み込み/書き込みキャパシティー設定) セクションで、[Provisioned] (プロビジョンド) キャパシティーモードを選択し、[Read capacity] (読み込みキャパシティー)、[Write capacity] (書き込みキャパシティー)、または両方に対して、[Auto Scaling] (Auto Scaling) を [On] に設定します。これらのそれぞれについて、テーブルに必要なスケーリングポリシーを設定し、オプションでテーブルのすべてのグローバルセカンダリインデックスを設定します。
-
最小容量単位 - Auto Scaling 範囲の下限を入力します。
-
最大容量単位 - Auto Scaling 範囲の上限を入力します。
-
ターゲット使用率 — テーブルの目標使用率を入力します。
注記 新しいテーブルのグローバルセカンダリインデックスを作成する場合、作成時のインデックスの容量は、ベーステーブルの容量と同じになります。インデックスの容量は、テーブルの作成後にテーブルの設定で変更できます。
-
-
-
すべての設定が正しいことを確認したら、[テーブルを作成] を選択します。オートスケーリングパラメータを使用してテーブルが作成されます。
既存のテーブルでの DynamoDB Auto Scaling の有効化
DynamoDB オートスケーリングでは、ユーザーに代わってオートスケーリングアクションを実行する、サービスにリンクされたロール (AWSServiceRoleForApplicationAutoScaling_DynamoDBTable
) の存在を必要とします。このロールは自動的に作成されます。詳細については、Application Auto Scaling のサービスにリンクされたロールを参照してください。
既存のテーブルに対して DynamoDB Auto Scaling を有効にするには
https://console.aws.amazon.com/dynamodb/
で DynamoDB コンソールを開きます。 -
コンソールの左側のナビゲーションペインで、[テーブル] を選択します。
-
使用するテーブルを選択し、[追加設定] タブを選択します。
-
[読み取り容量] セクションで、[編集] を選択します。
-
[容量モード] セクションで、[プロビジョンド] を選択します。
-
[Table capacity] (テーブルキャパシティー) セクションで、[Read capacity] (読み込みキャパシティー)、[Write capacity] (書き込みキャパシティー)、または両方に対して、[Auto scaling] を [On] に設定します。これらのそれぞれについて、テーブルに必要なスケーリングポリシーを設定し、オプションでテーブルのすべてのグローバルセカンダリインデックスを設定します。
-
最小容量単位 - Auto Scaling 範囲の下限を入力します。
-
最大容量単位 - Auto Scaling 範囲の上限を入力します。
-
ターゲット使用率 — テーブルの目標使用率を入力します。
-
すべてのグローバルセカンダリインデックスに同じ容量読み取り/書き込み容量設定を使用する - グローバルセカンダリインデックスがベーステーブルと同じオートスケーリングポリシーを使用するかどうかを選択します。
注記 最高のパフォーマンスを実現するには、[すべてのグローバルセカンダリインデックスに同じ読み取り/書き込み容量設定を適用する] を有効にすることをお勧めします。このオプションを使用すれば、DynamoDB Auto Scaling は、ベーステーブル上のすべてのグローバルセカンダリインデックスを均一にスケーリングできます。これには、既存のグローバルセカンダリインデックスと、将来このテーブル用に作成するその他のインデックスが含まれます。
このオプションを有効にすると、個々のグローバルセカンダリインデックスにスケーリングポリシーを設定できなくなります。
-
-
すべての設定が正しいことを確認したら、[保存] を選択します。
コンソールでの Auto Scaling アクティビティの表示
アプリケーションがテーブルへの読み込みおよび書き込みトラフィックを駆動すると、DynamoDB Auto Scaling はテーブルのスループット設定を動的に変更します。Amazon CloudWatch は、すべての DynamoDB テーブルとセカンダリインデックスについて、プロビジョニングされた容量、消費された容量、スロットルイベント、レイテンシー、およびその他のメトリクスを追跡します。
DynamoDB コンソールでこれらのメトリクスを表示するには、操作するテーブルを選択し、[モニタリング] タブを選択します。テーブルメトリクスのカスタマイズ可能なビューを作成するには、[CloudWatch ですべてを表示] を選択します。
DynamoDB での CloudWatch モニタリングの詳細については、Amazon CloudWatch でのモニタリング を参照してください。
DynamoDB Auto Scaling 設定の変更または無効化
AWS Management Console を使用して、DynamoDB Auto Scaling 設定を変更できます。これを行うには、テーブルの [追加設定] タブに移動し、[読み取り/書き込み容量] セクションで [編集] を選択します。これらの設定の詳細については、「既存のテーブルでの DynamoDB Auto Scaling の有効化」を参照してください。