为实例启用休眠 - Amazon Elastic Compute Cloud

为实例启用休眠

要使实例休眠,您必须在启动实例时先为其启用休眠。

重要

启动实例后,无法为实例启用或禁用休眠。

Console

使用控制台启用休眠

  1. 按照使用旧的启动实例向导启动实例过程操作。

  2. 选择一个 Amazon Machine Image (AMI) 页面上,选择一个支持休眠的 AMI。有关支持的 AMI 的更多信息,请参阅休眠先决条件

  3. 选择一个实例类型页面上,选择一种支持的实例类型,然后选择下一步:配置实例详细信息。有关支持的实例类型的信息,请参阅休眠先决条件

  4. 配置实例详细信息页面上,对于 Stop - Hibernate Behavior (停止 - 休眠操作),选中 Enable hibernation as an additional stop behavior (启用休眠作为额外的停止操作) 复选框。

  5. 添加存储页面上,为根卷指定以下信息:

    • 大小 (GiB) 中,输入 EBS 根卷大小。卷必须足够大,以存储 RAM 内容并满足您的预期使用量。

    • 对于 Volume Type (卷类型),选择支持的 EBS 卷类型、通用型 SSD(gp2gp3)或预置 IOPS SSD(io1io2)。

    • 对于加密,请选择卷的加密密钥。如果您在此 AWS 区域中启用了默认加密,则会选择默认加密密钥。

    有关根卷先决条件的更多信息,请参阅休眠先决条件

  6. 根据向导的提示继续。检查完核查实例启动页面上的选项后,选择启动。有关更多信息,请参阅使用旧的启动实例向导启动实例

AWS CLI

使用 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

 

New console

查看是否已使用控制台为实例启用休眠

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择实例

  3. 选择所需实例,然后在详细信息选项卡上的实例详细信息部分中检查停止 – 休眠操作已启用 表明已为实例启用休眠。

Old console

查看是否已使用控制台为实例启用休眠

  1. 通过以下网址打开 Amazon EC2 控制台:https://console.aws.amazon.com/ec2/

  2. 在导航窗格中,选择实例

  3. 选择实例,在详细信息窗格中,检查 Stop - Hibernation behavior (停止 - 休眠操作)已启用 表明已为实例启用休眠。

AWS CLI

查看是否已使用 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"}

输出会列出已启用休眠的 EC2 实例。