Как создать экземпляр ec2, который можно перевести в спящий режим? - PullRequest
0 голосов
/ 20 февраля 2019

Я застрял в стадии хранения.Там написано: To use hibernation, encrypt the root volume..Но я не могу установить флажок шифрования, и я не нашел способа зашифровать корневой том.

1 Ответ

0 голосов
/ 20 февраля 2019

В конце концов, я застрял на многих этапах , официальной документации почему-то не хватает, поэтому я решил документировать свои выводы:

Чтобы перевести экземпляр в спящий режим, он долженбыть типа C3, C4, C5, M3, M4, M5, R3, R4 или R5 .Кроме того, это должен быть Amazon Linux 1 AMI (это может быть устаревшим, см. здесь для получения обновленного списка).Я начал с Linux 2 AMI и не получил никакого предупреждения, пока он просто не работал в конце (показывал только Suspend key pressed., Requested operation not supported, ignoring. в / var / log / messages), даже их предлагаемые шагидля включения гибернации не работал, так как ec2-hibinit-agent не является доступным пакетом в Amazon Linux 2.

Гибернация требует, чтобы загрузочный том был зашифрован.Для этого необходимо зашифровать AWS Linux 1 AMI перед запуском мастера запуска :

  1. создать ключ KMS с помощью консоли AWS
  2. найдите ami id, если в вашем регионе AWS Linux 1 (не 2!), например, с помощью мастера запуска ec2.В моем случае (eu-central-1) это было ami-0cfbf4f6db41068ac
  3. создать свой собственный, зашифрованный ami (замените 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

Подождите несколько минут, пока не увидите новый AMI, отображаемый в EC2 -> AMI

  1. С AMIs (в консоли AWS EC2)запустите ваш новый AMI
  2. выберите C3, C4, C5, M3, M4, M5, R3, R4 или R5
  3. нажмите Enable hibernation as an additional stop behavior

Чтобы проверить его:

  • запустите tail -f /var/log/messages на экземпляре ec2 для проверки ошибок
  • запустите 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, чтобы эти ошибки исчезли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...