

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

# AMI 存放和還原如何運作
<a name="store-restore-how-it-works"></a>

要使用 S3 存放和還原 AMI，請使用以下 API：
+ `CreateStoreImageTask` – 將 AMI 存放在 S3 儲存貯體中
+ `DescribeStoreImageTasks` – 提供 AMI 存放任務的進度
+ `CreateRestoreImageTask` – 從 S3 儲存貯體還原 AMI

**Topics**
+ [

## CreateStoreImageTask
](#CreateStoreImageTask)
+ [

## DescribeStoreImageTasks
](#DescribeStoreImageTasks)
+ [

## CreateRestoreImageTask
](#CreateRestoreImageTask)
+ [

## 檔案路徑
](#file-paths-in-s3)

## CreateStoreImageTask
<a name="CreateStoreImageTask"></a>

`CreateStoreImageTask` API 將 AMI 做為單一物件存放在 S3 儲存貯體。

API 建立一個從 AMI 及其快照中讀取所有資料的任務，然後使用 [S3 分段上傳](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html)將資料存放在 S3 物件中。API 採用 AMI 的所有元件，包括大多數非特定區域的 AMI 中繼資料以及 AMI 中包含的所有 EBS 快照，並將其打包為 S3 中的單一物件。資料會在上傳過程中進行壓縮，以減少 S3 中使用的空間量，因此 S3 中的物件可能會小於 AMI 中快照大小的總和。

如果呼叫此 API 的帳戶可見 AMI 和快照標籤，則會將其保留。

S3 中的物件與 AMI 具有相同的 ID，但有 `.bin` 副檔名。下列資料也會作為 S3 中繼資料標籤存放於 S3 物件：AMI 名稱、AMI 描述、AMI 註冊日期、AMI 擁有者帳戶，以及存放操作的時間戳記。

完成任務所需的時間取決於 AMI 的大小。這也取決於有多少其他任務正在進行中，因為任務已排入佇列。您可以呼叫 `DescribeStoreImageTasks` API 追蹤任務進度。

所有進行中 AMIs 的大小總和限制為每個帳戶 1，200 GB 的 EBS 快照資料。系統會拒絕更多的任務建立，除非進行中的任務數量小於限制數量。例如，如果目前存放了一個具有 200 GB 快照資料的 AMI，以及另一個具有 400 GB 快照資料的 AMI，則會接受另一個請求，因為進行中的總量為小於限制的 600 GB。但是，如果目前正在存放具有 1，200 GB 快照資料的單一 AMI，則會拒絕進一步的任務，直到任務完成為止。

## DescribeStoreImageTasks
<a name="DescribeStoreImageTasks"></a>

`DescribeStoreImageTasks` API 描述了 AMI 存放任務的進度。您可以描述指定 AMI 的任務。如果未指定 AMI，您會取得過去 31 天內處理的所有存放映像任務的分頁清單。

對於每個 AMI 任務，回應會指示任務為 `InProgress`、`Completed` 或 `Failed`。對於任務 `InProgress`，回應會以百分比顯示預估進度。

任務會以相反的時間順序列出。

目前，只能檢視上個月的任務。

## CreateRestoreImageTask
<a name="CreateRestoreImageTask"></a>

`CreateRestoreImageTask` API 啟動一個任務，從先前使用 `CreateStoreImageTask` 請求建立的 S3 物件還原為 AMI。

還原任務可以在執行存放任務的相同或不同區域中執行。

將從中還原 AMI 物件的 S3 儲存貯體必須位於請求還原任務的相同區域。AMI 將在此區域還原。

AMI 會還原其中繼資料，例如名稱、描述和對應於存放 AMI 之值的區塊型儲存設備映射。此帳戶的區域中，AMI 的名稱必須是唯一的。如果您沒有提供名稱，新的 AMI 將取得與原始 AMI 相同的名稱。AMI 取得在還原過程中產生的新 AMI ID。

完成 AMI 還原任務所需的時間取決於 AMI 的大小。這也取決於有多少其他任務正在進行中，因為任務已排入佇列。您可以透過描述 AMI ([describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html)) 或其 EBS 快照 ([describe-snapshots](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-snapshots.html)) 來查看任務的進度。如果任務失敗，AMI 和快照集會轉為失敗狀態。

所有進行中 AMIs 的大小總和限制為每個帳戶 EBS 快照資料的 600 GB （根據還原後的大小）。系統會拒絕更多的任務建立，除非進行中的任務數量小於限制數量。

## 檔案路徑
<a name="file-paths-in-s3"></a>

您可以透過下列方式在存放和還原 AMI 時使用檔案路徑：
+ 在 S3 中存放 AMI 時，可以將檔案路徑新增到儲存貯體名稱。在內部，系統會將路徑與儲存貯體名稱分隔開來，然後將路徑新增至產生用來存放 AMI 的物件金鑰。完整的物件路徑會顯示在 API 呼叫的回應中。
+ 還原 AMI 時，由於物件索引鍵參數可用，因此可以將路徑新增至物件索引鍵值的開頭。

**範例：使用附加檔案路徑的儲存貯體名稱**  
儲存 AMI 時，請在儲存貯體名稱後指定檔案路徑。

```
amzn-s3-demo-bucket/path1/path2
```

下列為產生的物件金鑰。

```
path1/path2/ami-0abcdef1234567890.bin
```

若要還原 AMI，您可指定儲存貯體名稱和物件金鑰。如需範例，請參閱 [建立存放映像任務](work-with-ami-store-restore.md#create-store-image-task)。