啟用 Amazon EC2 執行個體的休眠 - Amazon Elastic Compute Cloud

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

啟用 Amazon EC2 執行個體的休眠

若要讓執行個體休眠,必須在啟動執行個體時先為其啟用休眠。

重要

啟動執行個體之後,就不能對它啟用或停用休眠。

為隨需執行個體啟用休眠功能

使用下列任一種方法為隨需執行個體啟用休眠功能。

New console
為隨需執行個體啟用休眠功能
  1. 遵循程序啟動執行個體,但在完成下列步驟以啟用休眠之前,請勿啟動執行個體。

  2. 若要啟用休眠功能,請在啟動執行個體精靈中設定下列欄位:

    1. Application and OS Images (Amazon Machine Image) (應用程式和作業系統映像 (Amazon Machine Image)) 中,選取支援休眠的 AMI。如需詳細資訊,請參閱 AMI

    2. Instance type (執行個體類型) 中,選取支援的執行個體類型。如需詳細資訊,請參閱 例證族群

    3. Configure storage (設定儲存) 中,選擇 Advanced (進階) (在右側),並指定根磁碟區的下列資訊:

      • 針對 Size (GiB) (大小 (GiB)),輸入 EBS 根磁碟區大小。磁碟區必須夠大,才能存放 RAM 內容並容納您預期的使用量。

      • 針對 Volume type (磁碟區類型),選取支援的 EBS 磁碟區類型:一般用途 SSD (gp2gp3) 或佈建 IOPS SSD (io1io2)。

      • 針對 Encrypted (加密),選擇 Yes (是)。如果您在此 AWS 區域中預設啟用加密,則會選取 [是]

      • 針對 KMS key (KMS 金鑰),選取磁碟區的加密金鑰。如果您在此 AWS 區域中預設啟用加密,則會選取預設加密金鑰。

      如需根磁碟區必要條件的詳細資訊,請參閱亞馬遜 EC2 執行個體休眠的先決條件

    4. 展開 Advanced details (進階詳細資訊),針對 Stop - Hibernate behavior (停止 - 休眠行為),選擇 Enable (啟用)。

  3. Summary (摘要) 面板中,檢閱您的執行個體組態,然後選擇 Launch instance (啟動執行個體)。如需詳細資訊,請參閱 使用新的啟動執行個體精靈啟動執行個體

Old console
為隨需執行個體啟用休眠功能
  1. 遵循使用舊版啟動執行個體精靈啟動執行個體程序。

  2. Choose an Amazon Machine Image (AMI) (選取 Amazon Machine Images (AMI)) 頁面上,選取支援休眠的 AMI。如需支援的 AMI 詳細資訊,請參閱亞馬遜 EC2 執行個體休眠的先決條件

  3. Choose an Instance Type (選取執行個體類型) 頁面上,選取支援的執行個體類型,然後選取 Next: Configure Instance Details (下一步:設定執行個體詳細資訊)。如需支援的執行個體類型資訊,請參閱亞馬遜 EC2 執行個體休眠的先決條件

  4. Configure Instance Details (設定執行個體詳細資訊) 頁面上,針對 Stop - Hibernate Behavior (停止 – 休眠行為),選取 Enable hibernation as an additional stop behavior (啟用休眠做為額外的停止行為) 核取方塊。

  5. Add Storage (新增儲存) 頁面上,請為根磁碟區指定下列資訊:

    • 針對 Size (GiB) (大小 (GiB)),輸入 EBS 根磁碟區大小。磁碟區必須夠大,才能存放 RAM 內容並容納您預期的使用量。

    • 針對 Volume Type (磁碟區類型),選取支援的 EBS 磁碟區類型,一般用途 SSD (gp2gp3) 或佈建 IOPS SSD (io1io2)。

    • 針對 Encryption (加密),選取磁碟區的加密金鑰。如果您在此 AWS 區域中預設啟用加密,則會選取預設加密金鑰。

    如需根磁碟區必要條件的詳細資訊,請參閱亞馬遜 EC2 執行個體休眠的先決條件

  6. 依精靈提示繼續作業。檢閱完您在 Review Instance Launch (檢閱執行個體啟動) 頁面的選項後,請選擇 Launch (啟動)。如需詳細資訊,請參閱 使用舊版啟動執行個體精靈啟動執行個體

AWS CLI
為隨需執行個體啟用休眠功能

使用 run-instances 命令來啟動執行個體。使用 --block-device-mappings file://mapping.json 參數指定 EBS 根磁碟區參數,然後使用 --hibernation-options Configured=true 參數啟用休眠。

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type m5.large \ --block-device-mappings file://mapping.json \ --hibernation-options Configured=true \ --count 1 \ --key-name MyKeyPair

mapping.json 中指定下列內容。

[ { "DeviceName": "/dev/xvda", "Ebs": { "VolumeSize": 30, "VolumeType": "gp2", "Encrypted": true } } ]
注意

DeviceName 的值必須符合與 AMI 相關聯的根設備名稱。若要尋找根設備名稱,請使用 describe-images 命令。

aws ec2 describe-images --image-id ami-0abcdef1234567890

如果您在此 AWS 區域中預設啟用加密,則可以省略"Encrypted": true

PowerShell
若要啟用隨需執行個體的休眠,請使用 AWS Tools for Windows PowerShell

使用指New-EC2Instance令啟動執行個體。先定義區塊型設備映射,然後使用 -BlockDeviceMappings 參數將其新增至命令,以指定 EBS 根磁碟區。使用 -HibernationOptions_Configured $true 參數啟用休眠。

PS C:\> $ebs_encrypt = New-Object Amazon.EC2.Model.BlockDeviceMapping PS C:\> $ebs_encrypt.DeviceName = "/dev/xvda" PS C:\> $ebs_encrypt.Ebs = New-Object Amazon.EC2.Model.EbsBlockDevice PS C:\> $ebs_encrypt.Ebs.VolumeSize = 30 PS C:\> $ebs_encrypt.Ebs.VolumeType = "gp2" PS C:\> $ebs_encrypt.Ebs.Encrypted = $true PS C:\> New-EC2Instance ` -ImageId ami-0abcdef1234567890 ` -InstanceType m5.large ` -BlockDeviceMappings $ebs_encrypt ` -HibernationOptions_Configured $true ` -MinCount 1 ` -MaxCount 1 ` -KeyName MyKeyPair
注意

DeviceName 的值必須符合與 AMI 相關聯的根設備名稱。若要尋找根裝置名稱,請使用Get-EC2Image指令。

Get-EC2Image -ImageId ami-0abcdef1234567890

如果您在此 AWS 區域中預設啟用加密功能,則可以Encrypted = $true從區塊裝置對應中省略。

為 Spot 執行個體啟用休眠功能

使用下列任一種方法為 Spot 執行個體啟用休眠功能。如需中斷時讓 Spot 執行個體休眠的詳細資訊,請參閱 Spot 執行個體中斷

Console

您可以使用 Amazon EC2 主控台中的啟動執行個體精靈,為 Spot 執行個體啟用休眠功能。

為 Spot 執行個體啟用休眠功能
  1. 遵循程序使用啟動執行個體精靈要求 Spot 執行個體,但在完成下列步驟以啟用休眠之前,請勿啟動執行個體。

  2. 若要啟用休眠功能,請在啟動執行個體精靈中設定下列欄位:

    1. Application and OS Images (Amazon Machine Image) (應用程式和作業系統映像 (Amazon Machine Image)) 中,選取支援休眠的 AMI。如需詳細資訊,請參閱 AMI

    2. Instance type (執行個體類型) 中,選取支援的執行個體類型。如需詳細資訊,請參閱 例證族群

    3. Configure storage (設定儲存) 中,選擇 Advanced (進階) (在右側),並指定根磁碟區的下列資訊:

      • 針對 Size (GiB) (大小 (GiB)),輸入 EBS 根磁碟區大小。磁碟區必須夠大,才能存放 RAM 內容並容納您預期的使用量。

      • 針對 Volume type (磁碟區類型),選取支援的 EBS 磁碟區類型:一般用途 SSD (gp2gp3) 或佈建 IOPS SSD (io1io2)。

      • 針對 Encrypted (加密),選擇 Yes (是)。如果您在此 AWS 區域中預設啟用加密,則會選取 [是]

      • 針對 KMS key (KMS 金鑰),選取磁碟區的加密金鑰。如果您在此 AWS 區域中預設啟用加密,則會選取預設加密金鑰。

      如需根磁碟區必要條件的詳細資訊,請參閱亞馬遜 EC2 執行個體休眠的先決條件

    4. 展開進階詳細資訊,除了用於設定 Spot 執行個體的欄位之外,請執行下列操作:

      1. 對於要求類型,請選擇持續

      2. 對於中斷行為,請選擇休眠。或者,對於停止 - 休眠行為,請選擇啟用。這兩個欄位都能在 Spot 執行個體上啟用休眠。您只須設定其中之一。

  3. Summary (摘要) 面板中,檢閱您的執行個體組態,然後選擇 Launch instance (啟動執行個體)。如需詳細資訊,請參閱 使用新的啟動執行個體精靈啟動執行個體

AWS CLI

您可以使用 run-instances AWS CLI 命令,為 Spot 執行個體啟用休眠功能。

使用 hibernation-options 參數為 Spot 執行個體啟用休眠功能

使用 run-instances 命令要求 Spot 執行個體。使用 --block-device-mappings file://mapping.json 參數指定 EBS 根磁碟區參數,然後使用 --hibernation-options Configured=true 參數啟用休眠。Spot 要求類型 (SpotInstanceType) 必須是 persistent

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type c4.xlarge \ --block-device-mappings file://mapping.json \ --hibernation-options Configured=true \ --count 1 \ --key-name MyKeyPair --instance-market-options { "MarketType":"spot", "SpotOptions":{ "MaxPrice":"1", "SpotInstanceType":"persistent" } }

mapping.json 中指定 EBS 根磁碟區參數,如下所示。

[ { "DeviceName": "/dev/xvda", "Ebs": { "VolumeSize": 30, "VolumeType": "gp2", "Encrypted": true } } ]
注意

DeviceName 的值必須符合與 AMI 相關聯的根設備名稱。若要尋找根設備名稱,請使用 describe-images 命令。

aws ec2 describe-images --image-id ami-0abcdef1234567890

如果您在此 AWS 區域中預設啟用加密,則可以省略"Encrypted": true

PowerShell
若要啟用 Spot 執行個體的休眠,請使用 AWS Tools for Windows PowerShell

使用命New-EC2Instance令要求 Spot 執行個體。先定義區塊型設備映射,然後使用 -BlockDeviceMappings 參數將其新增至命令,以指定 EBS 根磁碟區。使用 -HibernationOptions_Configured $true 參數啟用休眠。

PS C:\> $ebs_encrypt = New-Object Amazon.EC2.Model.BlockDeviceMapping PS C:\> $ebs_encrypt.DeviceName = "/dev/xvda" PS C:\> $ebs_encrypt.Ebs = New-Object Amazon.EC2.Model.EbsBlockDevice PS C:\> $ebs_encrypt.Ebs.VolumeSize = 30 PS C:\> $ebs_encrypt.Ebs.VolumeType = "gp2" PS C:\> $ebs_encrypt.Ebs.Encrypted = $true PS C:\> New-EC2Instance ` -ImageId ami-0abcdef1234567890 ` -InstanceType m5.large ` -BlockDeviceMappings $ebs_encrypt ` -HibernationOptions_Configured $true ` -MinCount 1 ` -MaxCount 1 ` -KeyName MyKeyPair ` -InstanceMarketOption @( MarketType = spot; SpotOptions @{ MaxPrice = 1; SpotInstanceType = persistent} )
注意

DeviceName 的值必須符合與 AMI 相關聯的根設備名稱。若要尋找根裝置名稱,請使用Get-EC2Image指令。

Get-EC2Image -ImageId ami-0abcdef1234567890

如果您在此 AWS 區域中預設啟用加密功能,則可以Encrypted = $true從區塊裝置對應中省略。

您可以透過多種方式讓 Spot 執行個體休眠。如需詳細資訊,請參閱 指定中斷行為

檢視執行個體是否已啟用休眠

透過下列說明來檢視執行個體是否已啟用休眠。

Console
檢視執行個體是否已啟用休眠
  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

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

  3. 選取執行個體,然後在 Instance details (執行個體詳細資訊) 區段的 Details (詳細資料) 標籤上,檢查 Stop-hibernate behavior (停止休眠行為)Enabled (啟用) 表示執行個體已啟用休眠。

AWS CLI
檢視執行個體是否已啟用休眠

使用 describe-instances 命令,並指定 --filters "Name=hibernation-options.configured,Values=true" 參數來篩選已啟用休眠的執行個體。

aws ec2 describe-instances \ --filters "Name=hibernation-options.configured,Values=true"

輸出中的下列欄位表示執行個體已啟用休眠。

"HibernationOptions": { "Configured": true }
PowerShell
使用 AWS Tools for Windows PowerShell來檢視執行個體是否已啟用休眠

使用命Get-EC2Instance令並指定-Filter @{ Name="hibernation-options.configured"; Value="true"}參數來篩選啟用休眠的執行個體。

(Get-EC2Instance -Filter @{Name="hibernation-options.configured"; Value="true"}).Instances

輸出會列出已啟用休眠的 EC2 執行個體。