Назад | Перейти на главную страницу

Если я выключу инстанс Amazon EC2, а затем снова запущу, все будет в порядке?

У меня есть веб-сайт, работающий на экземпляре Amazon EC2 на базе Linux и сопоставленный с обычным доменным именем (x.com). Этот сайт обращается к базе данных на втором экземпляре EC2.

Мне нужно выключить этот экземпляр и увеличить вычислительную мощность, стоящую за ним ... если я сделаю это, сколько времени это займет, а затем, когда я снова включу машину, мой сайт просто вернется в сеть? Будет ли сохранен IP-адрес, информация DNS и т. Д., Чтобы доменное имя продолжало работать, и оно все еще могло взаимодействовать с БД?

К вашему сведению, это то, что я сейчас вижу для веб-сервера на информационной панели AWS EC2 (точные IP-адреса немного изменились, но вы поняли):

Public DNS: ec2-54-1-1-1.us-west-1.compute.amazonaws.com
Private DNS: ip-10-1-1-1.us-west-1.compute.internal
Private IPs: 10.1.1.1

Остановка и запуск загрузочного экземпляра EBS очень похожи на простую перезагрузку экземпляра с некоторыми исключениями, наиболее заметными из которых являются:

  1. Экземпляру назначается новый внутренний IP-адрес.

  2. Экземпляру назначается новый общедоступный IP-адрес.

  3. Если экземпляр не входит в VPC, то любой эластичный IP-адрес не связан с экземпляром.

  4. Все данные об эфемерном хранилище (часто в / mnt) теряются

Есть также некоторые последствия для выставления счетов и доступности, которые я описал в этой статье:

Перезагрузка и остановка / запуск инстанса Amazon EC2
http://alestic.com/2011/09/ec2-reboot-stop-start

Экземпляры VPC имеют немного другое поведение, включая сохранение эластичных IP-адресов посредством остановки / запуска.

Если вы используете экземпляр в качестве сервера базы данных и хотите подключиться к нему, используя внутренний IP-адрес (дешевле, быстрее), и вы не хотите перенастраивать клиентов базы данных после остановки / запуска, вы можете назначить эластичный IP-адрес экземпляра и использование внешнего DNS-имени эластичного IP-адреса. Это будет преобразовано в текущий внутренний IP-адрес после того, как вы повторно свяжете эластичный IP-адрес с перезапущенным экземпляром, и ваши клиенты продолжат работу с того места, где они остановились.

Я подробно расскажу об этом подходе в этой статье:

Использование эластичного IP-адреса для идентификации внутренних инстансов в Amazon EC2
http://alestic.com/2009/06/ec2-elastic-ip-internal

Как вы и ожидали, остановка / запуск - это простой способ изменить оборудование, питающее ваш экземпляр. Я написал об этом вместе с некоторыми инструкциями и предупреждениями в этой статье:

Перемещение инстанса EC2 в инстанс большего (или меньшего) типа
http://alestic.com/2011/02/ec2-change-type

Для вашей конкретной ситуации я бы рекомендовал назначить экземпляру эластичный IP-адрес и изменить ваш DNS так, чтобы он указывал на эластичный IP-адрес, используя CNAME для внешнего имени DNS. Вы можете сделать это сразу после остановки / запуска, или вы можете сделать это заранее, убедившись, что все работает до остановки / запуска.

Итак, похоже, вы не используете Elastic IP, как я вижу из вашей информации.

Я считаю, что вы должны использовать CNAME в DNS, чтобы указать на этот экземпляр. Если вы перезапустите компьютер, тогда это ec2-54-1-1-1.us-west-1.compute.amazonaws.com DNS-имя изменится, и ваш сайт перестанет работать.

Что касается внутреннего IP-адреса, он также изменится, если вы не используете VPC, а это не так.

Итак, на вашем месте я был бы очень осторожен при перезапуске этой Машины.

Что касается времени, это не займет больше пары минут.

Кроме того, если у вас есть какие-либо iptables, запущенные в экземпляре БД, который позволяет только этому внутреннему IP-адресу подключаться к БД, тогда он также не будет работать, поскольку ваш внутренний IP-адрес изменится.

Итак, будьте осторожны, если хотите перезапустить этот экземпляр, и тщательно обдумайте это.

Ваш внутренний IP-адрес / имя хоста изменится, и ваш эластичный IP-адрес будет отключен (если вы не используете VPC).

Повторно подключите эластичный IP-адрес после перезапуска экземпляра. Я регулярно делаю это, чтобы изменить размеры инстансов, а вы видите всего пару минут простоя.

Убедитесь, что Apache и все другие службы настроены на запуск (chkconfig если вы используете amazon linux ami).

Насколько я помню, остановка системы, меняющая ее тип и запускающая ее снова, не должна занимать более 5-10 минут (не сказано, что это система с поддержкой EBS). Чтобы службы запускались после восстановления системы, убедитесь, что у вас включены все службы, которые запускаются при перезагрузке (например, для марионетки в моем ubuntu 12.04, у меня она включена в / etc / default / puppet). Запишите IP-адрес (я сделал это давно, поэтому не помню четко), и самое большее, что ваш IP-адрес может быть отключен от системы, но он все равно будет в вашей учетной записи, поэтому перейдите в раздел Elastic IP и снова свяжите его с перезапустил систему, и все будет в порядке.

Как уже упоминалось, если у вас есть эластичный IP-адрес, он будет повторно подключаться к экземпляру, поэтому ваши настройки DNS не нужно изменять. Однако так или иначе ваш частный IP-адрес изменится. Скорее всего, это будет означать, что вам нужно обновить настройки GRANT в mysql. Потому что ты не просто GRANT ALL PRIVILEGES ON *.* to 'somedude'@'%' ... право? ;)