使用 AWS Systems Manager 命令文件建立 VSS 快照 - Amazon Elastic Compute Cloud

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

使用 AWS Systems Manager 命令文件建立 VSS 快照

您可以使用 AWS Systems Manager 命令文件建立啟用 VSS 的快照。下列內容會介紹可用的命令文件,以及文件用來建立快照的執行期參數。

在您使用任何 Systems Manager 命令文件之前,請確保您已符合所有 必要條件

Systems Manager VSS 快照文件的參數

建立 VSS 快照的 Systems Manager 文件全部都會使用下列參數,除非另有說明:

ExcludeBootVolume(字符串,可選)

若您建立快照,此設定會從備份程序中排除開機磁碟區。若要從快照中排除開機磁碟區,ExcludeBootVolumeTrue將開機磁碟區設定CreateAmi為和False

如果您為備份建立 AMI,則應將此參數設定為 False。此參數的預設值為 False

NoWriters(字符串,可選)

若要從快照程序中排除應用程式 VSS 寫入程式,請將此參數設定為 True。排除應用程式 VSS 寫入程式有助於您解決與第三方 VSS 備份元件的衝突。此參數的預設值為 False

CopyOnly(字符串,可選)

如果除了 AWS VSS 之外還使用原生 SQL Server 備份,則執行僅複製備份可防止 AWS VSS 中斷原生差異備份鏈結。若要執行僅限複製備份操作,請將此參數設定為 True

此參數的預設值為False,這會導致 AWS VSS 執行完整備份作業。

CreateAmi(字符串,可選)

若要建立啟用 VSS 的 Amazon Machine Image (AMI) 來備份您的執行個體,請將此參數設定為 True。此參數的預設值為 False,因此會改為使用 EBS 快照備份您的執行個體。

如需從執行個體建立 AMI 的詳細資訊,請參閱創建一個 Amazon EBS-backed AMI

AmiName(字符串,可選)

如果選CreateAmi項設定為True,請指定備份建立的 AMI 名稱。

description (字串,選用)

指定此程序所建立之快照或映像的描述。

tags (字串,選用)

我們建議您為快照和映像加上標籤,以協助您尋找和管理資源,例如從快照清單還原磁碟區。系統會新增Name金鑰,其中有一個空白值,您可以在其中指定要套用至輸出快照或影像的名稱。

如果要指定其他標籤,請在兩者之間以分號分隔標籤。例如 Key=Environment,Value=Test;Key=User,Value=TestUser1

依預設,系統會為啟用 VSS 的快照和映像新增下列保留標記。

  • 裝置 — 對於啟用 VSS 的快照,這是快照擷取之 EBS 磁碟區的裝置名稱。

  • AppConsistent— 此標籤表示已成功建立啟用 VSS 的快照或 AMI。

  • AwsVssConfig— 這會識別在啟用 VSS 的情況下建立的快照和 AMI。該標籤包括元信息,例如AwsVssComponents版本。

警告

在參數清單中指定這些保留標籤中的任何一個都會導致錯誤。

executionTimeout (字串,選用)

指定在執行個體上執行快照建立程序或從執行個體建立 AMI 的時間上限 (以秒為單位)。增加此逾時時間可讓命令等待更長時間,使 VSS 開始凍結並完成標記其建立的資源。此逾時僅適用於快照或 AMI 建立步驟。安裝或更新 AwsVssComponents 套件的初始步驟不包含在逾時中。

CollectDiagnosticLogs(字符串,可選)

若要在快照和 AMI 建立步驟期間收集更多資訊,請將此參數設定為 True ""。此參數的預設值為 "False"。合併的診斷記錄會以.zip格式封存格式儲存在執行個體的下列位置:

C:\ProgramData\Amazon\AwsVss\Logs\timestamp.zip

VssVersion(字符串,可選)

在使用 AWSEC2-VssInstallAndSnapshot 文件的情況下,您可以指定 VssVersion 參數以在執行個體上安裝特定版本的 AwsVssComponents 套件。將此參數保留空白,以安裝建議的預設版本。

如果已安裝指定版本的 AwsVssComponents 套件,則指令碼會略過安裝步驟,並繼續進行備份步驟。如需 AwsVssComponents 套件版本和操作支援的清單,請參閱AWS VSS 解決方案版本歷史

執行 Systems Manager VSS 快照命令文件

您可以使用命令文件建立啟用 VSS 的 EBS 快照,如下所 AWS Systems Manager 示。

當您使用執 AWS Systems Manager 行AWSEC2-VssInstallAndSnapshot文件時,指令碼會執行下列步驟。

  1. 該指令碼會先在執行個體上安裝或更新 AwsVssComponents 套件,具體取決於是否已安裝執行個體。

  2. 指令碼會在完成第一個步驟後,建立應用程式一致快照。

若要執行 AWSEC2-VssInstallAndSnapshot 文件,請依照適用於您偏好之環境的步驟執行。

Console
從主控台建立啟用 VSS 的 EBS 快照
  1. 請在以下位置開啟 AWS Systems Manager 主控台。 https://console.aws.amazon.com/systems-manager/

  2. 從導覽窗格中選取執行命令。這會顯示您帳戶中目前正在執行的命令清單 (若適用)。

  3. 選擇 執行命令。這會開啟您具有存取權限的命令文件清單。

  4. 從命令文件清單中選取 AWSEC2-VssInstallAndSnapshot。若要簡化結果,可輸入全部或部分文件名稱。您也可以依擁有者、平台類型或標籤進行篩選。

    在您選取命令文件時,系統會將詳細資訊填入清單下方。

  5. 文件版本清單中選取 Default version at runtime

  6. 設定命令參數,以定義 AWSEC2-VssInstallAndSnapshot 如何安裝 AwsVssComponents 套件並使用 VSS 快照或 AMI 來備份。如需參數詳細資訊,請參閱 Systems Manager VSS 快照文件的參數

  7. 針對目標選取,手動指定標籤或選取執行個體,以識別要執行這項操作的執行個體。

    注意

    如果您手動選取執行個體,但預期看到的執行個體並未出現在清單中,請參閱我的執行個體在哪裡?,以取得疑難排解秘訣。

  8. 如需定義 Systems Manager Run Command 行為的其他參數 (例如速率控制),請依照從主控台執行命令中的說明輸入值。

  9. 選擇 Run (執行)

    如果操作成功,該命令就會將新快照填入 EBS 快照清單中。您可以搜尋指定的標籤,或是搜尋 AppConsistent,藉此在 EBS 快照清單中找到這些快照。如果命令執行失敗,請檢視 Systems Manager 命令輸出的詳細資訊,以了解執行失敗的原因。若系統成功完成命令,但無法備份特定磁碟區,則您可以在 EBS 磁碟區清單中進行疑難排解。

AWS CLI

您可以在中執行下列命令, AWS CLI 以建立啟用 VSS 的 EBS 快照並取得快照建立的狀態。

建立具備 VSS 功能的 EBS 快照

執行下列命令,藉此建立具備 VSS 功能的 EBS 快照。若要建立快照,您必須使用 --instance-ids 參數來識別執行個體。如需您可以查看之其他參數的詳細資訊,請參閱 Systems Manager VSS 快照文件的參數

aws ssm send-command \ --document-name "AWSEC2-VssInstallAndSnapshot" \ --instance-ids "i-01234567890abcdef" \ --parameters '{"ExcludeBootVolume":["False"],"description":["Description"],"tags":["Key=key_name,Value=tag_value"],"VssVersion":[""]}'

如果操作成功,該命令文件就會將新快照填入 EBS 快照清單中。您可以搜尋指定的標記,或是搜尋 AppConsistent,藉此在 EBS 快照清單中找到這些快照。如果命令執行失敗,請檢視命令輸出的詳細資訊,以了解執行失敗的原因。

取得命令狀態

若要取得快照目前的狀態,請使用從 send-command 傳回的命令 ID 執行下列命令。

aws ssm get-command-invocation --instance-ids "i-01234567890abcdef" \ --command-id "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" \ --plugin-name "CreateVssSnapshot"
PowerShell

使用執行下列命令, AWS Tools for Windows PowerShell 以建立啟用 VSS 的 EBS 快照,並取得建立輸出的目前執行階段狀態。指定前面清單中描述的參數,以修改快照處理程序的行為。

使用視窗適用的工具建立已啟用 VSS 的 EBS 快照 PowerShell

執行下列命令,以建立啟用 VSS 的 EBS 快照或 AMI。

Send-SSMCommand -DocumentName "AWSEC2-VssInstallAndSnapshot" -InstanceId "i-01234567890abcdef" -Parameter @{'ExcludeBootVolume'='False';'description'='a_description' ;'tags'='Key=key_name,Value=tag_value';'VssVersion'=''}
取得命令狀態

若要取得快照目前的狀態,請使用從 Send-SSMCommand 傳回的命令 ID 執行下列命令。

Get-SSMCommandInvocationDetail -InstanceId "i-01234567890abcdef" -CommandId "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" -PluginName "CreateVssSnapshot"

如果操作成功,該命令就會將新快照填入 EBS 快照清單中。您可以搜尋指定的標記,或是搜尋 AppConsistent,藉此在 EBS 快照清單中找到這些快照。如果命令執行失敗,請檢視命令輸出的詳細資訊,以了解執行失敗的原因。

若要執行 AWSEC2-CreateVssSnapshot 文件,請依照適用於您偏好之環境的步驟執行。

Console
從主控台建立啟用 VSS 的 EBS 快照
  1. 請在以下位置開啟 AWS Systems Manager 主控台。 https://console.aws.amazon.com/systems-manager/

  2. 從導覽窗格中選取執行命令。這會顯示您帳戶中目前正在執行的命令清單 (若適用)。

  3. 選擇 執行命令。這會開啟您具有存取權限的命令文件清單。

  4. 從命令文件清單中選取 AWSEC2-CreateVssSnapshot。若要簡化結果,可輸入全部或部分文件名稱。您也可以依擁有者、平台類型或標籤進行篩選。

    在您選取命令文件時,系統會將詳細資訊填入清單下方。

  5. 文件版本清單中選取 Default version at runtime

  6. 設定命令參數,以定義如何使用 VSS 快照或 AMI 來備份 AWSEC2-CreateVssSnapshot。如需參數詳細資訊,請參閱 Systems Manager VSS 快照文件的參數

  7. 針對目標選取,手動指定標籤或選取執行個體,以識別要執行這項操作的執行個體。

    注意

    如果您手動選取執行個體,但預期看到的執行個體並未出現在清單中,請參閱我的執行個體在哪裡?,以取得疑難排解秘訣。

  8. 如需定義 Systems Manager Run Command 行為的其他參數 (例如速率控制),請依照從主控台執行命令中的說明輸入值。

  9. 選擇 Run (執行)

    如果操作成功,該命令就會將新快照填入 EBS 快照清單中。您可以搜尋指定的標籤,或是搜尋 AppConsistent,藉此在 EBS 快照清單中找到這些快照。如果命令執行失敗,請檢視 Systems Manager 命令輸出的詳細資訊,以了解執行失敗的原因。若系統成功完成命令,但無法備份特定磁碟區,則您可以在 EBS 磁碟區清單中進行疑難排解。

AWS CLI

您可以在中執行下列命令,以建立啟用 VSS 的 EBS 快照。 AWS CLI

建立具備 VSS 功能的 EBS 快照

執行下列命令,藉此建立具備 VSS 功能的 EBS 快照。若要建立快照,您必須使用 --instance-ids 參數來識別執行個體。如需您可以查看之其他參數的詳細資訊,請參閱 Systems Manager VSS 快照文件的參數

aws ssm send-command \ --document-name "AWSEC2-CreateVssSnapshot" \ --instance-ids "i-01234567890abcdef" \ --parameters '{"ExcludeBootVolume":["False"],"description":["Description"],"tags":["Key=key_name,Value=tag_value"]}'

如果操作成功,該命令文件就會將新快照填入 EBS 快照清單中。您可以搜尋指定的標記,或是搜尋 AppConsistent,藉此在 EBS 快照清單中找到這些快照。如果命令執行失敗,請檢視命令輸出的詳細資訊,以了解執行失敗的原因。

PowerShell

使用執行下列命令, AWS Tools for Windows PowerShell 以建立啟用 VSS 的 EBS 快照。

使用視窗適用的工具建立已啟用 VSS 的 EBS 快照 PowerShell

執行下列命令,藉此建立具備 VSS 功能的 EBS 快照。若要建立快照,您必須使用 InstanceId 參數來識別執行個體。您可以指定多個執行個體,藉此為其建立快照。如需您可以查看之其他參數的詳細資訊,請參閱 Systems Manager VSS 快照文件的參數

Send-SSMCommand -DocumentName AWSEC2-CreateVssSnapshot -InstanceId "i-01234567890abcdef" -Parameter @{'ExcludeBootVolume'='False';'description'='a_description' ;'tags'='Key=key_name,Value=tag_value'}

如果操作成功,該命令就會將新快照填入 EBS 快照清單中。您可以搜尋指定的標記,或是搜尋 AppConsistent,藉此在 EBS 快照清單中找到這些快照。如果命令執行失敗,請檢視 命令輸出的詳細資訊,以了解執行失敗的原因。若系統成功完成命令,但無法備份特定磁碟區,則您可以在 EBS 快照清單中進行疑難排解。

可以使用上一節所述的任何命令列程序來建立具備 VSS 功能的快照。命令文件 (AWSEC2-VssInstallAndSnapshotAWSEC2-CreateVssSnapshot) 必須在叢集中的主節點上執行。次要節點上的文件將會失敗,因為其無法存取共用磁碟。如果您的主要和次要動態變更,您可以在多個節點上 AWS Systems Manager 執行 Run Command 文件,並期望指令在主要節點上成功並在次要節點上失敗。

您可使用下列指令碼和預先定義的 AWSEC2-ManageVssIO SSM 文件,以暫時暫停 I/O、建立具備 VSS 功能的 EBS 快照,然後重新啟動 I/O。系統會在執行命令的使用者內容中執行此程序。如果使用者有足夠的權限來建立和標記快照,則 AWS Systems Manager 可以建立並標記啟用 VSS 的 EBS 快照,而不需要執行個體上的其他 IAM 快照角色。

相對的,命令文件 (AWSEC2-VssInstallAndSnapshotAWSEC2-CreateVssSnapshot) 會要求您將 IAM 快照角色指派給每個執行個體,以便為這些執行個體建立 EBS 快照。如果您出於政策或法規因素,不願提供其他 IAM 許可給執行個體使用,則可利用下列指令碼。

開始之前

請注意以下與此程序相關的重要詳細資訊:

  • 此程序會使用指 PowerShell 令碼 (CreateVssSnapshotAdvancedScript.ps1),為您指定的執行個體上的所有磁碟區建立快照,但根磁碟區除外。您必須使用 AWSEC2-CreateVssSnapshot SSM 文件,才能擷取根磁碟區的快照。

  • 指令碼會呼叫 AWSEC2-ManageVssIO 文件兩次。第一次呼叫時,該指令碼會將 Action 參數設定為 Freeze,這會暫停執行個體上的所有 I/O。第二次呼叫時,Action 參數的設定會變更為 Thaw,讓系統能強制恢復 I/O。

  • 請勿在未使用 CreateVssSnapshotAdvancedScript .ps1 指令碼的情況下嘗試使用AWSEC2-ManageVssIO文件。Microsoft 的 VSS 框架要求 FreezeThaw 動作的呼叫時間相差不得超過 10 秒鐘。此外,在未使用指令碼的情況下手動呼叫這些動作,可能會導致錯誤。

使用 AWSEC2-ManageVssIO SSM 文件建立具備 VSS 功能的 EBS 快照
  1. 下載 CreateVssSnapshotAdvancedScript.zip 檔案並解壓縮檔案內容。

  2. CreateVssSnapshotAdvancedScript.ps1在文字編輯器中開啟,使用有效的 EC2 執行個體 ID、快照說明和所需標籤值編輯指令碼底部的範例呼叫,然後從中執行指令碼 PowerShell。

如果操作成功,該命令就會將新快照填入 EBS 快照清單中。您可以搜尋指定的標記,或是搜尋 AppConsistent,藉此在 EBS 快照清單中找到這些快照。如果命令執行失敗,請檢視 命令輸出的詳細資訊,以了解執行失敗的原因。若命令執行成功,但無法備份特定磁碟區,則您可以在 EBS 磁碟區清單中進行疑難排解。

注意

若要自動備份,您可以建立使用AWSEC2-VssInstallAndSnapshot文件的 AWS Systems Manager 維護時段工作。如需詳細資訊,請參閱《AWS Systems Manager 使用者指南》中的 使用維護時段 Windows (主控台)