翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
CLI を使用した Amazon Keyspaces スケーリングポリシーの管理
Amazon Keyspaces の Auto Scaling 設定をプログラムで更新および管理するには、 AWS Command Line Interface (AWS CLI) または AWS API を使用できます。Cassandra クエリ言語 (CQL) を使用して Amazon Keyspaces Auto Scaling ポリシーを管理するには、「」を参照してくださいCassandra クエリ言語 (CQL) による Amazon Keyspaces Auto Scaling の管理。このトピックでは、 を使用してプログラムで管理できる Auto Scaling タスクの概要を説明します AWS CLI。
このトピックで説明する Amazon Keyspaces AWS CLI コマンドの詳細については、AWS CLI 「 コマンドリファレンス
トピック
開始する前に
開始する前に、次のタスクを完了する必要があります。
のアクセス許可を設定します。
まだアクセス許可を設定していない場合は、ユーザーがオートスケーリング設定の作成と管理を行えるように、適切なアクセス許可を設定する必要があります。 AWS Identity and Access Management (IAM) では、Amazon Keyspaces スケーリングポリシーを管理するために AWS マネージドポリシーAmazonKeyspacesFullAccess
が必要です。詳細なステップについては、「開始する前に: Amazon Keyspaces オートスケーリングのアクセス許可をユーザーに付与する」を参照してください。
AWS CLI のインストール
まだ AWS CLI をインストールして設定していない場合は、インストールして設定する必要があります。これを行うには、「 AWS Command Line Interface ユーザーガイド」に移動し、以下の手順に従います。
を使用して自動スケーリングで新しいテーブルを作成する AWS CLI
新しい Amazon Keyspaces テーブルを作成すると、 CreateTable
オペレーションでテーブルの書き込みキャパシティまたは読み取りキャパシティの自動スケーリングを自動的に有効にできます。これにより、Amazon Keyspaces はユーザーに代わって Application Auto Scaling に連絡し、スケーラブルターゲットとして指定したテーブルを登録し、プロビジョニングされた書き込みまたは読み取り容量を調整できます。
Auto Scaling 設定でマルチリージョンテーブルを作成する方法の詳細については、「」を参照してくださいAuto Scaling によるプロビジョニングモードでの新しいマルチリージョンテーブルの作成 (CLI)。
注記
Amazon Keyspaces Auto Scaling では、ユーザーに代わって自動スケーリングアクションを実行するために、サービスにリンクされたロール (AWSServiceRoleForApplicationAutoScaling_CassandraTable
) が必要です。このロールは自動的に作成されます。詳細については、「Amazon Keyspaces のサービスリンクロールの使用」を参照してください。
テーブルの Auto Scaling 設定をプログラムで設定するには、Amazon Keyspaces Auto Scaling のパラメータを定義する autoScalingSpecification
アクションを使用します。パラメータは、テーブルのプロビジョニングされたスループットを調整するように Amazon Keyspaces に指示する条件と、実行する追加のオプションアクションを定義します。この例では、mytable の Auto Scaling 設定を定義します。
ポリシーには、次の要素が含まれます。
-
autoScalingSpecification
– Amazon Keyspaces がユーザーに代わって容量スループットを調整できるかどうかを指定します。読み込みキャパシティーと書き込みキャパシティーの Auto Scaling を個別に有効にできます。次に、 に次のパラメータを指定する必要がありますautoScalingSpecification
。-
writeCapacityAutoScaling
- 最大および最小書き込みキャパシティユニット。 -
readCapacityAutoScaling
- 最大読み込みキャパシティーユニットと最小読み込みキャパシティーユニット。 -
scalingPolicy
— Amazon Keyspaces はターゲット追跡ポリシーをサポートしています。ターゲット追跡ポリシーを定義するには、次のパラメータを設定します。-
targetValue
– Amazon Keyspaces Auto Scaling により、プロビジョンドキャパシティに対する消費キャパシティの比率がこの値またはその近くに留まります。targetValue
をパーセンテージとして定義します。 -
disableScaleIn
: (オプション) テーブルに対してscale-in
が無効か有効かboolean
を指定する 。このパラメータはデフォルトで無効になっています。をオンにするにはscale-in
、boolean
値を に設定しますFALSE
。つまり、ユーザーに代わってテーブルの容量が自動的にスケールダウンされます。 -
scaleOutCooldown
— スケールアウトアクティビティでテーブルのプロビジョンドスループットを増加させます。スケールアウトアクティビティのクールダウン期間を追加するには、ScaleOutCooldown
の値を秒単位で指定します。デフォルト値は 0 です。ターゲット追跡およびクールダウン期間の詳細については、Application Auto Scaling ユーザーガイドの「ターゲット追跡スケーリングポリシー」を参照してください。 Auto Scaling -
scaleInCooldown
— スケールインアクティビティでテーブルのプロビジョンドスループットを減少させます。スケールインアクティビティのクールダウン期間を追加するには、ScaleInCooldown
の値を秒単位で指定します。デフォルト値は 0 です。ターゲット追跡およびクールダウン期間の詳細については、Application Auto Scaling ユーザーガイドの「ターゲット追跡スケーリングポリシー」を参照してください。 Auto Scaling
-
-
注記
TargetValue
がどのように機能するかをさらに理解するために、書き込み容量単位が 200 で、プロビジョンされたスループット設定を持つテーブルがあるとします。このテーブルのスケーリングポリシーを作成することにしました。TargetValue
は 70% です。
ここで、実際の書き込みスループットが 150 容量単位になるように、テーブルへの書き込みトラフィックを駆動し始めたとします。 consumed-to-provisioned 比率は現在 (150/200)、つまり 75% です。この比率はターゲットを超えているため、Auto Scaling はプロビジョニングされた書き込み容量を 215 に増やし、比率が (150/215) または 69.77% になるようにします。これは、TargetValue
可能な限り に近いが、それを超えないようにします。
mytable の場合、読み込みキャパシティーと書き込みキャパシティーTargetValue
の両方を 50% に設定します。Amazon Keyspaces Auto Scaling は、テーブルのプロビジョニングされたスループットを 5~10 キャパシティーユニットの範囲内で調整し、 consumed-to-provisioned 比率が 50% 前後に維持されるようにします。読み込み容量については、 ScaleOutCooldown
と の値を 60 ScaleInCooldown
秒に設定します。
複雑な Auto Scaling 設定でテーブルを作成する場合、Auto Scaling 設定を JSON ファイルからロードすると便利です。次の例では、サンプル JSON ファイルを auto-scaling.zip からダウンロードして を抽出しauto-scaling.json
、 ファイルへのパスを書き留めます。この例では、JSON ファイルは現在のディレクトリにあります。さまざまなファイルパスオプションについては、「ファイルからパラメーターを読み込む方法」を参照してください。
aws keyspaces create-table --keyspace-name mykeyspace --table-name mytable \ --schema-definition 'allColumns=[{name=pk,type=int},{name=ck,type=int}],partitionKeys=[{name=pk},{name=ck}]' \ --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=1,writeCapacityUnits=1 \ --auto-scaling-specification file://auto-scaling.json
を使用して既存のテーブルでオートスケーリングを有効にする AWS CLI
既存の Amazon Keyspaces テーブルでは、 UpdateTable
オペレーションを使用して、テーブルの書き込みキャパシティまたは読み取りキャパシティのオートスケーリングを有効にできます。マルチリージョンテーブルの Auto Scaling 設定を更新する方法の詳細については、「」を参照してくださいマルチリージョンテーブルのプロビジョンドキャパシティと Auto Scaling 設定の更新 (CLI)。
注記
Amazon Keyspaces のオートスケーリングでは、ユーザーに代わってオートスケーリングアクションを実行するサービスリンクロール (AWSServiceRoleForApplicationAutoScaling_CassandraTable
) の存在が必要になります。このロールは自動的に作成されます。詳細については、「Amazon Keyspaces のサービスリンクロールの使用」を参照してください。
既存のテーブルに対して Amazon Keyspaces Auto Scaling を有効にするには、次のコマンドを使用します。テーブルの Auto Scaling 設定は、JSON ファイルからロードされます。次の例では、サンプル JSON ファイルを auto-scaling.zip からダウンロードして を抽出しauto-scaling.json
、 ファイルへのパスを書き留めます。この例では、JSON ファイルは現在のディレクトリにあります。さまざまなファイルパスオプションについては、「ファイルからパラメーターを読み込む方法」を参照してください。
次の例で使用されている Auto Scaling 設定の詳細については、「」を参照してくださいを使用して自動スケーリングで新しいテーブルを作成する AWS CLI。
aws keyspaces update-table --keyspace-name mykeyspace --table-name mytable \ --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=1,writeCapacityUnits=1 \ --auto-scaling-specification file://auto-scaling.json
を使用してテーブルの Amazon Keyspaces Auto Scaling 設定を表示する AWS CLI
テーブルの Auto Scaling 設定を表示するには、 get-table-auto-scaling-settings
オペレーションを使用できます。次の CLI コマンドはその一例です。
aws keyspaces get-table-auto-scaling-settings --keyspace-name mykeyspace --table-name mytable
このコマンドの出力は次のようになります。
{ "keyspaceName": "mykeyspace", "tableName": "mytable", "resourceArn": "arn:aws:cassandra:us-east-1:5555-5555-5555:/keyspace/mykeyspace/table/mytable", "autoScalingSpecification": { "writeCapacityAutoScaling": { "autoScalingDisabled": false, "minimumUnits": 5, "maximumUnits": 10, "scalingPolicy": { "targetTrackingScalingPolicyConfiguration": { "disableScaleIn": false, "scaleInCooldown": 0, "scaleOutCooldown": 0, "targetValue": 50.0 } } }, "readCapacityAutoScaling": { "autoScalingDisabled": false, "minimumUnits": 5, "maximumUnits": 10, "scalingPolicy": { "targetTrackingScalingPolicyConfiguration": { "disableScaleIn": false, "scaleInCooldown": 60, "scaleOutCooldown": 60, "targetValue": 50.0 } } } } }
を使用してテーブルの Amazon Keyspaces Auto Scaling をオフにする AWS CLI
テーブルの Amazon Keyspaces Auto Scaling はいつでも無効にできます。テーブルの読み込みまたは書き込み容量をスケーリングする必要がなくなった場合は、Amazon Keyspaces がテーブルの読み込みまたは書き込み容量設定を変更し続けないように、自動スケーリングをオフにすることを検討してください。テーブルは UpdateTable
オペレーションで更新できます。
次のコマンドは、テーブルの読み込みキャパシティーの Auto Scaling をオフにします。また、ユーザーに代わって作成された CloudWatch アラームも削除されます。
aws keyspaces update-table --keyspace-name mykeyspace --table-name mytable \ --auto-scaling-specification readCapacityAutoScaling={autoScalingDisabled=true}
注記
Application Auto Scaling が使用するサービスにリンクされたロールを削除するには、すべての でアカウント内のすべてのテーブルのオートスケーリングを無効にする必要があります AWS リージョン。