Самый простой способ показать страницу обслуживания во время простоя экземпляра EC2
Мне нужно выполнить техническое обслуживание, которое связано с простоями моего рабочего сервера EC2. В то же время, я бы хотел предоставить вам удобную страницу обслуживания.
Самым простым решением, которое мне удалось найти, является получение минималистичного AMI экземпляра Micro, установка там статической страницы и привязка нашего общего эластичного IP-адреса к этому экземпляру во время обслуживания.
Вопросы:
(1) Есть ли более простой способ (т. Е. Обслуживать некоторую статическую страницу из s3, без необходимости в экземпляре EC2)? [обратите внимание, что я не хочу никаких задержек кэширования DNS, я предпочитаю немедленное переключение как с ec2-associate-address]
(2) Если нет более простого способа, с какого AMI начинать (чтобы он мог работать на микроэкземпляре и предпочтительно загружался с EBS, чтобы его можно было легко сохранить)?
Обновить:
Для справки, вот решение, которое я использовал:
- Создайте микро-экземпляр из любой ами, найденной на http://alestic.com/
- Установите nginx:
sudo aptitude install nginx
- Теперь вы можете запустить / остановить / перезапустить его, используя
sudo /etc/init.d/nginx start/stop/restart
- Отредактируйте файл конфигурации Nginx
sudo pico /etc/nginx/nginx.conf
- Вместо
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; }
- Создать страницу (папка уже должна существовать)
/var/www/nginx-default/error503.html
и удалите/var/www/nginx-default/index.html
, - Запустить / Перезапустить Nginx
sudo /etc/init.d/nginx start
- Теперь вы сделали, и вы могли бы использовать
ec2-associate-address YOUR-IP -i YOUR-INSTANCE-ID
для сопоставления вашего общедоступного IP-адреса между рабочим сервером и данным экземпляром страницы обслуживания.
2 ответа
Единственный самый быстрый способ - это тот, который вы уже упомянули, - создать небольшой ami и разместить на нем статическую страницу обслуживания, прикрепив к ней эластичный IP. Не существует жесткого и быстрого правила, согласно которому AMI следует использовать в этом сценарии. Любой микро экземпляр Debian/RHEL/Ubuntu будет работать нормально.
Я предполагаю, что если у вас уже есть второй экземпляр Amazon EC2, вам нужно только перенаправить Elastic IP, подключенный к целевому экземпляру, и подключить его ко второй виртуальной машине только для простоя. Новый vhost с правилом перенаправления, который перехватывает все запросы к этой странице обслуживания, должен сделать свое дело.