Amazon Data Lifecycle Manager 的指令碼前後運作方式 - Amazon EBS

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

Amazon Data Lifecycle Manager 的指令碼前後運作方式

下圖顯示使用自訂SSM文件時,指令碼前後的程序流程。這不適用於VSS備份。

Amazon Data Lifecycle Manager 前置和後置指令碼處理流程

在排程的快照建立時間,會發生下列動作和跨服務互動。

  1. Amazon Data Lifecycle Manager 會透過呼叫 SSM 文件並傳遞 pre-script 參數來啟動指令碼前動作。

    注意

    只有在您執行前置指令碼時,才會執行步驟 1 到 3。如果您只執行後置指令碼,則會略過步驟 1 到 3。

  2. Systems Manager 會傳送指令碼前命令給在目標執行個體上執行的 SSM 代理程式。SSM 代理程式會在執行個體上執行命令,並將狀態資訊傳回給 Systems Manager。

    例如,如果SSM文件用於建立應用程式一致性快照,則預先指令碼可能會凍結和排清輸入/輸出,以確保在擷取快照之前將所有緩衝資料寫入磁碟區。

  3. Systems Manager 會將前置指令碼的命令狀態更新傳送至 Amazon Data Lifecycle Manager。如果前置指令碼失敗,Amazon Data Lifecycle Manager 會執行以下其中一個動作,實際取決於您設定的前置和後置指令碼選項:

    重試 預設為當機一致快照 動作
    已啟用且剩餘重試次數 已啟用 重試指令碼,直到成功或用盡重試次數
    用盡重試次數而沒有成功完成 已啟用 建立當機一致快照,且不執行後置指令碼。
    已啟用且剩餘重試次數 已停用 重試指令碼,直到成功或用盡重試次數
    用盡重試次數而沒有成功完成 已停用 略過目標執行個體的快照建立作業,且不執行後置指令碼。
    已停用 已啟用 建立當機一致快照,且不執行後置指令碼。
    已停用 已停用 略過目標執行個體的快照建立作業,且不執行後置指令碼。
  4. Amazon Data Lifecycle Manager 會起始快照建立作業。

  5. Amazon Data Lifecycle Manager 會透過呼叫 SSM 文件並傳遞 post-script 參數來啟動指令碼後動作。

    注意

    只有在您執行前置指令碼時,才會執行步驟 5 到 7。如果您只執行後置指令碼,則會略過步驟 1 到 3。

  6. Systems Manager 會將指令碼後命令傳送至在目標執行個體上執行的 SSM 代理程式。SSM 代理程式會在執行個體上執行命令,並將狀態資訊傳回給 Systems Manager。

    例如,如果SSM文件啟用應用程式一致性快照,此後置指令碼可能會解凍 I/O,以確保資料庫在擷取快照後恢復正常的 I/O 操作。

  7. 如果您執行後置指令碼,且 Systems Manager 指出已成功完成,程序就會完成。

    如果後置指令碼失敗,Amazon Data Lifecycle Manager 會執行以下其中一個動作,實際取決於您設定的前置和後置指令碼選項:

    重試 動作
    已啟用且剩餘重試次數 重試後置指令碼,直到成功或用盡重試次數
    用盡重試次數而沒有成功 跳過後置指令碼
    已停用 跳過後置指令碼

    請記住,如果後置指令碼失敗,前置指令碼 (如果有啟用) 應已成功完成,而且快照可能已建立。您可能需要對執行個體採取進一步動作,以確保執行個體如預期般運作。例如,如果前置指令碼暫停並清除了 I/O,但是後置指令碼無法解凍 I/O,您可能需將資料庫設定為自動解凍 I/O,或者需要手動解凍 I/O。

  8. 快照建立程序可能會在後置指令碼完成後完成。完成快照所花費的時間取決於快照大小。