本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Data Lifecycle Manager 前後指令碼的運作方式
下圖顯示使用自訂 SSM 文件時,前置和後置指令碼的處理流程。這不適用於 VSS 備份。

在排程的快照建立時間,會發生下列動作和跨服務互動。
-
Amazon Data Lifecycle Manager 會呼叫 SSM 文件並傳遞
pre-script
參數,以起始前置指令碼動作。注意
只有在您執行前置指令碼時,才會執行步驟 1 到 3。如果您只執行後置指令碼,則會略過步驟 1 到 3。
-
Systems Manager 會將前置指令碼命令傳送至目標執行個體上執行的 SSM 代理程式。SSM 代理程式會在執行個體上執行命令,並將狀態資訊傳回 Systems Manager。
例如,如果使用 SSM 文件來建立應用程式一致快照,前置指令碼可能會凍結並清除 I/O,以確保在擷取快照之前將所有緩衝資料寫入磁碟區。
-
Systems Manager 會將前置指令碼的命令狀態更新傳送至 Amazon Data Lifecycle Manager。如果前置指令碼失敗,Amazon Data Lifecycle Manager 會執行以下其中一個動作,實際取決於您設定的前置和後置指令碼選項:
重試 預設為當機一致快照 動作 已啟用且剩餘重試次數 已啟用 重試指令碼,直到成功或用盡重試次數 用盡重試次數而沒有成功完成 已啟用 建立當機一致快照,且不執行後置指令碼。 已啟用且剩餘重試次數 已停用 重試指令碼,直到成功或用盡重試次數 用盡重試次數而沒有成功完成 已停用 略過目標執行個體的快照建立作業,且不執行後置指令碼。 已停用 已啟用 建立當機一致快照,且不執行後置指令碼。 已停用 已停用 略過目標執行個體的快照建立作業,且不執行後置指令碼。 -
Amazon Data Lifecycle Manager 會起始快照建立作業。
-
Amazon Data Lifecycle Manager 呼叫 SSM 文件並傳遞
post-script
參數,以起始後置指令碼動作。注意
只有在您執行前置指令碼時,才會執行步驟 5 到 7。如果您只執行後置指令碼,則會略過步驟 1 到 3。
-
Systems Manager 會將後置指令碼命令傳送至目標執行個體上執行的 SSM 代理程式。SSM 代理程式會在執行個體上執行命令,並將狀態資訊傳回 Systems Manager。
例如,如果 SSM 文件有啟用應用程式一致快照,則此後置指令碼可能會解凍 I/O,以確保擷取快照後資料庫恢復正常的 I/O 作業。
-
如果您執行後置指令碼,且 Systems Manager 指出已成功完成,程序就會完成。
如果後置指令碼失敗,Amazon Data Lifecycle Manager 會執行以下其中一個動作,實際取決於您設定的前置和後置指令碼選項:
重試 動作 已啟用且剩餘重試次數 重試後置指令碼,直到成功或用盡重試次數 用盡重試次數而沒有成功 跳過後置指令碼 已停用 跳過後置指令碼 請記住,如果後置指令碼失敗,前置指令碼 (如果有啟用) 應已成功完成,而且快照可能已建立。您可能需要對執行個體採取進一步動作,以確保執行個體如預期般運作。例如,如果前置指令碼暫停並清除了 I/O,但是後置指令碼無法解凍 I/O,您可能需將資料庫設定為自動解凍 I/O,或者需要手動解凍 I/O。
-
快照建立程序可能會在後置指令碼完成後完成。完成快照所花費的時間取決於快照大小。