翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon DynamoDB と Application Auto Scaling
DynamoDB のテーブルとグローバルセカンダリインデックスは、ターゲット追跡スケーリングポリシーとスケジュールされたスケーリングを使用してスケールできます。
以下の情報を使用して、DynamoDB の Application Auto Scaling との統合に役立ててください。
DynamoDB 用に作成されたサービスリンクロール
DynamoDB リソースをスケーラブルターゲットとして Application Auto Scaling に登録 AWS アカウント すると、 に次のサービスにリンクされたロールが自動的に作成されます。このロールは、アカウント内でサポートされている操作を実行することを Application Auto Scaling に許可します。詳細については、「Application Auto Scaling 用のサービスリンクロール」を参照してください。
-
AWSServiceRoleForApplicationAutoScaling_DynamoDBTable
サービスリンクロールが使用するサービスプリンシパル
前のセクションで説明したサービスリンクロールを引き受けることができるのは、ロールに定義された信頼関係によって認可されるサービスプリンシパルのみです。Application Auto Scaling が使用するサービスリンクロールは、以下のサービスプリンシパルに対するアクセス権を付与します。
-
dynamodb.application-autoscaling.amazonaws.com
スケーラブルターゲットとしての DynamoDB リソースの Application Auto Scaling への登録
Application Auto Scaling では、DynamoDB のテーブルとグローバルセカンダリインデックスのスケーリングポリシーまたはスケジュールされたアクションを作成する前に、スケーラブルターゲットが必要になります。スケーラブルターゲットとは、Application Auto Scaling がスケールアウトおよびスケールインできるリソースです。スケーラブルターゲットは、リソース ID、スケーラブルディメンション、および名前空間の組み合わせによって一意に識別されます。
DynamoDB コンソールを使用してオートスケーリングを設定すると、DynamoDB がユーザーに代わってスケーラブルターゲットを自動的に登録します。
AWS CLI または AWS SDKs のいずれかを使用して自動スケーリングを設定する場合は、次のオプションを使用できます。
-
AWS CLI:
テーブルの書き込み容量に対して register-scalable-target コマンドを呼び出します。以下の例は、最小容量を 5 個の書き込みキャパシティーユニット、最大容量を 10 個の書き込みキャパシティーユニットとして、
my-table
と呼ばれるテーブルのプロビジョニングされた書き込みキャパシティーを登録します。aws application-autoscaling register-scalable-target \ --service-namespace dynamodb \ --scalable-dimension dynamodb:table:WriteCapacityUnits \ --resource-id table/
my-table
\ --min-capacity5
\ --max-capacity10
成功した場合、このコマンドはスケーラブルターゲットの ARN を返します。
{ "ScalableTargetARN": "arn:aws:application-autoscaling:
region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }テーブルの読み込み容量に対して register-scalable-target コマンドを呼び出します。以下の例は、最小容量を 5 個の読み取り容量ユニット、最大容量を 10 個の読み取り容量ユニットとして、
my-table
と呼ばれるテーブルのプロビジョニングされた読み取り容量を登録します。aws application-autoscaling register-scalable-target \ --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits \ --resource-id table/
my-table
\ --min-capacity5
\ --max-capacity10
成功した場合、このコマンドはスケーラブルターゲットの ARN を返します。
{ "ScalableTargetARN": "arn:aws:application-autoscaling:
region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }グローバルセカンダリインデックスの書き込み容量に対して register-scalable-target コマンドを呼び出します。以下の例は、最小容量を 5 個の書き込みキャパシティーユニット、最大容量を 10 個の書き込みキャパシティーユニットとして、
my-table-index
と呼ばれるグローバルセカンダリインデックスのプロビジョニングされた書き込みキャパシティーを登録します。aws application-autoscaling register-scalable-target \ --service-namespace dynamodb \ --scalable-dimension dynamodb:index:WriteCapacityUnits \ --resource-id table/
my-table
/index/my-table-index
\ --min-capacity5
\ --max-capacity10
成功した場合、このコマンドはスケーラブルターゲットの ARN を返します。
{ "ScalableTargetARN": "arn:aws:application-autoscaling:
region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }グローバルセカンダリインデックスの読み取り容量に対して register-scalable-target コマンドを呼び出します。以下の例は、最小容量を 5 個の読み取り容量ユニット、最大容量を 10 個の読み取り容量ユニットとして、
my-table-index
と呼ばれるグローバルセカンダリインデックスのプロビジョニングされた読み取り容量を登録します。aws application-autoscaling register-scalable-target \ --service-namespace dynamodb \ --scalable-dimension dynamodb:index:ReadCapacityUnits \ --resource-id table/
my-table
/index/my-table-index
\ --min-capacity5
\ --max-capacity10
成功した場合、このコマンドはスケーラブルターゲットの ARN を返します。
{ "ScalableTargetARN": "arn:aws:application-autoscaling:
region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123" } -
AWS SDK:
RegisterScalableTarget オペレーションを呼び出し、パラメータ
MaxCapacity
としてResourceId
、ScalableDimension
ServiceNamespace
、MinCapacity
、、および を指定します。
関連リソース
Application Auto Scaling の使用を開始したばかりの場合は、次のドキュメントで DynamoDB リソースのスケーリングに関するその他の有用な情報を確認できます。
-
Amazon DynamoDB デベロッパーガイドの「DynamoDB Auto Scaling によるスループット容量の管理」
-
「Amazon DynamoDB デベロッパーガイド」の「テーブルの Auto Scaling 設定を評価するDynamoDB」
-
AWS CloudFormation を使用して ブログの DynamoDB テーブルとインデックスの自動スケーリングを設定する方法
AWS