將路由器新增至資料庫碎片群組 - Amazon Aurora

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將路由器新增至資料庫碎片群組

您可以將路由器新增至資料庫碎片群組。

先決條件

新增路由器有下列先決條件:

  • 您必須擁有資料庫碎片群組。

  • 使用者必須具有 rds_aurora_limitless_cluster_admin權限。rds_superuser 具有此權限,因此主要使用者也具有此權限。rds_superuser 可以將 權限授予其他使用者:

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

    如果您在建立資料庫碎片群組之後變更 AWS 帳戶預設的 CA 憑證,新路由器將使用新的 CA 憑證,這與現有路由器的 CA 憑證不同。根據您的信任存放區,某些連線可能會失敗。

  • 若要啟用系統啟動的路由器新增,請在與資料庫叢集相關聯的自訂資料庫叢集參數群組中設定下列資料庫叢集參數:

    參數 Value

    rds_aurora.limitless_enable_auto_scale

    on

    rds_aurora.limitless_auto_scale_options

    add_routeradd_router,split_shard

    如需詳細資訊,請參閱Amazon Aurora 資料庫叢集的資料庫叢集參數群組

新增路由器

若要新增路由器,請使用 rds_aurora.limitless_add_router函數。此函數會啟動以非同步方式執行的路由器附加任務。

SELECT rds_aurora.limitless_add_router();

成功提交任務後,請等待任務 ID 傳回,例如:

job_id --------------- 1691300000000 (1 row)
注意

不支援並行路由器新增操作。在啟動另一個新增操作之前,依序執行操作並完成每個操作。

追蹤路由器新增項目

您可以使用任務 ID 來追蹤路由器新增任務。若要描述特定任務並取得其詳細資訊,請執行下列查詢:

SELECT * FROM rds_aurora.limitless_list_router_scale_jobs(job_id);

例如:

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)

當您傳遞不存在的任務做為輸入時,查詢會傳回錯誤。

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

您可以使用不含任務 ID 的相同查詢來追蹤所有路由器新增任務的狀態,例如:

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)

任務狀態可以是下列其中一項:

  • IN_PROGRESS – 路由器新增任務已提交且正在進行中。您一次只能有一個進行中的任務。

  • CANCELLATION_IN_PROGRESS – 使用者正在取消路由器新增任務。

  • CANCELED – 使用者或系統已成功取消路由器新增任務。

  • SUCCESS – 路由器新增任務已成功完成。message 欄位包含新路由器的執行個體 ID。

  • FAILED – 路由器新增任務失敗。message 欄位包含失敗的詳細資訊,以及任何可做為失敗任務後續動作。

注意

沒有PENDING狀態,因為不需要完成路由器新增。它們不會造成停機時間。

取消路由器新增

您可以取消 的路由器新增項目IN_PROGRESS。您需要任務 ID 才能將其取消。

SELECT * from rds_aurora.limitless_cancel_router_scale_jobs(job_id);

除非發生錯誤,否則不會傳回任何輸出。您可以使用任務追蹤查詢來追蹤取消。