

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

# 您可以使用 Systems Manager 命令文件來建立 VSS 型快照
<a name="create-vss-snapshots-ssm"></a>

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

在您使用任何 Systems Manager 命令文件之前，請確保您已符合所有 [建立基於 Windows VSS 的 EBS 快照的先決條件](application-consistent-snapshots-prereqs.md)。

**Topics**
+ [Systems Manager VSS 快照文件的參數](#create-vss-snapshots-ssm-params)
+ [執行 Systems Manager VSS 快照命令文件](#create-vss-snapshots-ssm-methods)

## Systems Manager VSS 快照文件的參數
<a name="create-vss-snapshots-ssm-params"></a>

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

**AmiName** (字串，選用)  
如果 **CreateAmi** 選項設定為 `True`，請指定備份所建立之 AMI 的名稱。

**description** (字串，選用)  
指定此程序所建立之快照或映像的描述。

**CollectDiagnosticLogs** (字串，選用)  
若要在快照和 AMI 建立步驟期間收集更多資訊，請將此參數設定為「`True`」。此參數的預設值為「`False`」。合併診斷日誌會儲存為 `.zip` 格式封存檔，並位於執行個體上的以下位置：  
`C:\ProgramData\Amazon\AwsVss\Logs\timestamp.zip`

**CopyOnly** (字串，選用)  
如果您除了 AWS VSS 使用原生 SQL Server 備份，執行僅限複製備份可防止 AWS VSS 中斷原生差異備份鏈。若要執行僅限複製備份操作，請將此參數設定為 `True`。  
此參數的預設值為 `False`，這會導致 AWS VSS 執行完整的備份操作。

**CreateAmi** (字串，選用)  
若要建立 VSS 型 Amazon Machine Image (AMI) 來備份您的執行個體，請將此參數設定為 `True`。此參數的預設值為 `False`，因此會改為使用 EBS 快照備份您的執行個體。  
如需從執行個體建立 AMI 的詳細資訊，請參閱[建立 Amazon EBS 支援的 AMI](creating-an-ami-ebs.md)。

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

**ExcludeBootVolume** (字串，選用)  
若您建立快照，此設定會從備份程序中排除開機磁碟區。若要從快照中排除開機磁碟區，請將 **ExcludeBootVolume** 設定為 `True`，將 **CreateAmi** 設定為 `False`。  
如果您為備份建立 AMI，則應將此參數設定為 `False`。此參數的預設值為 `False`。

**NoWriters** (字串，選用)  
若要從快照程序中排除應用程式 VSS 寫入程式，請將此參數設定為 `True`。排除應用程式 VSS 寫入程式有助於您解決與第三方 VSS 備份元件的衝突。此參數的預設值為 `False`。  
若 `SaveVssMetadata` 為 `True`，則此參數必須設為 `False`。

**SaveVssMetadata** (字串，選用)  
若要在每個快照期間儲存 VSS 中繼資料檔案，請將此參數設定為 `True`。預設值為 `False`。這些檔案有助於深入了解備份操作中包含哪些元件或寫入器，以及每個快照的相關檔案和磁碟區。使用 VSS 還原解決方案還原 SQL 資料庫時，會使用中繼資料檔案。如需如何從 VSS 快照還原 SQL 資料庫的詳細資訊，請參閱[使用自動化 Runbook 從 AWS VSS 解決方案快照還原資料庫](https://docs.aws.amazon.com/sql-server-ec2/latest/userguide/ms-ssdb-ec2-restore-vss.html)。  
中繼資料檔案之名稱中會具有相關聯的快照集 id。您可以在執行個體的下列位置找到它們：  

```
C:\ProgramData\Amazon\AwsVss\VssMetadata\
```
+ 儲存 VSS 中繼資料檔案會需要 2.4.0 版或更新版本的 `AwsVssComponents` 套件。如果您的執行個體已安裝較舊版本，將 `SaveVssMetadata` 設定為 `True` 會導致快照建立失敗。
+ `NoWriters` 和 `SaveVssMetadata` 參數互斥。若兩者皆設為 `True`，則快照建立會失敗。

**tags** (字串，選用)  
我們建議您標記快照和映像，有助於尋找和管理資源，例如從快照清單還原磁碟區。系統會新增 `Name` 金鑰，並加上空白值，您可在其中指定要套用至輸出快照或映像的名稱。  
如果您要指定其他標籤，請在標籤之間使用分號來分隔。例如 `Key=Environment,Value=Test;Key=User,Value=TestUser1`。  
標籤索引鍵和值只能包含英數字元和下列特殊字元：`() ./\-"'@_+:={}`。
根據預設，系統會為 VSS 型快照和映像新增以下預留標籤。  
+ **裝置** – 針對 VSS 型快照，這是快照擷取之 EBS 磁碟區的裝置名稱。
+ **AppConsistent** – 此標籤表示成功建立 VSS 型快照或 AMI。
+ **AwsVssConfig** – 這會識別啟用 VSS 時所建立的快照和 AMIs。標籤會包含中繼資訊，例如 `AwsVssComponents` 版本和快照集 ID。
在您的參數清單中指定任何這些預留標籤，將會導致錯誤。

**VssVersion** (字串，選用)  
在使用 `AWSEC2-VssInstallAndSnapshot` 文件的情況下，您可以指定 `VssVersion` 參數以在執行個體上安裝特定版本的 `AwsVssComponents` 套件。將此參數保留空白，以安裝建議的預設版本。  
如果已安裝指定版本的 `AwsVssComponents` 套件，則指令碼會略過安裝步驟，並繼續進行備份步驟。如需 `AwsVssComponents` 套件版本和操作支援的清單，請參閱[AWS VSS 解決方案版本歷史記錄](vss-comps-history.md)。

## 執行 Systems Manager VSS 快照命令文件
<a name="create-vss-snapshots-ssm-methods"></a>

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

### 執行 AWSEC2-VssInstallAndSnapshot 命令文件 (建議採納)
<a name="create-with-AWSEC2-VssInstallAndSnapshot"></a>

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

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

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

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

------
#### [ Console ]

**從主控台建立建立 VSS 型 EBS 快照**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

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

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

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

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

1. 從**文件版本**清單中選取 `Default version at runtime`。

1. 設定**命令參數**，以定義 `AWSEC2-VssInstallAndSnapshot` 如何安裝 `AwsVssComponents` 套件並使用 VSS 快照或 AMI 來備份。如需參數詳細資訊，請參閱 [Systems Manager VSS 快照文件的參數](#create-vss-snapshots-ssm-params)。

1. 針對**目標選取**，手動指定標籤或選取執行個體，以識別要執行這項操作的執行個體。
**注意**  
如果您手動選取執行個體，但預期看到的執行個體並未出現在清單中，請參閱[我的執行個體在哪裡？](https://docs.aws.amazon.com/systems-manager/latest/userguide/troubleshooting-remote-commands.html#where-are-instances)，以取得疑難排解秘訣。

1. 如需定義 Systems Manager Run Command 行為的其他參數 (例如**速率控制**)，請依照[從主控台執行命令](https://docs.aws.amazon.com/systems-manager/latest/userguide/running-commands-console.html)中的說明輸入值。

1. 選擇 **Run (執行)**。

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

------
#### [ AWS CLI ]

您可以在 中執行下列命令 AWS CLI ，以建立以 VSS 為基礎的 EBS 快照，並取得快照建立的狀態。

**建立 VSS 型 EBS 快照**  
執行下列命令，藉此建立 VSS 型 EBS 快照。若要建立快照，您必須使用 `--instance-ids` 參數來識別執行個體。如需您可以查看之其他參數的詳細資訊，請參閱 [Systems Manager VSS 快照文件的參數](#create-vss-snapshots-ssm-params)。

```
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 快照，並取得目前建立輸出的執行時間狀態。指定前面清單中描述的參數，以修改快照處理程序的行為。

**使用適用於 Windows PowerShell 的工具建立 VSS 型 EBS 快照**  
執行下列命令，以建立 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 命令文件
<a name="create-with-AWSEC2-CreateVssSnapshot"></a>

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

------
#### [ Console ]

**從主控台建立建立 VSS 型 EBS 快照**

1. 在 https：//[https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/) 開啟 AWS Systems Manager 主控台。

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

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

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

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

1. 從**文件版本**清單中選取 `Default version at runtime`。

1. 設定**命令參數**，以定義如何使用 VSS 快照或 AMI 來備份 `AWSEC2-CreateVssSnapshot`。如需參數詳細資訊，請參閱 [Systems Manager VSS 快照文件的參數](#create-vss-snapshots-ssm-params)。

1. 針對**目標選取**，手動指定標籤或選取執行個體，以識別要執行這項操作的執行個體。
**注意**  
如果您手動選取執行個體，但預期看到的執行個體並未出現在清單中，請參閱[我的執行個體在哪裡？](https://docs.aws.amazon.com/systems-manager/latest/userguide/troubleshooting-remote-commands.html#where-are-instances)，以取得疑難排解秘訣。

1. 如需定義 Systems Manager Run Command 行為的其他參數 (例如**速率控制**)，請依照[從主控台執行命令](https://docs.aws.amazon.com/systems-manager/latest/userguide/running-commands-console.html)中的說明輸入值。

1. 選擇 **Run (執行)**。

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

------
#### [ AWS CLI ]

您可以在 中執行下列命令 AWS CLI ，以建立 VSS 型 EBS 快照。

**建立 VSS 型 EBS 快照**  
執行下列命令，藉此建立 VSS 型 EBS 快照。若要建立快照，您必須使用 `--instance-ids` 參數來識別執行個體。如需您可以查看之其他參數的詳細資訊，請參閱 [Systems Manager VSS 快照文件的參數](#create-vss-snapshots-ssm-params)。

```
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 快照。

**使用適用於 Windows PowerShell 的工具建立 VSS 型 EBS 快照**  
執行下列命令，藉此建立 VSS 型 EBS 快照。若要建立快照，您必須使用 `InstanceId` 參數來識別執行個體。您可以指定多個執行個體，藉此為其建立快照。如需您可以查看之其他參數的詳細資訊，請參閱 [Systems Manager VSS 快照文件的參數](#create-vss-snapshots-ssm-params)。

```
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 快照清單中進行疑難排解。

------

### 使用共用 EBS 儲存體，為 Windows 容錯移轉叢集執行命令文件
<a name="create-vss-win-failover-cluster"></a>

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

**注意**  
若要自動化備份，您可以建立使用 `AWSEC2-VssInstallAndSnapshot` 文件的 AWS Systems Manager 維護時段任務。如需詳細資訊，請參閱*「AWS Systems Manager 使用者指南」*中的 [使用維護時段 Windows (主控台)](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-maintenance-working.html)。