Como configurar a escala automática do DynamoDB e usá -lo para gerenciar automaticamente a capacidade de taxa de transferência

Como configurar a escala automática do DynamoDB e usá -lo para gerenciar automaticamente a capacidade de taxa de transferência
Gerenciar bancos de dados imprevisíveis podem ser uma tarefa difícil se você confiar nas operações manuais para lidar com os ajustes inesperados do banco de dados. É interessante.

Assim, bancos de dados com um recurso de escala automática habilitada responde de maneira confiável e automaticamente a padrões de tráfego reais. Isso permite que as tabelas do DynamoDB ou os índices secundários globais aumentem ou diminuam sua capacidade de transferência provisionada (leitura e escreva) para lidar com os surtos repentinos de tráfego sem estrangular.

Este artigo é o seu melhor guia para tudo relacionado ao serviço de escala automático do DynamoDB. Ele discute como o recurso gerencia a capacidade de leitura e gravação em sua tabela de dynamoDB. Além disso, você aprenderá como ativar a escala automática em sua tabela DynamoDB.

Como funciona a escala automática do DynamoDB para gerenciar dinamicamente a capacidade de taxa de transferência

Notavelmente, o recurso DynamoDB Auto Scaling depende do serviço AWS Application Auto Scaling Service. Funciona monitorando continuamente os padrões de tráfego reais da sua tabela ou índice e ajustando a capacidade de taxa de transferência provisionada, conforme necessário para manter os níveis de utilização do alvo que você define.

O processo de funcionamento desse recurso no DynamoDB envolve o seguinte:

Você deve começar configurando a escala automática e definindo os níveis de utilização de alvo para sua tabela ou índice. O nível de utilização é a porcentagem de unidades de capacidade de leitura e gravação que você deseja usar para uma tabela ou índice específico. Dependendo de seus padrões de tráfego e necessidades de desempenho, você pode definir os diferentes níveis de utilização de destino para unidades de capacidade de leitura e gravação.

DynamoDB monitora continuamente os padrões de tráfego reais da sua tabela ou índice. Por sua vez. Além disso, ele coleta os dados relacionados ao tamanho dessas solicitações em termos de unidades de leitura e capacidade de gravação.

O recurso de escala automática usa os dados coletados sobre os padrões de tráfego e os níveis de utilização de destino que você define para calcular a capacidade de taxa de transferência provisionada necessária para sua tabela ou índice.

Se o tráfego real exceder o nível de utilização do alvo, o DynamoDB aumenta a capacidade de taxa de transferência provisionada para lidar com o aumento do tráfego. Por outro lado, se o tráfego real cair abaixo do nível de utilização do alvo, o DynamoDB diminui a capacidade de taxa de transferência provisionada para corresponder ao tráfego real e reduzir os custos.

DynamoDB Ajusta de maneira confiável a capacidade de taxa de transferência provisionada da sua tabela ou índice usando a Política de escala de etapa. A política define as regras para aumentar ou diminuir dinamicamente a capacidade de taxa de transferência provisionada em resposta a mudanças nos padrões de tráfego.

Você pode personalizar a política de escala de etapas para suas necessidades reais. Por exemplo, você pode especificar os limites de capacidade mínima e máxima, os incrementos nos quais o sistema pode adicionar ou remover as unidades de capacidade e as condições sob as quais o dynamoDB pode desencadear a ação de escala.

Notavelmente, o DynamoDB Auto Scaling está disponível apenas para o modo de capacidade "sob demanda" no DynamoDB. Nesse modo, você paga pelas leituras e gravações reais que você executa na sua tabela ou índice, e não há unidades de capacidade reservadas. Com a escala automática, você pode otimizar seus custos pagando apenas pela capacidade em que você precisa lidar com seu tráfego.

Como configurar o DynamoDB Auto Scaling

Primeiro, é importante observar que o DynamoDB Auto Scaling está ativado automaticamente em sua tabela ou índice se você usar o console de gerenciamento da AWS para criar suas tabelas. Existe uma configuração padrão que exige que.

No entanto, você ainda pode usar o console de gerenciamento da AWS para ativar a escala automática do DynamoDB para tabelas existentes, desativar o escalonamento automático ou modificar seus recursos de escala automática. Você também pode alcançar tudo isso com a AWS CLI ou qualquer um dos SDKs da AWS.

Este artigo usa a AWS CLI para ilustrar como você pode configurar e ativar o DynamoDB Auto Scaling e usá -lo para gerenciar automaticamente a capacidade de taxa de transferência para uma tabela ou índice. Estas etapas a seguir são essenciais:

Etapa 1: Crie uma tabela ou índice de DynamoDB

Vamos criar uma tabela para esta demonstração usando o AWS DynamoDB Create-Table Utilitário. Consulte o nosso comando de amostra:

AWS DynamoDB Create-Table \
--nome de tabela mytablename \
--atributo-definições atributeName = id, atributeType = s \
--key-schema atributeName = id, keytype = hash \
--provisionou-throughput readCapacityUnits = 10, WriteCapacityUnits = 10

Prossiga para verificar o status da sua tabela usando o AWS DynamoDB Descrevance Table comando, como mostrado no seguinte. Esta etapa tem como objetivo confirmar se sua tabela é criada e lista suas várias especificações. A tabela deve estar em status ativo.

AWS DynamoDB Descreva

Etapa 2: Crie um alarme Amazon CloudWatch

Crie um alarme do Amazon CloudWatch para uma métrica de capacidade. Você pode usar o comando put-metric-alarm da AWS Cloudwatch. Este comando permite especificar a métrica, o limite no qual o alarme é acionado e a ação a ser tomada quando o alarme é acionado.

Este código ajudará:

AWS Cloudwatch put-metric-alarm \
--Nome de alarmes DynamoDB-HighrCualArm \
--Métrico-Nome ConsumedReadCapacityUnits \
--namespace AWS/DynamoDB \
--Média estatística \
--Período 240 \
--limiar 80 \
--Comparação-operadora GreaterthAntHreshold \
--Avaliação periods 2 \
--ATIMADOS ALARMES ARN: AWS: Automato: US-EAST-1: EC2: Recuperar

Etapa 3: Crie uma função de identidade e gerenciamento de acesso da AWS (IAM)

Crie uma função de identidade e gerenciamento de acesso da AWS (IAM) que permita ao DynamoDB chamar as ações PutscalingPolicy e ExecutionPolicy em seu nome. Você pode usar o AWS IAM CREATE-MOLE comando para criar a função e o comando AWS IAM Anex-Policy para anexar a política de permissões necessárias.

Você pode usar o seguinte comando:

Aws iam Anex-role-policy--name dynamodbscalingrole-policy-arn arn: aws: iam :: aws: policy/amazondynamodbfullaccess

Etapa 4: Registre as tabelas de taxa de transferência como um alvo escalável

A próxima etapa registra a capacidade de gravação da sua tabela como um alvo escalável usando o AWS Application Auto Scaling. Este procedimento permite automaticamente o AWS Application Auto Scaling para ajustar a capacidade de taxa de transferência provisionada da tabela. Novamente, isso só pode acontecer dentro de 5 a 10 unidades de capacidade.

O comando a seguir deve ajudar:

AWS Application-AutoScaling Register-scalable-alget \
--serviço-namespace dynamoDB \
--Tabela de ID-ID de Recursos/MyTableName \
--DynamoDB de dimensão escalável: Tabela: ReadCapacityUnits \
--Min-capacidade 5 \
--Max-Capacity 500

O utilitário anterior especifica o tipo de recurso e o identificador do recurso que você pretende escalar. Ele também especifica os limites de capacidade mínima e máxima do recurso que você deseja escalar.

O comando se parece com isso se você deseja dimensionar um índice secundário global e não uma tabela:

AWS Application-AutoScaling Register-scalable-alget \
--serviço-namespace dynamoDB \
--Tabela de ID-ID de Recursos/MyTableName/Index/MyIndexName \
--DynamoDB de dimensão escalável: Índice: ReadCapacityUnits \
--Min-capacidade 5 \
--Max-Capacity 500

Etapa 5: Crie um plano de escala

Para criar um plano de escala para uma tabela ou índice de dynamoDB, você pode usar o AWS Application-AutoScaling Create-Scaling-Plan comando. Este comando permite especificar o recurso que você deseja dimensionar (como uma tabela ou índice), a política de escala que seu sistema usa para executar a ação de escala e o alarme do CloudWatch que aciona a ação de escala.

Etapa 6: Habilite a escala automática

Para ativar a escala automática para uma tabela ou índice de dynamoDB, você pode usar o AWS Application-AutoScaling Register-scalable-alget comando. Este comando registra o recurso (como uma tabela ou índice) com escala automática de aplicativos, permitindo que ele seja dimensionado automaticamente com base no plano de escala criado.

Você pode usar o seguinte comando:

AWS Application-AutoScaling Register-scalable-alget \
--serviço-namespace dynamoDB \
--Tabela de ID-ID de Recursos/MyTable \
--DynamoDB de dimensão escalável: Tabela: ReadCapacityUnits \
--Min-capacidade 5 \
--MAX-CAPACIDADE 50

Conclusão

A escala automática ajuda a otimizar o desempenho e o custo da sua tabela DynamoDB ou ÍNDICE secundário global, ajustando automaticamente a capacidade de taxa de transferência provisionada em resposta a mudanças nos padrões de tráfego. Você pode ativar o escalonamento automático para sua tabela ou índice de dynamoDB usando o procedimento da AWS CLI. Novamente, o Console de Gerenciamento da AWS ou a API do DynamoDB podem ajudá -lo a alcançar este processo.