

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

# Amazon Keyspaces で自動スケーリングが有効なプロビジョンドモードのマルチリージョンテーブルを作成する
<a name="tables-mrr-create-provisioned"></a>

このセクションでは、自動スケーリングが有効なプロビジョンドモードのマルチリージョンテーブルを作成する方法の例を紹介します。この作業は、Amazon Keyspaces コンソール、CQL、または AWS CLIを使用して行うことができます。

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

マルチリージョンキースペースを作成するには、「[Amazon Keyspaces でマルチリージョンキースペースを作成する](keyspaces-mrr-create.md)」を参照してください。

自動スケーリング設定を使用してプロビジョンドモードの新しいマルチリージョンテーブルを作成する場合、そのテーブルのレプリケート先のすべての AWS リージョン に適用される汎用設定を指定できます。その上で、読み取りキャパシティ設定と読み取りの自動スケーリング設定をレプリカごとに上書きできます。一方、書き込みキャパシティについては、すべてのリージョン間で書き込みをレプリケートするためのキャパシティを十分に確保するため、すべてのレプリカ間で同期されます。

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

------
#### [ Console ]

**自動スケーリングが有効な新しいマルチリージョンテーブルを作成する**

1. にサインインし AWS マネジメントコンソール、[https://console.aws.amazon.com/keyspaces/home](https://console.aws.amazon.com/keyspaces/home) で Amazon Keyspaces コンソールを開きます。

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

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

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

1. **[列]** セクションで、テーブルのスキーマを作成します。

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

1. **[テーブルの設定]** セクションで、**[設定のカスタマイズ]** を選択します。

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

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

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

   テーブルのレプリケート先のすべての AWS リージョン で同じ読み取りキャパシティユニットを設定するチェックボックスを選択できます。または、そのチェックボックスの選択を解除して、リージョンごとに別々の読み取りキャパシティを設定できます。

   リージョンごとに別々に設定する選択肢を選んだ場合は、各テーブルレプリカの最小と最大の読み取りキャパシティユニットとターゲット使用率を併せて選択します。
   + **最小キャパシティユニット** — テーブルをいつでもすぐにサポートできる状態にするために、最小レベルのスループット値を入力します。この値は、1 から、アカウントの秒単位の最大スループットクォータ (デフォルトは 40,000) までの範囲でなければなりません。
   + **最大キャパシティユニット** — テーブルに対してプロビジョニングするスループットの最大量を入力します。この値は、1 から、アカウントの秒単位の最大スループットクォータ (デフォルトは 40,000) までの範囲でなければなりません。
   + **ターゲット使用率**— ターゲット使用率を 20%～90% の範囲で入力します。定義したターゲット使用率をトラフィックが上回ると、キャパシティが自動的に増加されます。定義したターゲットをトラフィックが下回ると、再び容量が自動的に減少されます。
   + テーブルの読み取りキャパシティを手動でプロビジョニングする場合は、**[自動スケーリング]** チェックボックスの選択を解除します。この設定は、テーブルのすべてのレプリカに適用されます。
**注記**  
すべてのレプリカに十分な読み取りキャパシティを確保するために、プロビジョンドモードのマルチリージョンテーブルでは Amazon Keyspaces の自動スケーリングを使用することをお勧めします。
**注記**  
アカウントのデフォルトクォータの詳細およびクォータを引き上げる方法については、「[Amazon Keyspaces (Apache Cassandra 向け) のクォータ](quotas.md)」を参照してください。

1. **[読み込みキャパシティ]** セクションで、**[自動スケーリング]** が選択されていることを確認します。その上で、テーブルのキャパシティユニットを設定します。書き込みキャパシティユニットは、すべてのリージョン間で書き込みイベントをレプリケートするためのキャパシティを十分に確保するため、すべての AWS リージョン 間で同期されます。
   + テーブルの書き込みキャパシティを手動でプロビジョニングする場合は、**[自動スケーリング]** の選択を解除します。この設定は、テーブルのすべてのレプリカに適用されます。
**注記**  
すべてのレプリカに十分な書き込みキャパシティを確保するために、プロビジョンドモードのマルチリージョンテーブルでは Amazon Keyspaces の自動スケーリングを使用することをお勧めします。

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

------
#### [ Cassandra Query Language (CQL) ]

**自動スケーリングが有効なプロビジョンドキャパシティモードのマルチリージョンテーブルを CQL を使用して作成する**
+ 自動スケーリングが有効なプロビジョンドモードのマルチリージョンテーブルを作成するには、まず、テーブルの `CUSTOM_PROPERTIES` を定義し、キャパシティモードを指定する必要があります。プロビジョンド (provisioned) キャパシティモードを指定した後で、`AUTOSCALING_SETTINGS` を使用して、テーブルの自動スケーリングを設定できます。

  自動スケーリング設定、ターゲット追跡ポリシー、ターゲット値、オプション設定の詳細については、「[自動スケーリングを有効にして新規テーブルを作成する](autoscaling.createTable.md)」を参照してください。

  特定のリージョン内のテーブルレプリカの読み取りキャパシティを定義するには、テーブルの `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` コマンドを使用する必要があります。その理由は、Application Auto Scaling (Amazon Keyspaces が自動スケーリングを実行するために使用するサービス) がマルチリージョンに対応していないからです。

  自動スケーリング設定、ターゲット追跡ポリシー、ターゲット値、オプション設定の詳細については、「[自動スケーリングを有効にして新規テーブルを作成する](autoscaling.createTable.md)」を参照してください。

  特定のリージョン内のテーブルレプリカの読み取りキャパシティを定義するには、テーブルの `replicaSpecifications` の一部として次のパラメータを設定できます。
  + リージョン
  + プロビジョニングされた読み取りキャパシティユニット (オプション)
  + 読み取りキャパシティの自動スケーリング設定 (オプション)

  自動スケーリング設定が複雑で、テーブルレプリカごとに設定が異なるマルチリージョンテーブルを作成する場合は、テーブルの自動スケーリング設定とレプリカ設定を JSON ファイルからロードすると便利です。

  次のコード例を使用するには、サンプル JSON ファイルを収録した [auto-scaling.zip](samples/auto-scaling.zip) をダウンロードし、`auto-scaling.json` と `replication.json` を抽出します。ファイルのパスを書き留めておいてください。

  この例では、JSON ファイルは現在のディレクトリにあります。さまざまなファイルパスオプションについては、「[ファイルからパラメーターを読み込む方法](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-file.html#cli-usage-parameters-file-how)」を参照してください。

  ```
  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
  ```

------