Adición de un enrutador a un grupo de partición de base de datos - Amazon Aurora

Adición de un enrutador a un grupo de partición de base de datos

Puede añadir un enrutador a un grupo de partición de base de datos.

Requisitos previos

La adición de un enrutador tiene los siguientes requisitos previos:

  • Debe tener un grupo de particiones de base de datos.

  • Un usuario debe tener el privilegio rds_aurora_limitless_cluster_admin. El rds_superuser tiene este privilegio; por lo tanto, el usuario maestro también lo tiene. El rds_superuser puede conceder el privilegio a otros usuarios:

    /* 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

    Si cambia el certificado de CA predeterminado de su Cuenta de AWS después de crear el grupo de partición de base de datos, el nuevo enrutador utilizará el nuevo certificado de CA, que es diferente del certificado de CA del enrutador existente. En función del almacén de confianza, es posible que algunas conexiones fallen.

  • Para habilitar la adición de enrutadores iniciada por el sistema, establezca los siguientes parámetros de clúster de base de datos en un grupo de parámetros de clúster de base de datos personalizado asociado a su clúster de base de datos:

    Parámetro Valor

    rds_aurora.limitless_enable_auto_scale

    on

    rds_aurora.limitless_auto_scale_options

    add_router o add_router,split_shard

    Para obtener más información, consulte Grupos de parámetros de clústeres de base de datos para clústeres de base de datos en Amazon Aurora.

Adición de un enrutador

Para añadir un enrutador, utilice la función rds_aurora.limitless_add_router. Esta función inicia un trabajo de adición de enrutadores que se ejecuta de forma asíncrona.

SELECT rds_aurora.limitless_add_router();

Espere a que se devuelva el ID del trabajo cuando el trabajo se haya enviado correctamente, por ejemplo:

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

No se admiten las operaciones de adición concurrente de enrutadores. Ejecute las operaciones secuencialmente y complete cada operación antes de iniciar otra operación de agregación.

Seguimiento de la adición de enrutadores

Puede usar el ID del trabajo para realizar un seguimiento de un trabajo de adición de un enrutador. Para describir un trabajo en particular y obtener más detalles sobre él, ejecute la siguiente consulta:

SELECT * FROM rds_aurora.limitless_list_router_scale_jobs(job_id);

Por ejemplo:

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)

La consulta devuelve un error cuando se pasa un trabajo inexistente como entrada.

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

Puede realizar un seguimiento del estado de todos los trabajos de adición de enrutadores con la misma consulta sin un ID de trabajo, por ejemplo:

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)

El estado del trabajo puede ser uno de los siguientes:

  • IN_PROGRESS: el trabajo de adición del enrutador se ha enviado y está en curso. Solo puede tener un trabajo en curso a la vez.

  • CANCELLATION_IN_PROGRESS: el usuario está cancelando el trabajo de adición del enrutador.

  • CANCELED: el usuario o el sistema han cancelado correctamente el trabajo de adición del enrutador.

  • SUCCESS: el trabajo de adición del enrutador se ha completado correctamente. El campo message contiene el ID de instancia del nuevo enrutador.

  • FAILED: el trabajo de adición del enrutador ha fallado. El campo message contiene los detalles del error y cualquier acción que se pueda tomar como seguimiento del trabajo fallido.

nota

No hay ningún estado PENDING porque no es necesario finalizar las adiciones de enrutadores. No se produce ningún tiempo de inactividad.

Cancelación de la adición del enrutador

Puede cancelar la adición de un enrutador que tenga el estado IN_PROGRESS. Para cancelarlo, necesita el ID del trabajo.

SELECT * from rds_aurora.limitless_cancel_router_scale_jobs(job_id);

No se devuelve ningún resultado a menos que haya un error. Puede hacer un seguimiento de la cancelación mediante una consulta de seguimiento del trabajo.