Amazon EC2 執行個體根設備磁碟區 - Amazon Elastic Compute Cloud

Amazon EC2 執行個體根設備磁碟區

啟動執行個體時,根設備磁碟區內含用來啟動執行個體的映像。在 Amazon EC2 的介紹中,所有 AMI 均以 Amazon EC2 執行個體存放區為後端,這表示自 AMI 所啟動之執行個體的根設備,係從 Amazon S3 內存放的範本所建立的執行個體儲存體磁碟區。介紹過 Amazon EBS 後,我們介紹了以 Amazon EBS 為後端的 AMI。這表示自 AMI 所啟動之執行個體的根設備,係從 Amazon EBS 快照所建立的 Amazon EBS 磁碟區。

您可選擇由 Amazon EC2 執行個體存放區或以 Amazon EBS 為後端的 AMI。建議您使用以 Amazon EBS 為後端的 AMI,因其啟動較快速且採用持久性儲存。

重要
  • 只有下列執行個體類型支援執行個體儲存磁碟區做為根裝置:C3、D2、G2、I2、M3 和 R3。

  • st1sc1 磁碟區不能當作根磁碟區。

如需 Amazon EC2 用於您根磁碟區的裝置名稱之詳細資訊,請參閱 Linux 執行個體上的設備名稱

根設備儲存概念

您可選擇啟動執行個體後端 AMI 或 Amazon EBS 後端 AMI。AMI 的描述包含 AMI 的類型;而根設備有時稱為 ebs (表示為 Amazon EBS 後端),有時則稱為 instance store (表示為執行個體後端)。這點十分重要,因為這兩種 AMI 的用途有極大差異。如需這些差異的詳細資訊,請參閱 根設備儲存

執行個體存放區後端的執行個體

針對根設備使用執行個體存放區的執行個體,自動具備一個或多個可用的執行個體存放區磁碟區,其中一個磁碟區即用來做為根設備磁碟區。執行個體啟動時,用於啟動執行個體的映像會複製到根磁碟區。請注意,您可根據執行個體類型選擇使用其他執行個體存放區磁碟區。

只要執行個體持續運作,執行個體存放區磁碟區上的資料就會永久保存,但若執行個體被終止 (執行個體後端執行個體不支援 Stop (停止) 動作) 或故障 (如底層磁碟區出現問題),這些資料就會被刪除。


     Amazon EC2 執行個體後端執行個體上的根設備

執行個體後端執行個體故障或終止後,將無法還原。若您計畫使用 Amazon EC2 執行個體後端執行個體,我們強烈建議您將執行個體存放區上的資料分散至多個可用區域。您也應將執行個體存放區磁碟區上的重要資料,定期備份為持久性儲存。

如需詳細資訊,請參閱 Amazon EC2 執行個體存放區

Amazon EBS 後端執行個體

使用 Amazon EBS 做為根設備的執行個體會自動連接 Amazon EBS 磁碟區。啟動 Amazon EBS 後端執行個體時,我們會為您使用的 AMI 所參考的各個 Amazon EBS 快照,建立 Amazon EBS 磁碟區。您可根據執行個體類型選擇使用其他 Amazon EBS 磁碟區或執行個體存放區磁碟區。


      Amazon EBS 後端執行個體的根設備磁碟區和其他 Amazon EBS 磁碟區

停止後的 Amazon EBS 後端執行個體可在稍後重新啟動,不會影響連接磁碟區內存放的資料。Amazon EBS 支援的執行個體處於停止狀態時,您仍可執行多種執行個體和磁碟區的相關任務。例如,您可修改執行個體的屬性、變更其大小、更新其正使用的核心,或者您可將根磁碟區連接至另一個運作中執行個體以進行除錯或其他用途。

若 Amazon EBS 後端執行個體故障,您可採取下列方法之一來還原工作階段:

  • 停止然後再次啟動 (請先嘗試此方法)。

  • 自動拍攝所有相關磁碟區的快照,並建立新的 AMI。如需詳細資訊,請參閱 建立 Amazon EBS 後端的 Linux AMI

  • 採取下列步驟將磁碟區連接至新的執行個體:

    1. 建立根磁碟區的快照。

    2. 使用快照註冊新的 AMI。

    3. 從新的 AMI 啟動新的執行個體。

    4. 將剩餘的 Amazon EBS 磁碟區自舊的執行個體分離。

    5. 將 Amazon EBS 磁碟區重新連接至新的執行個體。

如需詳細資訊,請參閱 Amazon EBS 磁碟區

依據根設備類型選擇 AMI

您啟動執行個體時指定的 AMI,會判定您的執行個體所擁有的根設備磁碟區類型。您可以使用下列其中一種方法,依根裝置類型檢視 AMI。

Console
使用主控台選擇 Amazon EBS 後端 AMI
  1. 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 AMIs (AMI)。

  3. 在篩選條件清單中,選取映像類型 (如 Public images (公有映像))。在搜尋列選取 Platform (平台) 以選取作業系統 (如 Amazon Linux),並選取 Root Device Type (根設備類型) 以選取 EBS images (EBS 映像)

  4. (選用) 如需其他資訊幫助您選擇,請選擇 Show/Hide Columns (顯示/隱藏欄) 圖示,更新欲顯示的欄位,然後選擇 Close (關閉)

  5. 選擇 AMI 並寫下其 AMI ID。

使用主控台選擇執行個體後端 AMI
  1. 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 AMIs (AMI)。

  3. 在篩選條件清單中,選取映像類型 (如 Public images (公有映像))。在搜尋列選取 Platform (平台) 以選取作業系統 (如 Amazon Linux),並選取 Root Device Type (根設備類型) 以選取 Instance store (執行個體存放區)

  4. (選用) 如需其他資訊幫助您選擇,請選擇 Show/Hide Columns (顯示/隱藏欄) 圖示,更新欲顯示的欄位,然後選擇 Close (關閉)

  5. 選擇 AMI 並寫下其 AMI ID。

AWS CLI
使用命令列驗證 AMI 根設備磁碟區的類型

您可以使用下列其中一個命令。如需關於這些命令列介面的詳細資訊,請參閱 存取 Amazon EC2

判定您執行個體的根設備類型

Console
使用主控台判定執行個體的根設備類型
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選取 Instances (執行個體),然後選取該執行個體。

  3. Storage (儲存體) 標籤的 Root device details (根裝置詳細資訊) 下,檢查 Root device type (根裝置類型) 的值,如下所示:

    • 若該值為 EBS,則此為 Amazon EBS 後端執行個體。

    • 若該值為 INSTANCE-STORE,則此為執行個體後端執行個體。

AWS CLI
使用命令列判定執行個體的根設備類型

您可以使用下列其中一個命令。如需關於這些命令列介面的詳細資訊,請參閱 存取 Amazon EC2

將根磁碟區變更為持續存在

根據預設,執行個體終止時,以 Amazon EBS 為後端的 AMI 根磁碟區將被刪除。您可以變更預設行為,以確保在執行個體終止後磁碟區持續存在。若要變更此預設行為,請使用區塊型設備映射將 DeleteOnTermination 屬性設定為 false

將根磁碟區設定為執行個體啟動期間持續存在

您可以將根磁碟區設定為使用 Amazon EC2 主控台或命令列工具啟動執行個體時持續存在。

Console
將根磁碟區設定為您使用主控台啟動執行個體時持續存在
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 Instances (執行個體),然後選擇 Launch instances (啟動執行個體)

  3. Choose an Amazon Machine Image (AMI) (選取 Amazon Machine Image (AMI)) 頁面中選取欲使用的 AMI,然後選取 Select (選取)

  4. 遵循精靈的指示,來完成 Choose an Instance Type (選擇執行個體類型)Configure Instance Details (設定執行個體的詳細資訊) 頁面上的操作。

  5. Add Storage (新增儲存) 頁面,取消選取根磁碟區的 Delete On Termination (在終止時刪除)

  6. 完成剩餘的精靈頁面,然後選擇 Launch (啟動)

AWS CLI
將根磁碟區設定為您使用 AWS CLI 啟動執行個體時持續存在

使用 run-instances 命令,並包括將 DeleteOnTermination 屬性設定為 false 的區塊型設備映射。

$ aws ec2 run-instances --block-device-mappings file://mapping.json ...other parameters...

mapping.json 中指定下列內容。

[ { "DeviceName": "/dev/sda1", "Ebs": { "DeleteOnTermination": false } } ]
Tools for Windows PowerShell
將根磁碟區設定為您使用 Tools for Windows PowerShell 啟動執行個體時持續存在

使用 New-EC2Instance 命令,並包括將 DeleteOnTermination 屬性設定為 false 的區塊型設備映射。

C:\> $ebs = New-Object Amazon.EC2.Model.EbsBlockDevice C:\> $ebs.DeleteOnTermination = $false C:\> $bdm = New-Object Amazon.EC2.Model.BlockDeviceMapping C:\> $bdm.DeviceName = "dev/xvda" C:\> $bdm.Ebs = $ebs C:\> New-EC2Instance -ImageId ami-0abcdef1234567890 -BlockDeviceMapping $bdm ...other parameters...

將根磁碟區設定為若為現有執行個體則持續存在

您只能使用命令列工具,將根磁碟區設定為若執行個體執行中則持續存在。

AWS CLI
使用 AWS CLI 將根磁碟區設定為若為現有執行個體則持續存在

使用 modify-instance-attribute 命令,搭配將 DeleteOnTermination 屬性設定為 false 的區塊型設備映射。

aws ec2 modify-instance-attribute --instance-id i-1234567890abcdef0 --block-device-mappings file://mapping.json

mapping.json 中指定下列內容。

[ { "DeviceName": "/dev/xvda", "Ebs": { "DeleteOnTermination": false } } ]
Tools for Windows PowerShell
使用 AWS Tools for Windows PowerShell 將根磁碟區設定為若為現有執行個體則持續存在

使用 Edit-EC2InstanceAttribute 命令,搭配將 DeleteOnTermination 屬性設定為 false 的區塊型設備映射。

C:\> $ebs = New-Object Amazon.EC2.Model.EbsInstanceBlockDeviceSpecification C:\> $ebs.DeleteOnTermination = $false C:\> $bdm = New-Object Amazon.EC2.Model.InstanceBlockDeviceMappingSpecification C:\> $bdm.DeviceName = "/dev/xvda" C:\> $bdm.Ebs = $ebs C:\> Edit-EC2InstanceAttribute -InstanceId i-1234567890abcdef0 -BlockDeviceMapping $bdm

確認根磁碟區已設定為持續存在

您可以使用 Amazon EC2 主控台或命令列工具,來確認根磁碟區已設定為持續存在。

Console
使用 Amazon EC2 主控台來確認根磁碟區已設定為持續存在
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選取 Instances (執行個體),然後選取執行個體。

  3. Storage (儲存體) 標籤的 Block devices (區塊型裝置) 下,找出根磁碟區的項目。如果 Delete on termination (終止時刪除)No,則磁碟區會設定為持續存在。

AWS CLI
使用 AWS CLI 確認根磁碟區已設定為持續存在

使用 describe-instance 命令,並驗證 DeleteOnTermination 回應元素中的 BlockDeviceMappings 屬性是否已設定為 false

$ aws ec2 describe-instances --instance-id i-1234567890abcdef0
... "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "Status": "attached", "DeleteOnTermination": false, "VolumeId": "vol-1234567890abcdef0", "AttachTime": "2013-07-19T02:42:39.000Z" } } ...
Tools for Windows PowerShell
使用 AWS Tools for Windows PowerShell 確認根磁碟區已設定為持續存在

使用 Get-EC2Instance 命令,並驗證 DeleteOnTermination 回應元素中的 BlockDeviceMappings 屬性是否已設定為 false

C:\> (Get-EC2Instance -InstanceId i-i-1234567890abcdef0).Instances.BlockDeviceMappings.Ebs

變更根磁碟區的初始大小

根據預設,根磁碟區的大小取決於快照的大小。您可以使用執行個體的區塊型裝置映射來增加根磁碟區的初始大小,如下所示。

  1. 確定 AMI 中指定根磁碟區的裝置名稱,如 檢視 AMI 區塊型儲存裝置對應的 EBS 磁碟區 中所述。

  2. 確認 AMI 區塊型裝置映射中指定的快照大小,如 檢視 Amazon EBS 快照資訊 中所述。

  3. 使用執行個體區塊型裝置映射覆寫根磁碟區的大小,如 啟動執行個體時更新區塊型儲存裝置對應 中所述,指定大於快照大小的磁碟區大小。

例如,執行個體區塊型裝置映射的下列項目會將 /dev/xvda 根磁碟區的大小增加為 100 GiB。您可以在執行個體區塊型裝置映射中省略快照 ID,因為快照 ID 已經在 AMI 區塊型裝置映射中指定。

{ "DeviceName": "/dev/xvda", "Ebs": { "VolumeSize": 100 } }

如需詳細資訊,請參閱 區塊型儲存設備對應