Aurora DSQL 叢集生命週期 - Amazon Aurora DSQL

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

Aurora DSQL 叢集生命週期

了解 Aurora DSQL 叢集生命週期可協助您有效管理叢集。本章涵蓋叢集狀態定義,以及可將成本最佳化的擴展至零功能。

定義 Aurora DSQL 叢集狀態

Aurora DSQL 叢集狀態可提供有關叢集運作狀態和連線能力的重要資訊。您可以使用 AWS CLI、 AWS 管理主控台或 Aurora DSQL API 來檢視叢集和叢集執行個體的狀態。

下表說明 Aurora DSQL 叢集的各種可能狀態,以及每個狀態的意義。

狀態 描述
正在建立 Aurora DSQL 正在嘗試建立或設定叢集的資源。當叢集處於此狀態時,任何連線嘗試都會失敗。
Active (作用中) 叢集可作業且隨時可供使用。
閒置 當叢集閒置的時間夠長,讓 Aurora DSQL 縮減執行中的資源以降低容量和成本時,就會變成閒置。當您連線到閒置叢集時,Aurora DSQL 會將叢集轉換回作用中狀態。
非作用中 當叢集上長時間沒有活動時,閒置叢集會變成非作用中。在此暫停狀態下,在保留資料時,執行中的資源會擴展至零。當您嘗試連線到非作用中叢集時,Aurora DSQL 會自動將叢集轉換回作用中狀態。還原時間取決於叢集大小。
更新中 當您變更叢集組態時,叢集會轉換為正在更新狀態。
正在刪除 當您提交刪除請求時,叢集會轉換為正在刪除狀態。
Deleted (已刪除) 叢集已成功刪除。
失敗 Aurora DSQL 因為發生錯誤而無法建立叢集。
待設定 僅適用於多區域叢集。當您在具有見證區域的首要區域中建立多區域叢集,多區域叢集會進入待設定狀態。此時會暫時停止建立叢集,直到您在次要區域中建立另一個叢集,並將兩個叢集對等互連。
待刪除 僅適用於多區域叢集。當您從多區域叢集中刪除叢集時,多區域叢集會進入待刪除狀態。一旦刪除最後一個對等叢集,叢集就會移至正在刪除狀態。

使用閒置和非作用中叢集

當 Aurora DSQL 在叢集上偵測到一段時間沒有連線活動時,它會將叢集轉換為閒置狀態,減少執行中的資源,以將容量和成本降至最低。如果連線活動長時間不存在,閒置叢集會自動轉換為非作用中狀態,其中在保留資料時,執行中的資源會擴展為零。

若要恢復正常操作,只需照常連線至叢集即可。當您成功連線至叢集時,Aurora Aurora DSQL 會自動將叢集轉換為作用中狀態。

注意

閒置或非作用中叢集的第一次連線嘗試會比平常慢。

需要作用中叢集狀態的操作

有些操作需要您的叢集處於作用中狀態。若要在閒置或非作用中叢集上執行這些操作,您只需連線到叢集,即可將叢集轉換回作用中。

備份操作

進行備份需要作用中叢集狀態。如果您的叢集處於閒置或非作用中狀態,備份將會失敗,並顯示下列錯誤:

"Error": { "Code": "FailedPrecondition", "Message": "Cluster 'cluster-id' is in state 'IDLE' and cannot be backed up. In order to take a backup of your cluster, it must be in Active state. Please connect to your cluster to transition it to Active to perform the backup." }

若要繼續備份:

  1. 使用您偏好的資料庫用戶端或 Aurora DSQL 主控台連線至叢集以將其喚醒。

  2. 等待自動轉換為作用中狀態。

  3. 在叢集完全運作後啟動備份。

注意

在叢集轉換為閒置或非作用中之前取得的現有備份仍然有效且不受影響。在叢集連線至 以進行自動喚醒之前,叢集上的新備份嘗試將會失敗。

檢視 Aurora DSQL 叢集狀態

若要檢視叢集的狀態,請使用 AWS CLI AWS 管理主控台或 Aurora DSQL API。

請遵循下列步驟,在 AWS 管理主控台中檢視叢集狀態:

在主控台中檢視叢集狀態
  1. https://console.aws.amazon.com/dsql 開啟 Aurora DSQL 主控台。

  2. 在導覽窗格中,選擇 Clusters (叢集)

  3. 在儀表板中檢視每個叢集的狀態。

使用下列 AWS CLI 命令來檢查單一叢集的狀態。

aws dsql get-cluster --identifier cluster-id --query status --output text

執行下列命令,表列所有叢集狀態。

for id in $(aws dsql list-clusters --query 'clusters[*].identifier' --output text); do cluster_status=$(aws dsql get-cluster --identifier "$id" --query 'status' --output text) echo "$id $cluster_status" done

此範例輸出會顯示兩個作用中的叢集,以及一個正在刪除的叢集。

aaabbb2bkx555xa7p42qd5cdef    ACTIVE
abcde123efghi77t35abcdefgh    ACTIVE
12abc6lqasc5bbbbbbbbbbbbbb    DELETING