Amazon Keyspaces で自動スケーリングを使用してプロビジョニングモードでマルチリージョンテーブルを作成する - Amazon Keyspaces (Apache Cassandra 向け)

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

Amazon Keyspaces で自動スケーリングを使用してプロビジョニングモードでマルチリージョンテーブルを作成する

このセクションでは、自動スケーリングを使用してプロビジョニングモードでマルチリージョンテーブルを作成する方法の例を示します。これは、 CQLまたは を使用して Amazon Keyspaces コンソールで実行できます。 AWS CLI.

サポートされている設定とマルチリージョンレプリケーション機能の詳細については、「」を参照してくださいAmazon Keyspaces マルチリージョンレプリケーション使用に関する注意事項

マルチリージョンキースペースを作成するには、「」を参照してくださいAmazon Keyspaces でマルチリージョンキースペースを作成する

自動スケーリング設定を使用してプロビジョンドモードで新しいマルチリージョンテーブルを作成する場合、すべての で有効なテーブルの一般設定を指定できます。 AWS リージョン テーブルがレプリケートされる 。その後、各レプリカの読み取り容量設定と読み取り自動スケーリング設定を上書きできます。ただし、書き込み容量はすべてのレプリカ間で同期されたままになり、すべてのリージョンに書き込みをレプリケートするのに十分な容量が確保されます。

注記

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

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

  2. マルチリージョンキー空間を選択します。

  3. [テーブル] タブで [テーブルを作成] を選択します。

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

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

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

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

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

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

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

    すべての に対して同じ読み込みキャパシティーユニットを設定するように選択できます。 AWS リージョン テーブルがレプリケートされる 。または、チェックボックスをオフにして、リージョンごとに異なる読み取り容量を設定することもできます。

    各リージョンを異なる方法で設定することを選択した場合は、各テーブルレプリカの最小読み取りキャパシティーユニットと最大読み取りキャパシティーユニット、およびターゲット使用率を選択します。

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

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

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

    • テーブルの読み込み容量を手動でプロビジョニングする場合は、スケールの自動チェックボックスをオフにします。この設定は、テーブルのすべてのレプリカに適用されます。

      注記

      すべてのレプリカに十分な読み込み容量を確保するために、プロビジョニングされたマルチリージョンテーブルに対して Amazon Keyspaces 自動スケーリングをお勧めします。

    注記

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

  11. 「容量の書き込み」セクションで、スケールが自動的に選択されていることを確認します。次に、テーブルのキャパシティーユニットを設定します。書き込みキャパシティーユニットは、すべての 間で同期されたままになります。 AWS リージョン は、リージョン間で書き込みイベントをレプリケートするのに十分な容量があることを確認します。

    • テーブルの書き込み容量を手動でプロビジョニングする場合は、スケールを自動的にクリアします。この設定は、テーブルのすべてのレプリカに適用されます。

      注記

      すべてのレプリカに十分な書き込み容量を確保するために、プロビジョニングされたマルチリージョンテーブルに対して Amazon Keyspaces 自動スケーリングをお勧めします。

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

Cassandra Query Language (CQL)
を使用して、プロビジョンドキャパシティモードと自動スケーリングでマルチリージョンテーブルを作成する CQL
  • 自動スケーリングを使用してプロビジョニングモードでマルチリージョンテーブルを作成するには、まずCUSTOM_PROPERTIESテーブルに を定義してキャパシティモードを指定する必要があります。プロビジョンドキャパシティモードを指定したら、 を使用してテーブルの Auto Scaling 設定を構成できますAUTOSCALING_SETTINGS

    自動スケーリング設定、ターゲット追跡ポリシー、ターゲット値、およびオプション設定の詳細については、「」を参照してください自動スケーリングを使用して新しいテーブルを作成する

    特定のリージョンのテーブルレプリカの読み取り容量を定義するには、テーブルの の一部として次のパラメータを設定できますreplica_updates

    • リージョン

    • プロビジョニングされた読み込みキャパシティーユニット (オプション)

    • 読み込み容量の Auto Scaling 設定 (オプション)

    次の例は、プロビジョニングモードのマルチリージョンテーブルの CREATE TABLEステートメントを示しています。一般的な書き込み容量と読み取り容量の自動スケーリング設定は同じです。ただし、読み取り自動スケーリング設定では、テーブルの読み取り容量をスケールアップまたはスケールダウンする前に、60 秒の追加クールダウン期間を指定します。さらに、米国東部 (バージニア北部) リージョンの読み込み容量の自動スケーリング設定は、他のレプリカの読み取り容量よりも高くなります。また、ターゲット値は 50% ではなく 70% に設定されます。

    CREATE TABLE mykeyspace.mytable(pk int, ck int, PRIMARY KEY (pk, ck)) WITH CUSTOM_PROPERTIES = { 'capacity_mode': { 'throughput_mode': 'PROVISIONED', 'read_capacity_units': 5, 'write_capacity_units': 5 } } 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 } } }, 'replica_updates': { 'us-east-1': { 'provisioned_read_capacity_autoscaling_update': { 'maximum_units': 20, 'minimum_units': 5, 'scaling_policy': { 'target_tracking_scaling_policy_configuration': { 'target_value': 70 } } } } } };
CLI
を使用して、自動スケーリングでプロビジョニングモードで新しいマルチリージョンテーブルを作成する AWS CLI
  • 自動スケーリング設定を使用してプロビジョニングモードでマルチリージョンテーブルを作成するには、 を使用できます。 AWS CLI。 マルチリージョンの自動スケーリング設定を構成するには、Amazon Keyspaces CLI create-table コマンドを使用する必要があります。これは、Amazon Keyspaces がユーザーに代わって自動スケーリングを実行するために使用されるサービスである Application Auto Scaling が複数のリージョンをサポートしていないためです。

    自動スケーリング設定、ターゲット追跡ポリシー、ターゲット値、およびオプション設定の詳細については、「」を参照してください自動スケーリングを使用して新しいテーブルを作成する

    特定のリージョンのテーブルレプリカの読み取り容量を定義するには、テーブルの の一部として次のパラメータを設定できますreplicaSpecifications

    • リージョン

    • プロビジョニングされた読み込みキャパシティーユニット (オプション)

    • 読み込み容量の Auto Scaling 設定 (オプション)

    複雑な自動スケーリング設定とテーブルレプリカのさまざまな設定を使用してプロビジョニングされたマルチリージョンテーブルを作成する場合、テーブルの自動スケーリング設定とレプリカ設定をJSONファイルからロードすると便利です。

    次のコード例を使用するには、auto-scaling.zip からサンプルJSONファイルをダウンロードし、 auto-scaling.jsonと を抽出しますreplication.jsonsamples/auto-scaling.zipファイルへのパスを書き留めます。

    この例では、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 \ --replica-specifications file://replication.json