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

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

啟用 Amazon EC2 執行個體的休眠功能

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

重要

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

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

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

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

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

    1. 應用程式和作業系統映像 (Amazon 機器映像) 下,選取AMI支援休眠的。如需詳細資訊,請參閱AMIs

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

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

      • 大小 (GiB) 中,輸入EBS根磁碟區大小。體積必須足夠大,才能存儲RAM內容並適應您的預期使用情況。

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

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

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

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

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

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

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

使用 run-instances 命令來啟動執行個體。使用參數指定EBS根磁碟區參--block-device-mappings file://mapping.json數,並使用參--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. 應用程式和作業系統映像 (Amazon 機器映像) 下,選取AMI支援休眠的。如需詳細資訊,請參閱AMIs

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

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

      • 大小 (GiB) 中,輸入EBS根磁碟區大小。體積必須足夠大,才能存儲RAM內容並適應您的預期使用情況。

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

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

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

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

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

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

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

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

AWS CLI

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

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

使用 run-instances 命令要求 Spot 執行個體。使用參數指定EBS根磁碟區參--block-device-mappings file://mapping.json數,並使用參--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" } }

在中指定EBS根磁碟區參數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
若要啟用 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從區塊裝置對應中省略。

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

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

Console
檢視執行個體是否已啟用休眠
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/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執行個體。