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、https://console.aws.amazon.com/keyspaces/ホーム で Amazon 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に を定義してキャパシティモードを指定する必要があります。プロビジョンドキャパシティモードを指定したら、 を使用してテーブルの自動スケーリング設定を設定できますAUTOSCALING_SETTINGS

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

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

    • リージョン

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

    • 読み取り容量の自動スケーリング設定 (オプション)

    次の例は、プロビジョニングモードのマルチリージョンテーブルの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

    • リージョン

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

    • 読み取り容量の自動スケーリング設定 (オプション)

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

    次のコード例を使用するには、auto-scaling.zip からサンプルJSONファイルをダウンロードし、 auto-scaling.json と を抽出しますreplication.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 \ --replica-specifications file://replication.json