为 Amazon EC2 实例启用休眠
要使实例休眠,您必须在启动实例时先为其启用休眠。
重要
启动实例后,无法为实例启用或禁用休眠。
为按需型实例启用休眠
使用以下方法之一为您的按需型实例启用休眠。
- Console
-
要为按需型实例启用休眠
-
按照步骤启动实例,但请在完成以下步骤以启用休眠之后再启动实例。
-
若要启用休眠,请在启动实例向导中配置以下字段:
-
在应用程序和操作系统映像(Amazon 机器映像)下,选择支持休眠的 AMI。有关更多信息,请参阅 AMI。
-
在 Instance type(实例类型)下,选择一个受支持的实例类型。有关更多信息,请参阅 实例系列。
-
在 Configure storage(配置存储)下,选择右侧的 Advanced(高级),并为根卷指定以下信息:
-
在大小 (GiB) 中,输入 EBS 根卷大小。卷必须足够大,以存储 RAM 内容并满足您的预期使用量。
-
对于 Volume Type(卷类型),选择支持的 EBS 卷类型:通用型 SSD(
gp2
和gp3
)或预调配 IOPS SSD(io1
和io2
)。 -
对于 Encrypted(已加密),选择 Yes(是)。如果您在此 Amazon 区域中启用了默认加密,则系统会选择 Yes(是)。
-
对于 KMS key(KMS 密钥),请选择卷的加密密钥。如果您在此 Amazon 区域中启用了默认加密,则会选择默认加密密钥。
有关根卷先决条件的更多信息,请参阅Amazon EC2 实例休眠的先决条件。
-
-
展开 Advanced details(高级详细信息),找到 Stop - Hibernate behavior(停止 – 休眠行为),然后选择 Enable(启用)。
-
-
在 Summary(摘要)面板中查看实例配置,然后选择 Launch instance(启动实例)。有关更多信息,请参阅 使用控制台中的启动实例向导来启动 EC2 实例。
-
- Amazon CLI
-
要为按需型实例启用休眠
使用 run-instances 命令启动实例。使用
--block-device-mappings file://mapping.json
参数指定 EBS 根卷参数,并使用--hibernation-options Configured=true
参数启用休眠。aws ec2 run-instances \ --image-id
ami-0abcdef1234567890
\ --instance-typem5.large
\ --block-device-mappings file://mapping
.json \ --hibernation-options Configured=true \ --count1
\ --key-nameMyKeyPair
在
mapping.json
中指定以下内容。[ { "DeviceName": "
/dev/xvda
", "Ebs": { "VolumeSize":30
, "VolumeType": "gp2
", "Encrypted": true } } ]注意
DeviceName
的值必须匹配与 AMI 关联的根设备名称。要查找根设备名称,请使用 describe-images 命令。aws ec2 describe-images --image-id ami-
0abcdef1234567890
如果您在此 Amazon 区域中启用了默认加密,则可以省略
"Encrypted": true
。 - PowerShell
-
要使用 Amazon 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
` -InstanceTypem5.large
` -BlockDeviceMappings $ebs_encrypt ` -HibernationOptions_Configured $true ` -MinCount1
` -MaxCount1
` -KeyNameMyKeyPair
注意
DeviceName
的值必须匹配与 AMI 关联的根设备名称。要查找根设备名称,请使用 Get-EC2Image 命令。Get-EC2Image -ImageId ami-
0abcdef1234567890
如果您在此 Amazon 区域中启用了默认加密,则可以在块储存设备映射中省略
Encrypted = $true
。
为竞价型实例启用休眠
使用以下方法之一为您的竞价型实例启用休眠。有关在中断时休眠竞价型实例的更多信息,请参阅 竞价型实例中断。
- Console
-
您可以使用 Amazon EC2 控制台中的启动实例向导为竞价型实例启用休眠。
要为竞价型实例启用休眠
-
请遵循使用启动实例向导请求竞价型实例的过程操作,但请在完成以下步骤启用休眠之后再启动实例。
-
若要启用休眠,请在启动实例向导中配置以下字段:
-
在应用程序和操作系统映像(Amazon 机器映像)下,选择支持休眠的 AMI。有关更多信息,请参阅 AMI。
-
在 Instance type(实例类型)下,选择一个受支持的实例类型。有关更多信息,请参阅 实例系列。
-
在 Configure storage(配置存储)下,选择右侧的 Advanced(高级),并为根卷指定以下信息:
-
在大小 (GiB) 中,输入 EBS 根卷大小。卷必须足够大,以存储 RAM 内容并满足您的预期使用量。
-
对于 Volume Type(卷类型),选择支持的 EBS 卷类型:通用型 SSD(
gp2
和gp3
)或预调配 IOPS SSD(io1
和io2
)。 -
对于 Encrypted(已加密),选择 Yes(是)。如果您在此 Amazon 区域中启用了默认加密,则系统会选择 Yes(是)。
-
对于 KMS key(KMS 密钥),请选择卷的加密密钥。如果您在此 Amazon 区域中启用了默认加密,则会选择默认加密密钥。
有关根卷先决条件的更多信息,请参阅Amazon EC2 实例休眠的先决条件。
-
-
展开高级详细信息,除了用于配置竞价型实例的字段外,还要执行以下操作:
-
对于请求类型,选择持续。
-
对于中断行为,选择休眠。或者,对于停止 - 休眠行为,选择启用。这两个字段都可以在竞价型实例上启用休眠。您只需要配置其中一个。
-
-
-
在 Summary(摘要)面板中查看实例配置,然后选择 Launch instance(启动实例)。有关更多信息,请参阅 使用控制台中的启动实例向导来启动 EC2 实例。
-
- Amazon CLI
-
您可以使用 run-instances Amazon CLI 命令为竞价型实例启用休眠。
要使用
hibernation-options
参数为竞价型实例启用休眠使用 run-instances 命令请求竞价型实例。使用
--block-device-mappings file://mapping.json
参数指定 EBS 根卷参数,并使用--hibernation-options Configured=true
参数启用休眠。竞价型实例请求类型(SpotInstanceType
)必须为persistent
。aws ec2 run-instances \ --image-id
ami-0abcdef1234567890
\ --instance-typec4.xlarge
\ --block-device-mappings file://mapping
.json \ --hibernation-options Configured=true \ --count1
\ --key-nameMyKeyPair
--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
如果您在此 Amazon 区域中启用了默认加密,则可以省略
"Encrypted": true
。 - PowerShell
-
要使用 Amazon 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
` -InstanceTypem5.large
` -BlockDeviceMappings $ebs_encrypt ` -HibernationOptions_Configured $true ` -MinCount1
` -MaxCount1
` -KeyNameMyKeyPair
` -InstanceMarketOption @( MarketType = spot; SpotOptions @{ MaxPrice =1
; SpotInstanceType = persistent} )注意
DeviceName
的值必须匹配与 AMI 关联的根设备名称。要查找根设备名称,请使用 Get-EC2Image 命令。Get-EC2Image -ImageId ami-
0abcdef1234567890
如果您在此 Amazon 区域中启用了默认加密,则可以在块储存设备映射中省略
Encrypted = $true
。
查看实例是否已启用休眠
使用以下说明查看是否已为实例启用休眠。
- Console
-
查看实例是否启用休眠
通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/
。 -
在导航窗格中,选择实例。
-
选择所需实例,然后在详细信息选项卡上的实例详细信息部分中检查停止 – 休眠操作。已启用 表明已为实例启用休眠。
- Amazon 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
-
查看是否已使用 Amazon Tools for Windows PowerShell 为实例启用休眠
使用 Get-EC2Instance 命令并指定
-Filter @{ Name="hibernation-options.configured"; Value="true"}
参数以筛选启用了休眠的实例。(Get-EC2Instance -Filter @{Name="hibernation-options.configured"; Value="true"}).Instances
输出会列出已启用休眠的 EC2 实例。