Como fazer o Auto Scaling de um banco de dados do MySQL para atender a demandas flutuantes de aplicativos

com o Amazon Aurora

O Amazon Aurora é um banco de dados relacional compatível com MySQL e PostgreSQL que combina a performance e a disponibilidade de bancos de dados comerciais tradicionais com a simplicidade e a economia de bancos de dados de código aberto. Neste tutorial, você aprenderá a criar um banco de dados do Amazon Aurora e configurá-lo para escalar automaticamente acrescentado ou removendo réplicas de leitura, a fim de atender às demandas flutuantes do seu aplicativo.

Este tutorial não está no nível gratuito e custará menos de 1 USD desde que você siga as etapas e encerre os recursos criados quando terminar.

Sobre este tutorial
Duração 10 a 20 minutos                                           
Custo Menos de 1 USD
Caso de uso Bancos de dados
Produtos Amazon Aurora, Amazon RDS
Público Administradores de banco de dados, Desenvolvedores
Nível Intermediário
Data da última atualização 2 de julho de 2019

Etapa 1: Crie um cluster de banco de dados do Aurora

1.1 – Abra um navegador e navegue até o console do Amazon RDS. Se você já tiver uma conta da AWS, faça login no console. Caso contrário, crie uma nova conta da AWS para começar.

1.2 – No canto superior direito, selecione a região onde deseja executar o cluster do banco de dados do Aurora.

1.3 – Clique em “Create database” (Criar banco de dados) na janela Amazon Aurora.

Antes de prosseguir, mude para o novo fluxo de criação de banco de dados:

Opções do mecanismo

1.4 – No mecanismo de banco de dados, selecione “Amazon Aurora”.

1.5 – Em Edition (Edição), selecione “Amazon Aurora with MySQL compatibility” (Compatibilidade do Amazon Aurora com MySQL).

1.6 – Em Version (Versão), selecione a versão do Aurora de sua preferência.

1.7 – Em Database Location (Local do banco de dados), selecione “Regional”.

Recursos do banco de dados

1.8 – Selecione “One writer and multiple readers” (Um gravador e vários leitores).

Modelos

1.9 – Selecione “Production” (Produção).

Configurações

1.10 – Escolha um identificador para o cluster de banco de dados do Aurora. Por exemplo, “bancodados-1”.

Tamanho da instância do banco de dados

1.11 – Selecione uma instância grande (que termine com .large) para o banco de dados.

Disponibilidade e durabilidade

1.12 – Escolha “Create an Aurora Replica/Reader” (Criar uma réplica/leitor do Aurora).

Conectividade

1.13 – Selecione a VPC na qual deseja criar o banco de dados.

Lembre-se de que, após a criação, não será possível migrar o banco de dados para uma VPC diferente.

1.14 – Clique em “Additional connectivity configuration” (Configuração de conectividade adicional).

1.15 – Selecione o valor padrão para o grupo de sub-redes.

1.16 – Em Publicly accessible (Acessível publicamente), selecione “No” (Não).

Isso significa que você precisará se conectar ao banco de dados a partir de uma instância do EC2 na mesma VPC.

1.17 – No grupo de segurança da VPC, selecione “Create new” (Criar novo). Se você tiver um grupo de segurança que permita conexões TCP de entrada na porta 3306, poderá escolhê-lo em vez de criar um novo. Esse grupo de segurança controlará o ingresso no cluster do Aurora.

1.18 – Em New VPC security group name (Nome do novo grupo de segurança da VPC), digite “aurora-tutorial”.

1.19 – Deixe o valor padrão da porta de banco de dados.

Configuração adicional

Deixe os valores padrão de “Additional configuration” (Configuração adicional).

A melhor prática é habilitar a proteção contra exclusão. Se desejar excluir o banco de dados no final do tutorial, você poderá deixar a opção desmarcada.

1.20 – Em “Deletion protection” (Proteção contra exclusão), desmarque “Enable deletion protection” (Habilitar proteção contra exclusão).

Revisar e criar

Após uma rápida revisão de todos os campos do formulário, você poderá prosseguir.

1.21 – Clique em “Create database” (Criar banco de dados).

Durante a criação das instâncias, você verá uma faixa explicando como obter credenciais. É uma boa oportunidade de salvar as credenciais, pois é a única vez que você visualizará esta senha.

1.22 – Clique em “View credential details” (Visualizar detalhes da credencial).

1.23 – Salve o nome de usuário, a senha e o endpoint de cluster.

1.24 – Depois de fechar o pop-up de detalhes de credencial, clique no nome do banco de dados que você criou.

1.25 – Copie os endpoints de gravador e leitor. Você pode direcionar qualquer tráfego de leitura/gravação para o endpoint de gravador, mas é uma boa prática direcionar o tráfego somente leitura para o endpoint de leitor.

Etapa 2: Adicione uma política de escalabilidade

O Aurora Auto Scaling pode criar e remover réplicas com base em políticas de escalabilidade definidas por você. Quando há um aumento repentino da carga de trabalho ou do número de conexões para o banco de dados, o Aurora Auto Scaling pode adicionar réplicas do Aurora. Quando a carga de trabalho ou o número de conexões diminui, o Aurora Auto Scaling remove réplicas do Aurora adicionais para que você não gaste em capacidade extra.

2.1 – Selecione o cluster de banco de dados do Aurora.

2.2 – Clique em “Actions” (Ações) e selecione “Add replica auto scaling” (Adicionar auto scaling de réplica).

Detalhes da política

2.3 – Selecione um nome de política, como “política-1”.

2.4 – Escolha uma métrica a ser usada no auto scaling.

Você pode usar duas métricas de destino: “Average CPU utilization of Aurora Replicas” (Uso médio da CPU de réplicas do Aurora) e “Average connections of Aurora Replicas” (Média de conexões de réplicas do Aurora). O Aurora Auto Scaling cria e gerencia alarmes CloudWatch que acionam a política de escalabilidade e calculam o ajuste de escalabilidade com base na métrica e no valor de destino. A política de escalabilidade adiciona ou remove réplicas do Aurora conforme necessário para manter a métrica próxima ao valor de destino especificado.

A métrica a ser usada depende da arquitetura e da carga de trabalho do seu aplicativo. Se precisar executar muitas consultas de banco de dados na CPU, talvez seja uma boa ideia medir a utilização da CPU. Se as consultas forem simples, mas você precisar escalar leituras e gravações, a medição do número de conexões pode ser uma solução.

Lembre-se de que a política de escalabilidade deve se basear em apenas uma métrica, mas pode criar mais de uma política de escalabilidade. Para este tutorial, você pode selecionar “Average connections of Aurora Replicas” (Média de conexões de réplicas do Aurora).

2.5 – Para valor de destino, insira “20”.

Isso significa que o Aurora Auto Scaling adicionará réplicas do Aurora se o número de conexões atingir o valor de destino de 20 e removerá réplicas adicionais se ele ficar abaixo desse valor de destino. Em todos os casos, o Aurora Auto Scaling remove apenas réplicas do Aurora criadas por ele, nunca as criadas por você.

Detalhes da capacidade de cluster

2.6 – Para capacidade mínima, insira “1”.

2.7 – Para capacidade máxima, insira “2”.

Os números de capacidade mínima e máxima poderão ser modificados posteriormente. A escolha dos valores a serem usados em um ambiente de produção dependerá das estimativas de carga de trabalho, número de conexões e orçamento. As réplicas do Aurora criadas pelo Aurora Auto Scaling são da mesma classe de instância de banco de dados que a utilizada na instância primária.

Revisar e continuar

2.8 – Reveja os campos e clique em “Add policy” (Adicionar política).

Etapa 3: Modifique uma política de escalabilidade

3.1 – Clique no seu cluster de banco de dados do Aurora.

3.2 – Clique em “Logs & events” (Logs e eventos).

3.3 – Selecione sua política de Auto scaling.

3.4 – Clique em “Edit” (Editar).

Detalhes da capacidade de cluster

3.5 – Altere a capacidade máxima para 4.

3.6 – Clique em “Save” (Salvar).

Etapa 4: Exclua uma política de escalabilidade

4.1 – Clique no cluster de banco de dados do Aurora.

4.2 – Clique em “Logs & events” (Logs e eventos). 

4.3 – Selecione sua política de auto scaling.

4.4 – Clique em “Delete” (Excluir).

Etapa 5: Exclua o cluster

Para concluir este tutorial, você aprenderá a excluir o cluster de banco de dados do Aurora quando ele não for mais necessário. Para excluir o cluster de banco de dados do Aurora, acesse o Painel do RDS e siga estas instruções: 

5.1 – Selecione “Databases” (Bancos de dados) no painel esquerdo.

Será mostrada uma lista de todos os clusters de banco de dados do Aurora.

5.2 – Selecione a instância do leitor do cluster de banco de dados do Aurora que você criou para este tutorial.

5.3 – Clique em “Actions” (Ações) e selecione “Delete” (Excluir).

5.4 – Você será solicitado a confirmar a ação. Digite “delete me” (exclua-me) e clique em “Delete” (Excluir).

5.5 – Selecione a instância do gravador do cluster de banco de dados do Aurora que você criou para este tutorial.

5.6 – Clique em “Actions” (Ações) e selecione “Delete” (Excluir).

Você será solicitado a informar se deseja criar um backup final. Isso costuma ser uma boa ideia, mas não é necessário para este tutorial.

5.7 – Desmarque a caixa “Create final snapshot” (Criar snapshot final) e marque a caixa “I acknowledge...” (Confirmo...).

5.8 – Digite “delete me” (exclua-me) e clique em “Delete” (Excluir).

O status do cluster mudará para “Deleting” (Excluindo). Neste momento, você também poderá excluir o grupo de segurança criado se determinar que ele não será mais necessário.

Parabéns

Você criou um cluster de banco de dados do Aurora com o Auto Scaling. Você aprendeu a ajustar automaticamente a capacidade do cluster de banco de dados do Aurora por meio da adição ou remoção de réplicas de leitura com base nas necessidades do seu aplicativo.

Este tutorial foi útil para você?

Agradecemos a sua atenção
Gostaríamos de saber do que você gostou.
Desculpe por ter desapontado
Encontrou algo desatualizado, confuso ou incorreto? Envie seus comentários para nos ajudar a melhorar este tutorial.