Usando o AWS CLI para criar e gerenciar tabelas multirregionais - Amazon Keyspaces (para Apache Cassandra)

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Usando o AWS CLI para criar e gerenciar tabelas multirregionais

Você pode usar o AWS Command Line Interface (AWS CLI) para criar e gerenciar tabelas e espaços de chave multirregionais no Amazon Keyspaces.

Esta seção fornece exemplos de como criar e gerenciar tabelas multirregionais com o. AWS CLI Todas as tabelas que você cria em um espaço de chave multirregional herdam automaticamente as configurações de várias regiões do espaço de chave.

Para obter mais informações sobre os AWS CLI comandos do Amazon Keyspaces descritos neste tópico, consulte a Referência de AWS CLI comandos do Amazon Keyspaces.

Como criar um novo espaço de chaves multirregional (CLI)

Para criar um espaço de chaves multirregional, você pode usar a instrução CLI a seguir. Especifique sua Região atual e pelo menos uma Região adicional no regionList.

aws keyspaces create-keyspace --keyspace-name mykeyspace \ --replication-specification replicationStrategy=MULTI_REGION,regionList=us-east-1,eu-west-1
nota

Ao criar um espaço de chaves multirregional, o Amazon Keyspaces cria uma função vinculada ao serviço com o nome AWSServiceRoleForAmazonKeyspacesReplication em sua conta. Essa função permite que o Amazon Keyspaces replique gravações em todas as réplicas de uma tabela multirregional em seu nome. Para saber mais, consulte Uso de perfis para replicação multirregional do Amazon Keyspaces.

Criação de uma nova tabela multirregional com configurações padrão (CLI)

Para criar uma tabela multirregional com configurações padrão, você só precisa especificar o esquema. Você pode usar o exemplo a seguir.

aws keyspaces create-table --keyspace-name mykeyspace --table-name mytable \ --schema-definition 'allColumns=[{name=pk,type=int}],partitionKeys={name= pk}'

A saída do comando é:

{ "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable" }

Para confirmar as configurações da tabela, você pode usar a seguinte declaração.

aws keyspaces get-table --keyspace-name mykeyspace --table-name mytable

A saída mostra todas as configurações padrão de uma tabela multirregional.

{ "keyspaceName": "mykeyspace", "tableName": "mytable", "resourceArn": "arn:aws:cassandra:us-east-1:111122223333:/keyspace/mykeyspace/table/mytable", "creationTimestamp": "2023-12-19T16:50:37.639000+00:00", "status": "ACTIVE", "schemaDefinition": { "allColumns": [ { "name": "pk", "type": "int" } ], "partitionKeys": [ { "name": "pk" } ], "clusteringKeys": [], "staticColumns": [] }, "capacitySpecification": { "throughputMode": "PAY_PER_REQUEST", "lastUpdateToPayPerRequestTimestamp": "2023-12-19T16:50:37.639000+00:00" }, "encryptionSpecification": { "type": "AWS_OWNED_KMS_KEY" }, "pointInTimeRecovery": { "status": "DISABLED" }, "defaultTimeToLive": 0, "comment": { "message": "" }, "clientSideTimestamps": { "status": "ENABLED" }, "replicaSpecifications": [ { "region": "us-east-1", "status": "ACTIVE", "capacitySpecification": { "throughputMode": "PAY_PER_REQUEST", "lastUpdateToPayPerRequestTimestamp": 1702895811.469 } }, { "region": "eu-north-1", "status": "ACTIVE", "capacitySpecification": { "throughputMode": "PAY_PER_REQUEST", "lastUpdateToPayPerRequestTimestamp": 1702895811.121 } } ] }

Criação de uma nova tabela multirregional no modo provisionado com escalabilidade automática (CLI)

Para criar uma tabela multirregional no modo provisionado com configuração de escalonamento automático, você pode usar o. AWS CLI Observe que você deve usar o create-table comando CLI do Amazon Keyspaces para definir configurações de auto escalabilidade multirregional. Isso ocorre porque o Application Auto Scaling, o serviço que o Amazon Keyspaces usa para realizar o escalonamento automático em seu nome, não oferece suporte a várias regiões.

Para obter mais informações sobre as configurações de escalonamento automático, a política de rastreamento de metas, o valor alvo e as configurações opcionais, consulteCrie uma nova tabela com escala automática usando o AWS CLI.

Ao criar uma nova tabela multirregional no modo provisionado com configurações de escalonamento automático, você pode especificar as configurações gerais da tabela que são válidas para tudo em Regiões da AWS que a tabela é replicada. Em seguida, você pode sobrescrever as configurações de capacidade de leitura e ler as configurações de escalonamento automático para cada réplica. A capacidade de gravação, no entanto, permanece sincronizada entre todas as réplicas para garantir que haja capacidade suficiente para replicar gravações em todas as regiões.

Para definir a capacidade de leitura de uma réplica de tabela em uma região específica, você pode configurar os seguintes parâmetros como parte da replicaSpecifications tabela:

  • A região

  • As unidades de capacidade de leitura provisionadas (opcional)

  • Configurações de escalonamento automático para capacidade de leitura (opcional)

Ao criar tabelas multirregionais provisionadas com configurações complexas de escalonamento automático e configurações diferentes para réplicas de tabela, é útil carregar as configurações de escalonamento automático e de réplica da tabela a partir de arquivos JSON.

Para usar o exemplo de código a seguir, você pode baixar os arquivos JSON de exemplo do auto-scaling.zip auto-scaling.json e extrair e. replication.json Anote o caminho para os arquivos.

Neste exemplo, os arquivos JSON estão localizados no diretório atual. Para diferentes opções de caminho de arquivo, consulte Como carregar parâmetros de um arquivo.

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

Atualização da capacidade provisionada e das configurações de escalabilidade automática de uma tabela multirregional (CLI)

Para atualizar o modo provisionado e a configuração de escalonamento automático de uma tabela existente, você pode usar o comando. AWS CLI update-table

Observe que você deve usar os comandos CLI do Amazon Keyspaces para criar ou modificar configurações de auto escalabilidade multirregional. Isso ocorre porque o Application Auto Scaling, o serviço que o Amazon Keyspaces usa para realizar o escalonamento automático da capacidade da tabela em seu nome, não oferece suporte a várias. Regiões da AWS

Ao atualizar o modo provisionado ou as configurações de escalonamento automático de uma tabela multirregional, você pode atualizar as configurações de capacidade de leitura e a configuração de escalabilidade automática de leitura para cada réplica da tabela.

A capacidade de gravação, no entanto, permanece sincronizada entre todas as réplicas para garantir que haja capacidade suficiente para replicar gravações em todas as regiões. Para atualizar a capacidade de leitura de uma réplica de tabela em uma região específica, você pode alterar um dos seguintes parâmetros opcionais da replicaSpecifications tabela:

  • As unidades de capacidade de leitura provisionadas (opcional)

  • Configurações de escalonamento automático para capacidade de leitura (opcional)

Ao atualizar tabelas multirregionais com configurações complexas de escalonamento automático e configurações diferentes para réplicas de tabela, é útil carregar as configurações de escalonamento automático e as configurações de réplica da tabela a partir de arquivos JSON.

Para usar o exemplo de código a seguir, você pode baixar os arquivos JSON de exemplo do auto-scaling.zip auto-scaling.json e extrair e. replication.json Anote o caminho para os arquivos.

Neste exemplo, os arquivos JSON estão localizados no diretório atual. Para diferentes opções de caminho de arquivo, consulte Como carregar parâmetros de um arquivo.

aws keyspaces update-table --keyspace-name mykeyspace --table-name mytable \ --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=1,writeCapacityUnits=1 \ --auto-scaling-specification file://auto-scaling.json \ --replica-specifications file://replication.json

Visualizando a capacidade provisionada e as configurações de escalabilidade automática de uma tabela multirregional (CLI)

Para visualizar a configuração de escalonamento automático de uma tabela multirregional, você pode usar a get-table-auto-scaling-settings operação. O comando CLI a seguir é um exemplo disso.

aws keyspaces get-table-auto-scaling-settings --keyspace-name mykeyspace --table-name mytable

Você verá a saída a seguir.

{ "keyspaceName": "mykeyspace", "tableName": "mytable", "resourceArn": "arn:aws:cassandra:us-east-1:777788889999:/keyspace/mykeyspace/table/mytable", "autoScalingSpecification": { "writeCapacityAutoScaling": { "autoScalingDisabled": false, "minimumUnits": 5, "maximumUnits": 10, "scalingPolicy": { "targetTrackingScalingPolicyConfiguration": { "disableScaleIn": false, "scaleInCooldown": 0, "scaleOutCooldown": 0, "targetValue": 50.0 } } }, "readCapacityAutoScaling": { "autoScalingDisabled": false, "minimumUnits": 5, "maximumUnits": 20, "scalingPolicy": { "targetTrackingScalingPolicyConfiguration": { "disableScaleIn": false, "scaleInCooldown": 60, "scaleOutCooldown": 60, "targetValue": 70.0 } } } }, "replicaSpecifications": [ { "region": "us-east-1", "autoScalingSpecification": { "writeCapacityAutoScaling": { "autoScalingDisabled": false, "minimumUnits": 5, "maximumUnits": 10, "scalingPolicy": { "targetTrackingScalingPolicyConfiguration": { "disableScaleIn": false, "scaleInCooldown": 0, "scaleOutCooldown": 0, "targetValue": 50.0 } } }, "readCapacityAutoScaling": { "autoScalingDisabled": false, "minimumUnits": 5, "maximumUnits": 20, "scalingPolicy": { "targetTrackingScalingPolicyConfiguration": { "disableScaleIn": false, "scaleInCooldown": 60, "scaleOutCooldown": 60, "targetValue": 70.0 } } } } }, { "region": "eu-north-1", "autoScalingSpecification": { "writeCapacityAutoScaling": { "autoScalingDisabled": false, "minimumUnits": 5, "maximumUnits": 10, "scalingPolicy": { "targetTrackingScalingPolicyConfiguration": { "disableScaleIn": false, "scaleInCooldown": 0, "scaleOutCooldown": 0, "targetValue": 50.0 } } }, "readCapacityAutoScaling": { "autoScalingDisabled": false, "minimumUnits": 5, "maximumUnits": 10, "scalingPolicy": { "targetTrackingScalingPolicyConfiguration": { "disableScaleIn": false, "scaleInCooldown": 60, "scaleOutCooldown": 60, "targetValue": 50.0 } } } } } ] }

Desativando o escalonamento automático para uma tabela multirregional (CLI)

Você pode usar o AWS CLI update-table comando para desativar o escalonamento automático de uma tabela existente. Observe que você não pode desativar o escalonamento automático para uma réplica de tabela individual.

No exemplo a seguir, o escalonamento automático está desativado para a capacidade de leitura da tabela.

aws keyspaces update-table --keyspace-name mykeyspace --table-name mytable \ --auto-scaling-specification readCapacityAutoScaling={autoScalingDisabled=true}
nota

Para excluir a função vinculada ao serviço usada pelo Application Auto Scaling, você deve desativar o escalonamento automático em todas as tabelas da conta. Regiões da AWS

Configurando manualmente a capacidade provisionada de uma tabela multirregional (CLI)

Se você precisar desativar o escalonamento automático de uma tabela multirregional, poderá usá-lo para update-table provisionar manualmente a capacidade de leitura da tabela para uma tabela de réplica.

aws keyspaces update-table --keyspace-name mykeyspace --table-name mytable \ --capacity-specification throughputMode=PROVISIONED,readCapacityUnits=1,writeCapacityUnits=1 \ --replica-specifications region="us-east-1",readCapacityUnits=5
nota

Recomendamos usar o escalonamento automático para tabelas multirregionais que usam capacidade provisionada. Para ter mais informações, consulte Trabalhando com tabelas multirregionais no Amazon Keyspaces.