Причины подобных проблем, как правило, зависят от особенностей внутренней конфигурации инстанса. Процедура восстановления инстанса, который перестал отвечать на запросы, зависит от типа инстанса (на основе EBS или хранилища инстансов).

Сначала изучите информацию, которую инстанс выводит в консоль, чтобы определить, почему перезагрузка повлияла на инстанс. Иногда информации, выведенной в консоль, достаточно, чтобы определить причину ошибки инстанса.

При работе в Консоли управления AWS требуется сделать следующее.

  1. Выберите нужный инстанс.
  2. Для просмотра связанной информации в меню «Instance Actions» выберите пункт «View System Log».

Если вы используете инструменты API Amazon EC2,

  1. выполните команду ec2-get-console-output.

Если по информации, выведенной в консоль, не удается определить причину зависания, ознакомьтесь с приведенным ниже описанием двух типов инстансов.


Инстансы на основе хранилища инстансов

Восстановление инстанса

Если инстанс, запущенный из образа AMI с корневым устройством на базе хранилища инстансов, не загружается, единственным выходом является запуск нового инстанса. После внесения любых изменений рекомендуется каждый раз создавать пакет пользовательского AMI с резервной копией рабочей конфигурации инстанса. Если вы запускаете инстанс из образа AMI, который в процессе загрузки загружает скрипты, вы можете попробовать изменить скрипты, чтобы исправить ошибки, выведенные в консоли.

Восстановление данных

Чаще всего восстановить данные в хранилище инстансов невозможно. В некоторых случаях служба поддержки AWS Support может восстановить часть данных при условии, что работа инстанса не была завершена и базовое оборудование в порядке. Процесс восстановления данных не гарантирует положительного результата и может занять несколько дней, поэтому не следует полагаться на восстановление данных службой поддержки AWS Support как на основную стратегию резервного копирования.


Инстансы на основе томов EBS

Прежде чем пытаться восстановить инстанс на основе тома EBS, необходимо выяснить, используете ли вы предварительно подключенное хранилище инстансов (также называемое краткосрочным хранилищем), которое доступно для такого типа инстансов. Это принципиально важная информация, так как при осуществлении описанных ниже действий данные предварительно подключенного хранилища будут утеряны. Если вы используете хранилище инстансов, обратитесь к приведенному выше разделу за дополнительной информацией о возможности восстановления данных, сохраненных в предварительно подключенном хранилище инстансов.

Восстановление инстанса

Если корневое устройство вашего инстанса является томом EBS, перезапуск инстанса, как правило, помогает разрешить проблему. Дополнительную информацию см. в разделе Остановка и запуск инстанса.

Иногда ошибки корневого тома для некорректно загружающегося инстанса на основе EBS можно исправить вручную. Ручное исправление ошибок является сложным процессом и не рекомендуется для пользователей, не обладающих опытом системного администрирования. Примеры действий, которые пользователи предпринимают на основе анализа данных консоли после ошибки инстанса, включают выполнение команды fsck на соответствующем томе, отключение модуля SELinux и исправление ошибок в файле fstab.

Для остановки и повторного запуска инстанса выполните следующие действия.

  1. Остановите инстанс, который не удается запустить (не выключайте инстанс и не прерывайте его работу).
  2. Открепите корневой том EBS.
  3. Подключите том к существующему инстансу в той же зоне доступности, при этом необходимо использовать второстепенную точку подключения (отличную от корневого каталога).
  4. Исправьте конфигурацию на прежнем корневом томе.
  5. Открепите том и подключите его к первоначальному инстансу в первоначальной точке подключения.
  6. Запустите инстанс.
  7. При необходимости заново присвойте эластичный IP-адрес.

Включение и выключение операций ввода-вывода

В некоторых случаях для тома EBS могут быть отключены операции ввода-вывода (в качестве меры предосторожности). В этом случае выполните следующие действия.

  1. Перейдите к томам EBS с помощью консоли управления. Если для тома выключены операции ввода-вывода, в списке «Volume» столбец «Status Checks» будет содержать значение «Impaired».
  2. Операции ввода-вывода можно включить с помощью консоли. Для этого нажмите «Enable Volume IO» в разделе информации о томе.
  3. Рекомендуется проверить при этом целостность данных с помощью утилиты fsck или chkdsk.
  4. В некоторых операционных системах возобновление операций ввода/вывода помогает решить проблему, когда инстанс не отвечает.

Восстановление данных

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

  1. Остановите инстанс, который не удается запустить (не выключайте инстанс и не прерывайте его работу).
  2. Открепите корневой том EBS.
  3. Подключите том к новому замещающему инстансу (желательно, чтобы он был запущен из предыдущего пакета AMI) в той же зоне доступности, но используя второстепенную точку подключения (отличную от корневого каталога).
  4. Скопируйте данные тома в замещающий инстанс.

Дополнительные ресурсы

Для клиентов, желающих улучшить архитектуру своих систем, освоить рекомендации и предотвратить возможные проблемы, доступен ряд ресурсов.

  1. Дополнительную информацию о том, как построить архитектуру системы с учетом возможных проблем в работе инстанса, см. в документе «Разработка отказоустойчивого приложения» в техническом описании облака AWS.
  2. Рекомендуется всегда создавать пакет настраиваемого AMI с резервной копией рабочей конфигурации инстанса.
  3. Руководство пользователя по Amazon EC2 содержит PDF-документ с описанием основных понятий отказоустойчивого приложения.

Инстансы обычно зависают в состоянии остановки из-за проблем с базовым хостом. Эту проблему можно решить принудительной остановкой инстанса. Для этого воспользуйтесь инструментами командной строки EC2 или Консолью управления AWS.

Инструменты командной строки

ec2-stop-instances [ваш идентификатор] --force

Консоль управления AWS

Щелкните правой кнопкой мыши свой инстанс и в выпадающем меню выберите «Stop» (должно отобразиться предупреждение о том, что будет выполнена принудительная остановка).

Примечание. В обоих случаях может потребоваться повторное выполнение принудительной остановки.

Если не удается принудительно остановить инстанс, попробуйте запустить замещающий инстанс. Дополнительную информацию см. в статье Устранение проблем с остановкой инстанса. Если это не помогает, сообщите нам о своей проблеме на форуме AWS или создайте заявку в AWS Support. Для ускорения решения вашей проблемы сообщите службе поддержки о действиях, которые вы уже попытались предпринять.

Инстансы, находящиеся в состоянии «выключение» дольше, чем обычно, со временем автоматически удаляются внутренними процессами сервиса Amazon EC2. Плата за время, в течение которого инстанс не находится в состоянии «выполняется», не взимается.

Если вы не можете дождаться завершения работы инстанса, сообщите нам о своей проблеме на форуме AWS или создайте заявку в AWS Support. Для ускорения решения вашей проблемы сообщите службе поддержки о действиях, которые вы уже попытались предпринять.