Adicionar um roteador a um grupo de fragmentos de banco de dados - Amazon Aurora

Adicionar um roteador a um grupo de fragmentos de banco de dados

Você pode adicionar um roteador a um grupo de fragmentos de banco de dados.

Pré-requisitos

A adição de um roteador tem os seguintes pré-requisitos:

  • É necessário ter um grupo de fragmentos de banco de dados.

  • Um usuário deve ter o privilégio rds_aurora_limitless_cluster_admin. O rds_superuser tem esse privilégio; portanto, o usuário principal também o tem. O rds_superuser pode conceder o privilégio a outros usuários:

    /* Logged in as the master user or a user with rds_superuser privileges */ CREATE USER username; GRANT rds_aurora_limitless_cluster_admin to username;
    nota

    Se você alterar o certificado CA padrão da sua Conta da AWS após a criação do grupo de fragmentos de banco de dados, o novo roteador usará o novo certificado CA, que é diferente do certificado CA do roteador existente. Dependendo do seu armazenamento confiável, algumas conexões podem falhar.

  • Para habilitar a adição de roteador iniciada pelo sistema, defina os seguintes parâmetros de cluster de banco de dados em um grupo de parâmetros de cluster de banco de dados personalizado associado ao seu cluster de banco de dados:

    Parameter Valor

    rds_aurora.limitless_enable_auto_scale

    on

    rds_aurora.limitless_auto_scale_options

    add_router ou add_router,split_shard

    Para ter mais informações, consulte Grupos de parâmetros do cluster de banco de dados para clusters de banco de dados do Amazon Aurora.

Adicionar um roteador

Para adicionar um roteador, use a função rds_aurora.limitless_add_router. Essa função inicia um trabalho de adição de roteador que é executado de forma assíncrona.

SELECT rds_aurora.limitless_add_router();

Aguarde o retorno de um ID de trabalho após o envio bem-sucedido do trabalho, por exemplo:

job_id --------------- 1691300000000 (1 row)

Rastrear adições de roteador

É possível usar o ID do trabalho para rastrear um trabalho de adição de roteador. Para descrever um trabalho específico e obter mais detalhes sobre ele, execute a seguinte consulta:

SELECT * FROM rds_aurora.limitless_list_router_scale_jobs(job_id);

Por exemplo:

SELECT * FROM rds_aurora.limitless_list_router_scale_jobs(1691300000000); job_id | action | job_details | status | submission_time | message ---------------+------------+--------------------------+---------+------------------------+------------------------------------------- 1691300000000 | ADD_ROUTER | Add 1 new Router by User | SUCCESS | 2023-08-06 05:33:20+00 | Scaling job succeeded. + | | | | | New router instance with ID 7 was created. (1 row)

A consulta retorna um erro quando você passa um trabalho inexistente como entrada.

SELECT * from rds_aurora.limitless_list_router_scale_jobs(1691300000001); ERROR: no job found with the job ID provided

É possível rastrear o status de todos os trabalhos de adição de roteador usando a mesma consulta sem um ID de trabalho, por exemplo:

SELECT * FROM rds_aurora.limitless_list_router_scale_jobs(); job_id | action | job_details | status | submission_time | message ---------------+------------+--------------------------+-------------+------------------------+------------------------------------------- 1691200000000 | ADD_ROUTER | Add 1 new Router by User | IN_PROGRESS | 2023-08-05 01:46:40+00 | 1691300000000 | ADD_ROUTER | Add 1 new Router by User | SUCCESS | 2023-08-06 05:33:20+00 | Scaling job succeeded. + | | | | | New router instance with ID 7 was created. 1691400000000 | ADD_ROUTER | Add 1 new Router by User | FAILED | 2023-08-07 09:20:00+00 | Error occurred for the add router job 1691400000000. | | | | | Retry the command. If the issue persists, contact AWS Support. 1691500000000 | ADD_ROUTER | Add 1 new Router by User | CANCELED | 2023-08-07 09:20:00+00 | Scaling job was cancelled. (4 rows)

O status de trabalho pode ser um dos seguintes:

  • IN_PROGRESS: o trabalho de adição do roteador foi enviado e está em andamento. É possível ter apenas um trabalho em andamento por vez.

  • CANCELLATION_IN_PROGRESS: o trabalho de adição do roteador está sendo cancelado pelo usuário.

  • CANCELED: o trabalho de adição do roteador foi cancelado com sucesso pelo usuário ou pelo sistema.

  • SUCCESS: o trabalho de adição do roteador foi concluído com sucesso. O campo message contém o ID da instância do novo roteador.

  • FAILED: o trabalho de adição do roteador falhou. O campo message contém os detalhes da falha e todas as ações que podem ser tomadas como acompanhamento do trabalho que falhou.

nota

Não há status PENDING porque as adições de roteador não precisam ser finalizadas. Elas não incorrem em tempo de inatividade.

Cancelar a adição de um roteador

É possível cancelar a adição de um roteador com o status IN_PROGRESS. Você precisa do ID do trabalho para cancelá-lo.

SELECT * from rds_aurora.limitless_cancel_router_scale_jobs(job_id);

Nenhuma saída é retornada, a menos que haja um erro. É possível acompanhar o cancelamento usando uma consulta de rastreamento de trabalho.