A maneira mais fácil de mostrar a página Manutenção durante a inatividade da instância do EC2

7

Eu preciso realizar alguma manutenção, o que envolve tempos de inatividade do meu servidor de produção do EC2. Eu gostaria de servir uma página de manutenção amigável, entretanto.

A solução mais fácil, eu consegui criar, é pegar uma AMI microinstância minimalista, configurar a página estática e associar nosso IP elástico público a essa instância durante a manutenção.

As perguntas são:

(1) Existe uma maneira mais fácil (ou seja, para servir alguma página estática de s3, sem necessidade de instância EC2)? [por favor, note que eu não quero nenhum atraso de caching de dns, eu prefiro trocar imediatamente como ec2-associate-address]

(2) Se não houver uma maneira mais fácil, com qual AMI começar (para que ele possa rodar em micro instância e, de preferência, inicializar a partir do EBS, de modo que possa ser facilmente persistido)?

Atualização:

Para o registro, aqui está a solução que usei:

  1. Crie micro instância de qualquer ami encontrada no link
  2. Instale o nginx: sudo aptitude install nginx
  3. Agora você pode iniciar / interromper / reiniciar usando sudo /etc/init.d/nginx start/stop/restart
  4. Editar o arquivo de configuração do Nginx sudo pico /etc/nginx/nginx.conf
  5. Em vez da coluna include /etc/... , cole o seguinte:
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. Crie a página (a pasta já deve existir) /var/www/nginx-default/error503.html e remova o /var/www/nginx-default/index.html .
  2. Iniciar / Reiniciar Nginx sudo /etc/init.d/nginx start
  3. Agora você terminou e pode usar ec2-associate-address YOUR-IP -i YOUR-INSTANCE-ID para mapear seu IP público entre o servidor de produção e essa instância de veiculação da página de manutenção.
por Michal 08.12.2011 / 10:17

2 respostas

9

A única maneira mais rápida é aquela que você já mencionou, que cria uma pequena ami e hospeda uma página de manutenção estática nela, anexando IP elástico a ela. Não há regra rígida e rápida de qual AMI deve ser usada neste cenário. Qualquer micro instância do Debian / RHEL / Ubuntu funcionaria bem.

    
por 08.12.2011 / 10:51
1

Eu suponho que, se você já tiver uma segunda instância do Amazon EC2, só será necessário redirecionar o Elastic IP anexado à instância de destino e anexá-lo à segunda VM apenas pelo tempo de inatividade. Um novo vhost com uma regra de redirecionamento que capture todos os pedidos para esta página de manutenção deve ser suficiente.

    
por 12.04.2013 / 09:11