Да, вы должны иметь возможность использовать уведомление о прекращении для запуска создания AMI.Процесс создания AMI не будет препятствовать завершению экземпляра, но завершение экземпляра не должно влиять на уже созданное AMI.
Однако я бы рекомендовал вам сделать , а не сделайте это.
Вместо этого вы должны создать архитектуру приложения, которая не заботится о сбое.Вместо того, чтобы пытаться сохранить содержимое экземпляра, вы должны кодировать систему для успешной работы, даже если экземпляр завершен.
Лучший способ сделать это - сохранить все данные и состояние , внешнее дляэкземпляр , например, в базе данных Amazon S3 или в очереди Amazon SQS.Затем, если экземпляр завершается и позднее запускается снова, он может возобновить свое состояние и продолжить работу с последней «точки сохранения».
Это очень похоже на ситуацию, когда компьютер теряет питание.При следующем включении он должен иметь возможность снова успешно запускаться, восстанавливать то, что он делал, и продолжать работать.
Итак, постарайтесь избежать мысли «старого мира» о сохранении всего на диске.Вместо этого храните данные где-нибудь, чтобы пережить сбой или завершение экземпляра.
Кроме того, создание AMI также делает копию всей операционной системы и установки приложения.Это несколько излишне для простого восстановления состояния приложения и данных.Во что бы то ни стало запустите экземпляр из AMI со всем установленным, но не рассматривайте AMI как «резервные копии» - скорее это золотых образов , которые содержат все необходимое для запуска или установки приложения.