

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

# Amazon EC2 的 AMI 類型和特性
<a name="ComponentsAMIs"></a>

當您啟動執行個體時，您選擇的 AMI 必須與您選擇的執行個體類型相容。您可以根據下列特性來選取要使用的 AMI：
+ [區域](using-regions-availability-zones.md)
+ 作業系統
+ 處理器架構
+ [啟動許可](#launch-permissions)
+ [根磁碟區類型](#storage-for-the-root-device)
+ [虛擬化類型](#virtualization_types)

## 啟動許可
<a name="launch-permissions"></a>

啟動許可確定誰可使用 AMI 來啟動執行個體。您可將啟動許可視為[共用 AMI](sharing-amis.md) – 若您授予啟動許可，則將與其他使用者共用 AMI。僅 AMI 的擁有者可藉由指定啟動許可來確定其可用性。啟動許可分為以下類別。


| 啟動許可 | 描述 | 
| --- | --- | 
| public | 擁有者會將啟動許可授予所有 AWS 帳戶。 | 
| explicit | 擁有者會將啟動許可授予特定 AWS 帳戶、組織或組織單位 (OUs)。 | 
| implicit | 擁有者具有 AMI 的絕對啟動許可。 | 

Amazon 和 Amazon EC2 社群可大量選取公用 AMI。如需詳細資訊，請參閱 [了解 Amazon EC2 的共用 AMI 使用情況](sharing-amis.md)。開發人員可以收取其 AMI 的費用。如需詳細資訊，請參閱[AWS Marketplace 適用於 Amazon EC2 執行個體的 中的付費 AMIs](paid-amis.md)。

## 根磁碟區類型
<a name="storage-for-the-root-device"></a>

所有 AMI 都會分類為 *Amazon EBS 支援*或 *Amazon S3 支援*。
+ Amazon EBS 支援的 AMI – 從 AMI 啟動之執行個體的根磁碟區是從 Amazon EBS 快照建立的 Amazon Elastic Block Store (Amazon EBS) 磁碟區。同時支援 Linux 和 Windows AMI。
+ Amazon S3 支援的 AMI –從 AMI 所啟動之執行個體的根磁碟區是從 Amazon S3 中存放的範本建立的執行個體儲存體磁碟區。僅支援 Linux AMI。Windows AMI 不支援根磁碟區的執行個體儲存體。

如需詳細資訊，請參閱[Amazon EC2 執行個體的根磁碟區](RootDeviceStorage.md)。

**注意**  
Amazon S3 支援的 AMI 被認為生命週期結束，且不建議用於新用途。其僅在以下舊版執行個體類型上受支援：C1、C3、D2、I2、M1、M2、M3、R3 與 X1。

下表摘要說明使用兩種類型之 AMI 時的重要差異。


| 特性 | Amazon EBS 後端 AMI | Amazon S3 支援的 AMI | 
| --- | --- | --- | 
| 根磁碟區 | EBS 磁碟區 | 執行個體儲存體磁碟區 | 
| 執行個體的開機時間 | 通常少於 1 分鐘 | 通常少於 5 分鐘 | 
| 資料持久性  |  根據預設，該執行個體終止時會刪除根磁碟區。\$1 任何其他 EBS 磁碟區上的資料在執行個體終止之後，預設為會持續留存。  |  只有在執行個體的生命週期，才會持續保存執行個體儲存體磁碟區上的資料。  | 
| 停止狀態 |  可以處於停止狀態。即使執行個體已停止且未執行，根磁碟區仍會保留在 Amazon EBS。  |  無法進入停止狀態；執行個體正在執行或已終止。  | 
| 修改 |  在執行個體停止時，可以變更執行個體類型、核心、RAM 磁碟和使用者資料。  |  在執行個體的生命週期，執行個體屬性是固定的。  | 
| 費用 |  會向您收取執行個體使用費、EBS 磁碟區使用費，以及將 AMI 存放為 EBS 快照的費用。  |  會向您收取執行個體使用費，以及在 Amazon S3 中存放 AMI 的費用。  | 
| AMI 建立/綁定 | 使用單一命令/呼叫 | 需要安裝和使用 AMI 工具 | 

\$1 根據預設，EBS 根磁碟區會將 `DeleteOnTermination` 標記設定為 `true`。如需如何變更此標記，以便在終止之後持續保存磁碟區的資訊，請參閱 [在 Amazon EC2 執行個體終止後保留 Amazon EBS 根磁碟區](configure-root-volume-delete-on-termination.md)。

\$1\$1 僅支援 `io2` EBS Block Express。如需詳細資訊，請參閱「Amazon EBS 使用者指南」**中的[佈建 IOPS SSD Block Express 磁碟區](https://docs.aws.amazon.com/ebs/latest/userguide/provisioned-iops.html#io2-block-express)。

# 依據 AMI 確定的根磁碟區類型
<a name="display-ami-root-device-type"></a>

您用來啟動 EC2 執行個體的 AMI 決定了根磁碟區的類型。EC2 執行個體的根磁碟區為 EBS 磁碟區或執行個體儲存體磁碟區。

[基於 Nitro 的執行個體](instance-types.md#instance-hypervisor-type)僅支援 EBS 根磁碟區。僅下面的上一代執行個體類型是支援執行個體儲存體根磁碟區的執行個體類型：C1、C3、D2、I2、M1、M2、M3、R3 和 X1。

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

**確定依據 AMI 決定的根磁碟區類型**

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

1. 在導覽窗格中，選取 **AMIs**，然後選取 AMI。

1. 在 **Details** (詳細資訊) 索引標籤中，檢查 **Root device type** (根設備類型) 的值，如下所示：
   + `ebs` – 透過此 AMI 啟動的執行個體會獲得 EBS 根磁碟區
   + `instance store` – 透過此 AMI 啟動的執行個體會獲得執行個體儲存體根磁碟區。

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

**確定依據 AMI 決定的根磁碟區類型**  
使用 [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) 命令。

```
aws ec2 describe-images \
    --image-ids ami-0abcdef1234567890 \
    --query Images[].RootDeviceType
```

以下為範例輸出。

```
ebs
```

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

**確定依據 AMI 決定的根磁碟區類型**  
使用 [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html) cmdlet。

```
(Get-EC2Image `
    -ImageId ami-0abcdef1234567890).RootDeviceType.Value
```

以下為範例輸出。

```
ebs
```

------

## 虛擬化類型
<a name="virtualization_types"></a>

Amazon Machine Image 會使用兩種虛擬化類型的其中之一：全虛擬化 (PV) 或硬體虛擬機器 (HVM)。PV 和 HVM AMI 之間的主要區別在於開機的方式以及是否可以利用特殊的硬體延伸 (CPU、網路和儲存) 來獲得更好的效能。Windows AMI 為 HVM AMI。

下表比較 HVM 和 PV AMI。


| 特性 | HVM | PV | 
| --- | --- | --- | 
| 描述 | 透過執行映像之根區塊型儲存設備的主開機記錄，HVM AMI 會以完全虛擬化的一組硬體呈現並開機。這種虛擬化類型提供在沒有任何修改的情況下直接在虛擬機器上執行作業系統之能力，就像執行在裸機硬體上一樣。Amazon EC2 主機系統模擬提供給訪客部分或全部底層硬體。 | PV AMIs 使用稱為 PV-GRUB 的特殊開機載入器開機，該開機載入器會啟動開機週期，然後將 menu.lst 檔案中指定的核心載入映像中。全虛擬化訪客可以在不明確支援虛擬化的主機硬體上執行。如需 Amazon EC2 中 PV-GRUB 及其用途的詳細資訊，請參閱[使用者提供的核心](https://docs.aws.amazon.com/linux/al2/ug/UserProvidedKernels.html)。 | 
| 支援的執行個體類型 | 所有目前世代的執行個體類型都支援 HVM AMI。 | 下列的前代執行個體類型支援 PV AMI：C1、C3、M1、M3、M2 和 T1。最新一代執行個體類型不支援 PV AMI。 | 
| 硬體延伸支援 | HVM 訪客可以利用硬體延伸來快速存取主機系統上的底層硬體。其需使用增強型網路和 GPU 處理。為了將指令傳遞給專用網路和 GPU 裝置，作業系統必須能夠存取本地硬體平台；HVM 虛擬化提供此存取。如需詳細資訊，請參閱[增強 Amazon EC2 執行個體的聯網能力](enhanced-networking.md)。 | 不支援，它們無法利用特殊的硬體延伸，例如增強聯網或 GPU 處理。 | 
| [如何尋找](finding-an-ami.md) | 使用主控台或 [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) 命令來確認 AMI 的虛擬化類型已設定為 hvm。 | 使用主控台或 [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) 命令來確認 AMI 的虛擬化類型已設定為 paravirtual。 | 

**HVM 上的 PV**  
全虛擬化訪客傳統上在儲存和網路操作效能上較 HVM 訪客更佳，因為他們可以利用特殊的 I/O 驅動程式避免模擬網路和硬碟硬體的成本，而 HVM 訪客必須將這些指令轉換為模擬硬體。現在，PV 驅動程式可用於 HVM 訪客，因此無法移植到全虛擬化環境中執行的作業系統，仍然可以藉此在儲存體和網路 I/O 中看到效能優勢。使用 HVM 驅動程式上的這些 PV，HVM 訪客可以取得與全虛擬化訪客相同或更佳的效能。