我在存储阶段遇到了问题。它显示:要使用休眠功能,请加密根目录卷。
但是我无法勾选加密复选框,也找不到任何加密根目录卷的方法。
我在存储阶段遇到了问题。它显示:要使用休眠功能,请加密根目录卷。
但是我无法勾选加密复选框,也找不到任何加密根目录卷的方法。
更新 2020-03
自下面的帖子以来,很多事情已经发生了变化,休眠现在非常容易。加密可以在AWS控制台中的正常ec2创建流程中完成,Amazon Linux 2也得到支持。
你需要知道的所有内容:
原帖:
最终我卡在了许多阶段,官方文档有些欠缺,所以我想记录一下我的发现:
要休眠一个实例,它必须是类型C3、 C4、 C5、 M3、 M4、 M5、 R3、 R4或R5。此外,它需要是Amazon Linux 1 AMI(这可能已过时,请参见此处获取最新列表)。我使用了Linux 2 AMI,并没有收到任何警告,直到最后它根本不起作用(仅在/var/log/messages中显示Suspend key pressed.
和Requested operation not supported, ignoring.
),即使他们建议的启用休眠的步骤也不起作用,因为Amazon Linux 2上没有可用的ec2-hibinit-agent
。
休眠需要引导卷进行加密。为了实现这一点,您需要在启动启动向导之前加密AWS Linux 1 AMI:
ami-0cfbf4f6db41068ac
eu-central-1
、ami
和kms
密钥替换为您自己的)
aws ec2 copy-image --source-region eu-central-1 --source-image-id ami-0cfbf4f6db41068ac \
--region eu-central-1 --name "LinuxAMIEncrypted" --encrypted \
--kms-key-id arn:aws:kms:eu-central-1:123412341234:key/aaaaaaaa-1234-abce-abcd-1234abcdef01
等待几分钟直到你在EC2 -> AMIs中看到新的AMI出现
AMIs
(Amazon机器映像)中启动你的新AMIEnable hibernation as an additional stop behavior
开启休眠功能测试方法:
tail -f /var/log/messages
命令以检查错误aws ec2 stop-instances --instance-ids "i-…" --hibernate
命令进行休眠,也可以通过AWS控制台进行操作此外,我在 /var/log/messages
中发现了以下错误:
Agent hibernate - AccessDeniedException: User: arn:… is not authorized to perform: ssm:UpdateInstanceInformation on resource: ssm:UpdateInstanceInformation
。我需要附加 AmazonEC2RoleforSSM
和 AmazonSSMAutomationRole
来解决这些错误。
2022年的可视化指南
首先,查看AWS休眠前提条件,了解休眠要求,特别注意操作系统、RAM容量(小于150GB)和支持的实例族。
为启用休眠,需要在根卷上分配空间以存储实例内存(RAM)。确保根卷足够大,能够存储RAM内容并满足您的预期使用需求,例如操作系统、应用程序等。要使用休眠,根卷必须是加密的EBS卷
在启动实例向导(创建新EC2实例时的向导)中,展开存储(卷)和EBS卷部分
注意以下属性:
然后滚动到高级详细信息部分,选择启用的停止 - 休眠行为选项
然后继续创建实例