

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

# 建立 Amazon EBS 支援的 AMI
<a name="creating-an-ami-ebs"></a>

您可從 Amazon EC2 執行個體或從 Amazon EC2 執行個體的根磁碟區快照建立自己的 Amazon EBS 支援的 AMI。

若要從執行個體建立 Amazon EBS 支援的 AMI，請從使用現有 Amazon EBS 支援的 AMI 啟動執行個體開始。此 AMI 可以是您從 取得 AWS Marketplace、使用 [VM Import/Export](https://docs.aws.amazon.com/vm-import/latest/userguide/what-is-vmimport.html) 建立，或您可以存取的任何其他 AMI。在自訂執行個體以滿足您的特定需求後，請建立並註冊新 AMI。然後，您可使用新 AMI 並運用您的自訂內容來啟動全新執行個體。

**注意**  
如需建立支援 EC2 執行個體驗證的 AMI，請參閱 [可驗證的 AMI](attestable-ami.md)。

下列說明的程序同時適用於加密 Amazon Elastic Block Store (Amazon EBS) 磁碟區 (包含根磁碟區) 及未加密磁碟區後端 Amazon EC2 執行個體。

AMI 建立程序與 Amazon S3 支援的 AMI 不同。如需詳細資訊，請參閱[建立 Amazon S3 支援的 AMI](creating-an-ami-instance-store.md)。

**Topics**
+ [從執行個體建立 AMI 概覽](#process-creating-an-ami-ebs)
+ [從執行個體建立 AMI](#how-to-create-ebs-ami)
+ [從快照建立 AMI](#creating-launching-ami-from-snapshot)

## 從執行個體建立 AMI 概覽
<a name="process-creating-an-ami-ebs"></a>

下列圖表總結了從正在執行的 EC2 執行個體建立 Amazon EBS 後端 AMI 的過程：從現有 AMI 開始，啟動執行個體，自訂執行個體，根據其建立新的 AMI，以及最終啟動您的新 AMI 執行個體。該圖表中的數字與隨後描述中的數字相符。

![\[從執行個體建立 AMI 的工作流程\]](http://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/images/running-instance.png)


**1 – AMI \$11：從現有 AMI 開始**  
查找與要建立的 AMI 相似的現有 AMI。這可以是您從 取得的 AMI AWS Marketplace、您使用 [VM Import/Export](https://docs.aws.amazon.com/vm-import/latest/userguide/what-is-vmimport.html) 建立的 AMI，或是您可以存取的任何其他 AMI。您將根據需要自訂此 AMI。  
在圖表中,**EBS 根磁碟區快照 \$11** 指示 AMI 是 Amazon EBS 後端 AMI，並且有關根磁碟區的資訊存放在此快照中。

**2 – 從現有 AMI 啟動執行個體**  
設定 AMI 的方法是從您希望作為新 AMI 基礎的 AMI 啟動執行個體，然後自訂執行個體 (由圖表中的 **3** 指示)。然後，您將建立新的 AMI，其中包含自訂執行個體 (由圖表中的 **4** 指示)。

**3 – EC2 執行個體 \$11：自訂執行個體**  
連線到您的執行個體並根據需要自訂。您的新 AMI 將包含這些自訂執行個體。  
您可以在執行個體上執行下列任一個動作以自訂：  
+ 安裝軟體和應用程式
+ 複製資料
+ 刪除暫存檔案並重組您的硬碟，來減少啟動時間。
+ 連接額外的 EBS 磁碟區

**4 – 建立映像**  
從執行個體建立 AMI 時，Amazon EC2 會在建立 AMI 前關閉執行個體，確認執行個體上的一切在建立程序中都維持在停止且一致的狀態。若您相信您的執行個體處於一致且可用來建立 AMI 的狀態，您可以告知 Amazon EC2 不要關閉及重新開機執行個體。有些檔案系統 (例如 XFS) 可能會凍結及取消凍結活動，使其足夠安全，可用來建立映像，而無須重新開機執行個體。  
在 AMI 建立程序期間，Amazon EC2 會建立您執行個體根磁碟區及任何連接到您執行個體之其他 EBS 磁碟區的快照。您必須為快照支付費用，直到您[取消註冊 AMI](deregister-ami.md) 及刪除快照為止。若任何連接到執行個體的磁碟區經過加密，則新的 AMI 只能在支援 Amazon EBS 加密的執行個體上成功啟動。  
AMI 建立程序可能需要數分鐘的時間完成 (有些可能會花上 24 小時)，具體取決於磁碟區的大小。您可能會發現在建立您的 AMI 前先建立您磁碟區的快照會更有效率。透過此方式，建立 AMI 時便只需要建立小型的增量快照，且程序將能更快完成 (建立快照的總時間維持不變)。

**5 – AMI \$12：新 AMI**  
在程序完成後，您便會擁有新的 AMI 及從執行個體根磁碟區建立的快照 (**快照 \$12**) 。若除了根磁碟區之外，您還為您的執行個體新增執行個體儲存體磁碟區或 EBS 磁碟區，則新 AMI 的區塊型儲存設備映射便會包含這些磁碟區的資訊。  
Amazon EC2 會自動為您註冊 AMI。

**6 –從新的 AMI 啟動執行個體**  
您可以使用新 AMI 啟動執行個體。

**7 – EC2 執行個體 \$12：新執行個體**  
當您使用新的 AMI 啟動執行個體時，Amazon EC2 會使用快照，建立此執行個體的根磁碟區的新 EBS 磁碟區。如果您在自訂執行個體時為新增執行個體儲存體磁碟區或 EBS 磁碟區，則新 AMI 的區塊型儲存設備映射便會包含這些磁碟區的資訊，並且您從新的 AMI 啟動之執行個體的區塊型儲存設備映射也會自動包含這些磁碟區的資訊。新執行個體之區塊型儲存設備映射中指定的執行個體儲存體磁碟區都是全新的，不會包含您用來建立 AMI 之執行個體的執行個體儲存體磁碟區中的任何資料。EBS 磁碟區上的資料會持續。如需詳細資訊，請參閱[Amazon EC2 執行個體上磁碟區的區塊型儲存設備映射](block-device-mapping-concepts.md)。  
當您從 EBS 後端 AMI 建立新的執行個體時，建議您在將其用於生產環境前初始化其根磁碟區和任何額外的 EBS 儲存體。如需詳細資訊，請參閱「Amazon EBS 使用者指南」**中的[初始化 Amazon EBS 磁碟區](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-initialize.html)。

## 從執行個體建立 AMI
<a name="how-to-create-ebs-ami"></a>

如果您有現有執行個體，您可從此執行個體建立 AMI。

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

**若要建立 AMI**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇**執行個體**。

1. 選取要從中建立 AMI 的執行個體，然後依序選擇 **Actions** (動作)、**Image and templates** (映像和範本)，**Create image** (建立映像)。
**提示**  
若此選項已停用，表示您的執行個體並非 Amazon EBS 後端執行個體。

1. 在 **Create image** (建立映像) 頁面上，指定下列資訊：

   1. 對於 **Image name** (映像名稱)，輸入映像的唯一名稱，最多 127 個字元。

   1. 對於 **Image description** (映像描述)，輸入映像的選擇性描述，最多 255 個字元。

   1. 對於**重新啟動執行個體**，請保持選取核取方塊 (預設值)，或加以清除。
      + 若選取**重新啟動執行個體**，Amazon EC2 建立新 AMI 時，會重新啟動執行個體，以便在資料處於靜態時可以拍攝連接磁碟區的快照，以確保狀態一致。
      + 若清除**重新啟動執行個體**，Amazon EC2 建立新 AMI 時，不會關閉及重新啟動執行個體。
**警告**  
若您清除**重新啟動執行個體**，我們無法保證建立映像的檔案系統完整性。

   1. **Instance volumes** (執行個體磁碟區) – 您可以修改根磁碟區，以及新增額外的 Amazon EBS 及執行個體儲存體磁碟區，如下所示：

      1. 根磁碟區在第一列中定義。
         + 若要變更根磁碟區的大小，請在 **Size ( 大小)** 中輸入所需的值。
         + 若您選取 **Delete on termination (終止時刪除)**，則當您終止從此 AMI 建立的執行個體時，便會刪除 EBS 磁碟區。若您清除 **Delete on termination (終止時刪除)**，則當您終止執行個體時，便不會刪除 EBS 磁碟區。如需詳細資訊，請參閱[在執行個體終止時保留資料](preserving-volumes-on-termination.md)。

      1. 若要新增 EBS 磁碟區，請選擇 **Add volume (新增磁碟區)** (這會新增一個新的資料列)。針對**儲存體類型**，選擇 **EBS**，然後填入資料列中的欄位。當您從您新的 AMI 啟動執行個體時，額外的磁碟區會自動連接到執行個體。空白磁碟區必須進行格式化及掛載。以快照為基礎的磁碟區必須掛載。

      1. 若要新增執行個體儲存體磁碟區，請參閱[將執行個體儲存體磁碟區新增至 Amazon EC2 AMI](adding-instance-storage-ami.md)。當您從您新的 AMI 啟動執行個體時，額外的磁碟區會自動初始化並掛載。這些磁碟區不會包含做為您 AMI 基礎之執行中執行個體的執行個體儲存體磁碟區中的任何資料。

   1. **快照目的地** – 若執行個體磁碟區位於支援 EBS 本機快照的本機區域，則選擇建立 AMI 快照的位置：
      + **AWS 區域**：在磁碟區的本機區域父區域建立快照。
      + **AWS Local Zone**：在與磁碟區相同的 Local Zone 中建立快照。
**注意**  
此選項僅在支援 EBS 本機快照的本機區域顯示，且僅當執行個體在本機區域建立時才會顯示。若磁碟區位於區域，則不會顯示此選項，且自動在與磁碟區相同的區域建立快照。若要了解詳細資訊，請參閱 *Amazon EBS 使用者指南*中的[本機區域中的本機快照](https://docs.aws.amazon.com/ebs/latest/userguide/snapshots-localzones.html)。
**重要**  
執行個體磁碟區的全部快照必須位於同一位置。請確認現有快照的位置。若任何現有的快照與選取的目的地位於不同位置，AMI 建立會失敗。

   1. **Tags** (標籤) - 當您建立 AMI 時，可以使用相同的標籤來標記 AMI 和快照，或者可以使用不同的標籤來進行標記。
      + 若要使用*相同的* 標籤來標記 AMI 和快照，請選擇 **Tag image and snapshots together (共同標記映像和快照)**。相同的標籤即套用至 AMI 和每個建立的快照。
      + 若要使用*不同的* 標籤來標記 AMI 和快照，請選擇 **Tag image and snapshots separately (個別標記映像和快照)**。不同的標籤即套用至 AMI 和建立的快照。但是所有快照都會取得相同的標籤；您無法使用不同的標籤標記每個快照。

      若要新增標籤，請選擇 **Add tag (新增標籤)**，然後輸入標籤的鍵和值。針對每個標籤，重複執行上述動作。

   1. 當您準備好建立 AMI 時，請選擇 **Create image** (建立映像)。

1. 若要在建立您 AMI 的過程中檢視狀態：

   1. 在導覽窗格中，選擇 **AMI**。

   1. 將篩選條件設為 **Owned by me** (由我擁有)，然後在清單中尋找您的 AMI。

      一開始，狀態為 `pending`，但在幾分鐘後應該會變更為 `available`。

1. (選用) 若要檢視為新 AMI 建立的快照：

   1. 記下您在先前步驟中找到的 AMI ID。

   1. 在導覽窗格中，選擇 **Snapshots** (快照)。

   1. 將篩選條件設定為 **Owned by me** (由我擁有)，然後在 **Description** (說明) 欄中尋找含有新 AMI ID 的快照。

      當您從此 AMI 啟動執行個體時，Amazon EC2 會使用此快照建立執行個體的根磁碟區。

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

**若要建立 AMI**  
請使用 [create-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-image.html) 命令。

```
aws ec2 create-image \
    --instance-id i-1234567890abcdef0 \
    --name "my-web-server" \
    --description "My web server image" \
    --no-reboot
```

------
#### [ PowerShell ]

**若要建立 AMI**  
使用 [New-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Image.html) cmdlet。

```
New-EC2Image `
    -InstanceId i-1234567890abcdef0 ` 
    -Name "my-web-server" `
    -Description "My web server image" `
    -NoReboot $true
```

------

## 從快照建立 AMI
<a name="creating-launching-ami-from-snapshot"></a>

若您有執行個體根磁碟區的快照，您可以從此快照建立 AMI。

**注意**  
在多數情況，適用於 Windows、Red Hat、SUSE 和 SQL Server 的 AMI 需要 AMI 具正確授權資訊。如需詳細資訊，請參閱[了解 AMI 帳單資訊](ami-billing-info.md)。當從快照建立 AMI 時，`RegisterImage` 操作會從快照的中繼資料衍生出正確帳單資訊，但這需要有適當的中繼資料。若要驗證是否已套用正確帳單資訊，請參閱新 AMI 的**平台詳細資料**欄位。如果欄位為空或與預期的作業系統程式碼不相符 (例如， Windows、Red Hat、SUSE 或 SQL)，則 AMI 建立失敗，您應該捨棄 AMI 並遵循 [從執行個體建立 AMI](#how-to-create-ebs-ami) 的說明。

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

**從快照建立 AMI**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **Snapshots (快照)**。

1. 選取要從中建立 AMI 的快照，然後選取 **Actions** (動作)、**Create image from snapshot** (從快照建立映像)。

1. 在**從快照建立映像**頁面上，指定下列資訊：

   1. 對於 **Image name** (映像名稱)，輸入映像的描述性名稱。

   1. 對於 **Description** (描述)，輸入映像的簡短描述。

   1. 對於 **Architecture** (架構)，選擇映像架構。選擇 **i386** (若為 32 位元)、**x86\$164** (若為 64 位元)、**arm64** (若為 64 位元 ARM)，或 **x86\$164** (若為 64 位元 macOS)。

   1. 針對**根裝置名稱**，輸入要用於根磁碟區的設備名稱。如需詳細資訊，請參閱[Amazon EC2 執行個體上磁碟區的裝置名稱](device_naming.md)。

   1. 對於 **Virtualization type** (虛擬化類型)，選擇從這個 AMI 啟動之執行個體要使用的虛擬化類型。如需詳細資訊，請參閱 [虛擬化類型](ComponentsAMIs.md#virtualization_types)。

   1. (僅適用於半虛擬化) 對於 **Kernel ID** (核心 ID)，選取映像的作業系統核心。如果您是使用執行個體的根磁碟區快照，請選取與原始執行個體相同的核心 ID。如果不確定，請使用預設核心。

   1. (僅適用於半虛擬化) 對於 **RAM disk ID** (RAM 磁碟 ID)，選取映像的 RAM 磁碟。如果選取特定核心，則可能需要選取具有可支援之驅動程式的特定 RAM 磁碟。

   1. 對於**開機模式**，請選擇映像的開機模式，或選擇**使用預設值**，以便在使用此 AMI 啟動執行個體時，以執行個體類型支援的開機模式開機。如需詳細資訊，請參閱[設定 Amazon EC2 AMI 的開機模式](set-ami-boot-mode.md)。

   1. (選用) 在**區塊型儲存設備映射**，自訂根磁碟區並新增其他資料磁碟區。

      針對每個磁碟區，您可以指定大小、類型、效能特性、終止時的刪除行為，以及加密狀態。若為根磁碟區，大小不可小於快照的大小。磁碟區類型的預設選項是「一般用途 SSD `gp3`」。

   1. (選用) 在**標籤**下，您可以新增一個或多個標籤至新 AMI。若要新增標籤，請選擇 **Add tag (新增標籤)**，然後輸入標籤的鍵和值。針對每個標籤，重複執行上述動作。

   1. 當您準備好建立 AMI 時，請選擇 **Create image** (建立映像)。

1. (僅限 Windows、Red Hat、SUSE 和 SQL Server) 若要驗證是否已套用正確帳單資訊，請檢查新 AMI 的**平台詳細資料**欄位。如果欄位為空或與預期的作業系統程式碼不相符 (例如，**Windows** 或 **Red Hat**)，則 AMI 建立失敗，您應該捨棄 AMI 並遵循 [從執行個體建立 AMI](#how-to-create-ebs-ami) 的說明。

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

**使用 從快照建立 AMI AWS CLI**  
使用 [register-image](https://docs.aws.amazon.com/cli/latest/reference/ec2/register-image.html) 命令。

```
aws ec2 register-image \
    --name my-image \
    --root-device-name /dev/xvda \
    --block-device-mappings DeviceName=/dev/xvda,Ebs={SnapshotId=snap-0db2cf683925d191f}
```

------
#### [ PowerShell ]

**如需使用 PowerShell 透過快照建立 AMI**  
使用 [Register-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2Image.html) cmdlet。

```
$block = @{SnapshotId=snap-0db2cf683925d191f}
Register-EC2Image `
    -Name my-image `
    -RootDeviceName /dev/xvda `
    -BlockDeviceMapping @{DeviceName="/dev/xvda";Ebs=$block}
```

------