Ajout d’un routeur à un groupe de partitions de base de données - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Ajout d’un routeur à un groupe de partitions de base de données

Vous pouvez ajouter un routeur à un groupe de partitions de base de données.

Prérequis

Les conditions préalables suivantes doivent être remplies avant d’ajouter un routeur :

  • Vous devez disposer d’un groupe de partitions de base de données.

  • Un utilisateur doit disposer du privilège rds_aurora_limitless_cluster_admin. Ce privilège est détenu par le rôle rds_superuser ; il est donc également accordé à l’utilisateur principal. Le rds_superuser peut accorder le privilège à d’autres utilisateurs :

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

    Si vous modifiez le certificat CA par défaut de votre Compte AWS après la création du groupe de partitions de base de données, le nouveau routeur utilisera le nouveau certificat CA, qui est différent du certificat CA du routeur existant. Il se peut que certaines connexions échouent, selon la configuration de votre magasin d’approbations.

  • Pour activer l’ajout de routeur initié par le système, configurez les paramètres suivants du cluster de bases de données dans un groupe de paramètres personnalisé associé à votre cluster de bases de données :

    Paramètre Valeur

    rds_aurora.limitless_enable_auto_scale

    on

    rds_aurora.limitless_auto_scale_options

    add_router ou add_router,split_shard

    Pour plus d’informations, consultez Groupes de paramètres de cluster de bases de données pour les clusters de bases de données Amazon Aurora.

Ajout d’un routeur

Pour ajouter un routeur, utilisez la fonction rds_aurora.limitless_add_router. Cette fonction lance une tâche d’ajout de routeur qui s’exécute de manière asynchrone.

SELECT rds_aurora.limitless_add_router();

Une fois la tâche soumise avec succès, attendez que l’ID de tâche soit renvoyé, par exemple :

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

Les opérations simultanées d’ajout de routeur ne sont pas prises en charge. Procédez aux opérations d’ajout une par une et attendez la fin de chacune avant de lancer la suivante.

Suivi des ajouts de routeurs

Vous pouvez utiliser l’ID de tâche pour suivre une tâche d’ajout de routeur. Pour décrire une tâche particulière et obtenir plus de détails à son sujet, exécutez la requête suivante :

SELECT * FROM rds_aurora.limitless_list_router_scale_jobs(job_id);

Exemples :

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 requête génère une erreur si la tâche spécifiée en entrée n’existe pas.

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

Vous pouvez suivre l’état de toutes les tâches d’ajout de routeurs en utilisant la même requête sans ID de tâche, par exemple :

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)

La tâche peut présenter l’un des états suivants :

  • IN_PROGRESS : la tâche d’ajout de routeur a été soumise et est en cours. Une seule tâche peut être en cours d’exécution à la fois.

  • CANCELLATION_IN_PROGRESS : la tâche d’ajout de routeur est annulée par l’utilisateur.

  • CANCELED : la tâche d’ajout de routeur a été annulée par l’utilisateur ou le système.

  • SUCCESS : la tâche d’ajout de routeur a bien été effectuée. Le champ message contient l’ID d’instance du nouveau routeur.

  • FAILED : la tâche d’ajout de routeur a échoué. Le champ message contient les détails de l’échec et toutes les actions qui peuvent être prises en conséquence.

Note

Il n’y a aucun état PENDING, car les ajouts de routeurs n’ont pas besoin d’être finalisés. Ils n’entraînent aucune durée d’indisponibilité.

Annulation de l’ajout d’un routeur

Vous pouvez annuler l’ajout d’un routeur présentant l’état IN_PROGRESS. Vous avez besoin de l’ID de la tâche pour pouvoir l’annuler.

SELECT * from rds_aurora.limitless_cancel_router_scale_jobs(job_id);

Aucune sortie n’est renvoyée sauf en cas d’erreur. Vous pouvez suivre l’annulation à l’aide d’une requête de suivi des tâches.