本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Data Lifecycle Manager 的指令碼前後運作方式
下圖顯示使用自訂SSM文件時,指令碼前後的程序流程。這不適用於VSS備份。
在排程的快照建立時間,會發生下列動作和跨服務互動。
-
Amazon Data Lifecycle Manager 會透過呼叫 SSM 文件並傳遞
pre-script
參數來啟動指令碼前動作。注意
只有在您執行前置指令碼時,才會執行步驟 1 到 3。如果您只執行後置指令碼,則會略過步驟 1 到 3。
-
Systems Manager 會傳送指令碼前命令給在目標執行個體上執行的 SSM 代理程式。SSM 代理程式會在執行個體上執行命令,並將狀態資訊傳回給 Systems Manager。
例如,如果SSM文件用於建立應用程式一致性快照,則預先指令碼可能會凍結和排清輸入/輸出,以確保在擷取快照之前將所有緩衝資料寫入磁碟區。
-
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。
-
快照建立程序可能會在後置指令碼完成後完成。完成快照所花費的時間取決於快照大小。