Я заметил этот звонок ec2.rebootInstances
на инстансе Amazon EC2 было намного быстрее, чем его остановить и запустить заново (ec2.stopInstances ec2.startInstances
).
Он также сохранил IP-адрес экземпляра (у меня нет эластичного IP-адреса). Чем отличается ec2.rebootInstance от остановки и запуска экземпляра?
Когда вы останавливаете загрузочный экземпляр EBS, вы отказываетесь от физического оборудования (или его части), на котором работал сервер, и EC2 может запустить там чужой экземпляр.
Ваш загрузочный том EBS (и другие подключенные тома EBS) по-прежнему сохраняются, хотя на самом деле они не привязаны к физическому или виртуальному серверу. Они просто связаны с идентификатором экземпляра, который нигде не работает.
Когда вы снова запускаете экземпляр, EC2 выбирает какое-то оборудование для его запуска, связывает том (ы) EBS и снова загружает его с корневого тома.
Вещи, которые меняются при остановке / запуске, включают:
Новый внутренний IP-адрес (хотя может случайно совпадать).
Новый внешний IP-адрес (хотя может случайно совпадать).
Если эластичный IP-адрес был связан с экземпляром до его остановки, вам необходимо повторно связать его после запуска.
Все содержимое бывшего эфемерного хранилища экземпляра было удалено, и вам предоставляется новое эфемерное хранилище.
Вы можете оставить инстанс остановленным на столько, сколько захотите, и не платить за время работы (хотя вы получаете гораздо меньшую плату за хранилище томов EBS). Смотрите следующий пункт.
При повторном запуске экземпляра начинается новый расчетный час. Например, если вы запустите новый экземпляр, а затем остановите / запустите его 3 раза в течение первых 60 минут, с вас будет взиматься плата за 4 часа вместо 1.
Существует небольшая вероятность того, что EC2 не будет иметь доступных слотов правильного типа инстанса для запуска вашего экземпляра, когда вы захотите запустить его снова. У меня это случилось, и я временно переключился на другой доступный тип экземпляра, чтобы снова запустить его.
Когда вы перезагружаетесь, это простая перезагрузка на уровне ОС, и экземпляр продолжает работать на том же оборудовании, с теми же частными и общедоступными IP-адресами, сохраняет тот же эластичный IP-адрес (если он связан) и сохраняет то же временное хранилище, не получая протереть. При перезагрузке новый расчетный час не начинается, и вы не отказываетесь от оборудования экземпляра.
Пока экземпляр остановлен, вы можете сделать несколько интересных вещей, прежде чем запускать его снова. Вот статья, которую я написал об изменении типа экземпляра экземпляра, когда он остановлен:
Перемещение экземпляра EC2 в больший размер
http://alestic.com/2011/02/ec2-change-type
Вот статья, которую я написал о том, как изменить размер загрузочного диска EBS экземпляра, когда он остановлен:
Изменение размера корневого диска на запущенном экземпляре EBS Boot EC2
http://alestic.com/2010/02/ec2-resize-running-ebs-root
Вот статья, которую я написал о том, как проверить корневой диск экземпляра (когда он остановлен), когда вы не можете подключиться к нему во время его работы:
Исправление файлов на корневом томе EBS экземпляра EC2
http://alestic.com/2011/02/ec2-fix-ebs-root
Поскольку цикл остановки / запуска имеет хорошие шансы перенести ваш экземпляр на новое оборудование, это простой способ заменить оборудование вашего экземпляра, если вы подозреваете, что текущая платформа может выйти из строя и вызвать проблемы. Вот статья, которую я написал об этом:
Более простой способ заменить оборудование экземпляра на EC2
http://alestic.com/2011/02/ec2-move-hardware