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

Самый простой способ показать страницу обслуживания во время простоя инстанса EC2

Мне нужно выполнить некоторое обслуживание, которое связано с простоями моего рабочего сервера EC2. Тем временем я хотел бы обслуживать некоторую удобную для пользователя страницу обслуживания.

Самое простое решение, которое мне удалось придумать, - это взять какой-нибудь минималистичный AMI экземпляра Micro, настроить там статическую страницу и связать наш общедоступный эластичный IP-адрес с этим экземпляром во время обслуживания.

Вопросы следующие:

(1) Есть ли более простой способ (т.е. обслуживать статическую страницу из s3 без необходимости в экземпляре EC2)? [обратите внимание, что мне не нужны задержки кеширования DNS, я предпочитаю немедленное переключение, как с ec2-associate-address]

(2) Если нет более простого способа, с какого AMI начать (чтобы он мог работать на микроэкземпляре и предпочтительно загружался из EBS, чтобы его можно было легко сохранить)?


Обновить:

Для записи вот решение, которое я использовал:

  1. Создать микро-экземпляр из любого ami, найденного на http://alestic.com/
  2. Установите nginx: sudo aptitude install nginx
  3. Теперь вы можете запустить / остановить / перезапустить его, используя sudo /etc/init.d/nginx start/stop/restart
  4. Отредактируйте файл конфигурации Nginx sudo pico /etc/nginx/nginx.conf
  5. Вместо include /etc/... В строке вставьте следующее:
server {   root        /var/www/nginx-default;

  location / {
       if (-f $document_root/error503.html) {
            return 503;
       }   }

 # error 503 redirect to error503.html
    error_page 503 @maintenance;
    location @maintenance {
          rewrite ^(.*)$ /error503.html break;
    }
  1. Создайте страницу (папка уже должна существовать) /var/www/nginx-default/error503.html и удалите /var/www/nginx-default/index.html.
  2. Запустить / перезапустить Nginx sudo /etc/init.d/nginx start
  3. Теперь все готово, и вы можете использовать ec2-associate-address YOUR-IP -i YOUR-INSTANCE-ID чтобы сопоставить ваш общедоступный IP-адрес между производственным сервером и этим экземпляром, обслуживающим страницу обслуживания.

Единственный самый быстрый способ - это тот, о котором вы уже упоминали, создать небольшой файл ami и разместить на нем статическую страницу обслуживания, присоединив к нему эластичный IP-адрес. Не существует жесткого правила, определяющего, какой AMI следует использовать в этом сценарии. Любой микроэкземпляр Debian / RHEL / Ubuntu подойдет.

Я предполагаю, что если у вас уже есть второй экземпляр Amazon EC2, вам нужно только перенаправить эластичный IP-адрес, прикрепленный к целевому экземпляру, и подключить его ко второй виртуальной машине только на время простоя. Новый виртуальный хост с правилом перенаправления, которое улавливает все запросы к этой странице обслуживания, должен помочь.