CLI を使用した Amazon Keyspaces スケーリングポリシーの管理 - Amazon Keyspaces (Apache Cassandra 向け)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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-inboolean値を に設定します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 リージョン。