自動スケーリングを使用して新しいテーブルを作成する - Amazon Keyspaces (Apache Cassandra 向け)

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

自動スケーリングを使用して新しいテーブルを作成する

新しい Amazon Keyspaces テーブルを作成すると、テーブルの書き込み容量または読み取り容量の自動スケーリングを自動的に有効にできます。これにより、Amazon Keyspaces はユーザーに代わって Application Auto Scaling に連絡して、テーブルをスケーラブルターゲットとして登録し、プロビジョニングされた書き込みまたは読み取り容量を調整できます。

マルチリージョンテーブルを作成し、テーブルレプリカのさまざまな自動スケーリング設定を構成する方法の詳細については、「」を参照してくださいAmazon Keyspaces で自動スケーリングを使用して、プロビジョニングモードでマルチリージョンテーブルを作成する

注記

Amazon Keyspaces のオートスケーリングでは、ユーザーに代わってオートスケーリングアクションを実行するサービスリンクロール (AWSServiceRoleForApplicationAutoScaling_CassandraTable) の存在が必要になります。このロールは自動的に作成されます。詳細については、「Amazon Keyspaces のサービスリンクロールの使用」を参照してください。

Console
コンソールを使用して、自動スケーリングを有効にした新しいテーブルを作成する
  1. にサインインする AWS Management Console、ホーム で Amazon Keyspaces https://console.aws.amazon.com/keyspaces/コンソールを開きます。

  2. ナビゲーションペインで [Tables] (テーブル) を選択して、[Create table (テーブルの作成)] を選択します。

  3. [Table details (テーブルの詳細)] セクションの [Create table (テーブルの作成)] ページで、キースペースを選択し、新しいテーブルに名前を付けます。

  4. 「列」セクションで、テーブルのスキーマを作成します。

  5. 「プライマリキー」セクションで、テーブルのプライマリキーを定義し、オプションのクラスタリング列を選択します。

  6. [Table settings (テーブルの設定)] セクションで、[Customize settings (設定のカスタマイズ)] を選択します。

  7. [Read/write capacity settings (読み取り/書き込みキャパシティの設定)] に進みます。

  8. [Capacity mode (キャパシティモード)] で、[Provisioned (プロビジョン)] を選択します。

  9. [Read capacity] (読み取りキャパシティ) セクションで、[Scale automatically (オートスケーリング)] が選択されているか確認します。

    このステップでは、テーブルの読み取りキャパシティユニットの最小値と最大値、およびターゲット使用率を選択します。

    • 最小キャパシティユニット — テーブルをいつでもすぐにサポートできる状態にするために、最小レベルのスループット値を入力します。この値は、1 から、アカウントの秒単位の最大スループットクォータ (デフォルトは 40,000) までの範囲でなければなりません。

    • 最大キャパシティユニット — テーブルに対してプロビジョニングするスループットの最大量を入力します。この値は、1 から、アカウントの秒単位の最大スループットクォータ (デフォルトは 40,000) までの範囲でなければなりません。

    • ターゲット使用率— ターゲット使用率を 20%~90% の範囲で入力します。定義したターゲット使用率をトラフィックが上回ると、キャパシティが自動的に増加されます。定義したターゲットをトラフィックが下回ると、再び容量が自動的に減少されます。

    注記

    アカウントのデフォルトクォータの詳細およびクォータを引き上げる方法については、「Amazon Keyspaces (Apache Cassandra 向け) のクォータ」を参照してください。

  10. 「容量の書き込み」セクションで、前のステップで定義したのと同じ設定を読み込み容量に選択するか、容量値を手動で設定します。

  11. [Create table (テーブルの作成)] を選択します。指定したオートスケーリングパラメータを使用してテーブルが作成されます。

Cassandra Query Language (CQL)

を使用して Amazon Keyspaces 自動スケーリングで新しいテーブルを作成する CQL

テーブルの Auto Scaling 設定をプログラムで設定するには、Amazon Keyspaces Auto Scaling のパラメータを含む AUTOSCALING_SETTINGSステートメントを使用します。パラメータは、テーブルのプロビジョニングされたスループットを調整するように Amazon Keyspaces に指示する条件と、実行する追加のオプションアクションを定義します。この例では、mytable の Auto Scaling 設定を定義します。

ポリシーには、次の要素が含まれます。

  • AUTOSCALING_SETTINGS – Amazon Keyspaces がユーザーに代わってスループットキャパシティを調整できるかどうかを指定します。次の値が必要です。

    • provisioned_write_capacity_autoscaling_update:

      • minimum_units

      • maximum_units

    • provisioned_read_capacity_autoscaling_update:

      • minimum_units

      • maximum_units

    • scaling_policy — Amazon Keyspaces はターゲット追跡ポリシーをサポートしています。ターゲット追跡ポリシーを定義するには、次のパラメータを設定します。

      • target_value – Amazon Keyspaces の自動スケーリングにより、プロビジョンドキャパシティに対する消費キャパシティの比率がこの値またはその近くにとどまります。target_value をパーセンテージとして定義します。

      • disableScaleIn: (オプション) テーブルに対して scale-inが無効か有効かbooleanを指定する 。このパラメータはデフォルトで無効になっています。をオンにするにはscale-inboolean値を に設定しますFALSE。つまり、ユーザーに代わってテーブルの容量が自動的にスケールダウンされます。

      • scale_out_cooldown — スケールアウトアクティビティでテーブルのプロビジョンドスループットを増加させます。スケールアウトアクティビティのクールダウン期間を追加するには、scale_out_cooldown の値を秒単位で指定します。値を指定しない場合、デフォルト値は 0 です。ターゲットの追跡期間とクールダウン期間の詳細については、Application Auto Scaling ユーザーガイドの「ターゲット追跡スケーリングポリシー」を参照してください。 Auto Scaling

      • scale_in_cooldown — スケールインアクティビティでテーブルのプロビジョンドスループットを減少させます。スケールインアクティビティのクールダウン期間を追加するには、scale_in_cooldown の値を秒単位で指定します。値を指定しない場合、デフォルト値は 0 です。ターゲットの追跡期間とクールダウン期間の詳細については、Application Auto Scaling ユーザーガイドの「ターゲット追跡スケーリングポリシー」を参照してください。 Auto Scaling

注記

target_value がどのように機能するかをさらに理解するために、書き込み容量単位が 200 で、プロビジョンされたスループット設定を持つテーブルがあるとします。このテーブルのスケーリングポリシーを作成することにしました。target_value は 70% です。

ここで、実際の書き込みスループットが 150 容量単位になるように、テーブルへの書き込みトラフィックを駆動し始めたとします。この consumed-to-provisioned 比率は、現在 (150/200)、つまり 75% です。この比率はターゲットを超えるため、自動スケーリングはプロビジョニングされた書き込み容量を 215 に増やして、比率が (150/215) または 69.77% になるようにします。これは、target_value可能な限り に近づきますが、それを超えないようにします。

mytable では、読み取り容量と書き込み容量TargetValueの両方を 50% に設定します。Amazon Keyspaces Auto Scaling は、 consumed-to-provisioned 比率が 50% またはほぼ 50% になるように、テーブルのプロビジョニングされたスループットを 5~10 キャパシティーユニットの範囲内で調整します。読み込み容量については、 ScaleOutCooldownと の値を 60 ScaleInCooldown 秒に設定します。

次のステートメントを使用して、自動スケーリングを有効にした新しい Amazon Keyspaces テーブルを作成できます。

CREATE TABLE mykeyspace.mytable(pk int, ck int, PRIMARY KEY (pk, ck)) WITH CUSTOM_PROPERTIES = { 'capacity_mode': { 'throughput_mode': 'PROVISIONED', 'read_capacity_units': 1, 'write_capacity_units': 1 } } AND AUTOSCALING_SETTINGS = { 'provisioned_write_capacity_autoscaling_update': { 'maximum_units': 10, 'minimum_units': 5, 'scaling_policy': { 'target_tracking_scaling_policy_configuration': { 'target_value': 50 } } }, 'provisioned_read_capacity_autoscaling_update': { 'maximum_units': 10, 'minimum_units': 5, 'scaling_policy': { 'target_tracking_scaling_policy_configuration': { 'target_value': 50, 'scale_in_cooldown': 60, 'scale_out_cooldown': 60 } } } };
CLI

を使用して Amazon Keyspaces 自動スケーリングで新しいテーブルを作成する AWS CLI

テーブルの Auto Scaling 設定をプログラムで設定するには、Amazon Keyspaces Auto Scaling のパラメータを定義する autoScalingSpecificationアクションを使用します。パラメータは、テーブルのプロビジョニングされたスループットを調整するように Amazon Keyspaces に指示する条件と、実行する追加のオプションアクションを定義します。この例では、mytable の Auto Scaling 設定を定義します。

ポリシーには、次の要素が含まれます。

  • autoScalingSpecification – Amazon Keyspaces がユーザーに代わって容量スループットを調整できるかどうかを指定します。読み取り容量と書き込み容量のオートスケーリングは個別に有効にできます。次に、 に次のパラメータを指定する必要がありますautoScalingSpecification

    • writeCapacityAutoScaling – 最大および最小書き込みキャパシティーユニット。

    • readCapacityAutoScaling - 最大および最小読み込みキャパシティーユニット。

    • scalingPolicy — Amazon Keyspaces はターゲット追跡ポリシーをサポートしています。ターゲット追跡ポリシーを定義するには、次のパラメータを設定します。

      • targetValue – Amazon Keyspaces の自動スケーリングにより、プロビジョンドキャパシティに対する消費キャパシティの比率がこの値またはその近くにとどまります。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% です。この比率はターゲットを超えるため、自動スケーリングはプロビジョニングされた書き込み容量を 215 に増やして、比率が (150/215) または 69.77% になるようにします。これは、TargetValue可能な限り に近づきますが、それを超えないようにします。

mytable では、読み取り容量と書き込み容量TargetValueの両方を 50% に設定します。Amazon Keyspaces Auto Scaling は、 consumed-to-provisioned 比率が 50% またはほぼ 50% になるように、テーブルのプロビジョニングされたスループットを 5~10 キャパシティーユニットの範囲内で調整します。読み込み容量については、 ScaleOutCooldownと の値を 60 ScaleInCooldown 秒に設定します。

複雑なオートスケーリング設定でテーブルを作成する場合、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