

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 Amazon Keyspaces 中使用自動擴展的佈建模式中建立多區域資料表
<a name="tables-mrr-create-provisioned"></a>

本節提供如何使用自動擴展在佈建模式中建立多區域資料表的範例。您可以使用 CQL 或 在 Amazon Keyspaces 主控台上執行此操作 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：//[https://console.aws.amazon.com/keyspaces/home](https://console.aws.amazon.com/keyspaces/home) 開啟 Amazon Keyspaces 主控台。

1. 選擇多區域金鑰空間。

1. 在**資料表**索引標籤上，選擇**建立資料表**。

1. 在**資料表詳細資訊區段的建立**資料表頁面上，選取金鑰空間，並提供新資料表的名稱。 ****

1. 在**資料欄**區段中，建立資料表的結構描述。

1. 在**主索引鍵**區段中，定義資料表的主索引鍵，然後選取選用的叢集資料欄。

1. 在**資料表設定**區段中，選擇**自訂設定**。

1. 繼續**讀取/寫入容量設定**。

1. 針對**容量模式**，選擇**佈建**。

1. 在**讀取容量**區段中，確認**已自動選取擴展**。

   您可以選擇為複寫資料表的所有 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`的 來指定容量模式。指定佈建容量模式之後，您可以使用 來設定資料表的自動擴展設定`AUTOSCALING_SETTINGS`。

  如需自動擴展設定、目標追蹤政策、目標值和選用設定的詳細資訊，請參閱 [使用自動擴展建立新的資料表](autoscaling.createTable.md)。

  若要定義特定區域中資料表複本的讀取容量，您可以將下列參數設定為資料表 的一部分`replica_updates`：
  + 區域
  + 佈建的讀取容量單位 （選用）
  + 讀取容量的自動擴展設定 （選用）

  下列範例顯示佈建模式中多區域資料表的`CREATE TABLE`陳述式。一般寫入和讀取容量自動擴展設定相同。不過，讀取自動擴展設定會指定額外的冷卻時間 60 秒，然後再將資料表的讀取容量向上或向下擴展。此外，美國東部區域 （維吉尼亞北部） 的讀取容量自動擴展設定高於其他複本的讀取容量自動擴展設定。此外，目標值設定為 70%，而不是 50%。

  ```
  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 檔案載入資料表的自動擴展設定和複本組態會很有幫助。

  若要使用下列程式碼範例，您可以從 [auto-scaling.zip](samples/auto-scaling.zip) 下載範例 JSON 檔案，並擷取 `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
  ```

------