Não sou especialista em redes e estou com dificuldades tentando configurar o dimensionamento automático para um aplicativo da Web.
Eu tenho um servidor - podemos chamá-lo de mestre - (fora do grupo de escalonamento automático) que eu uso para a fila memcache e beanstalkd. Eu também quero usar este servidor para fazer uma sincronização de código-fonte usando o rsync.
Eu quero que meu servidor do grupo de escalonamento automático seja capaz de executar ssh neste servidor mestre para executar um rsync e garantir que a AMI tenha a versão mais recente do aplicativo.
Eu quero realizar essa sincronização quando o alarme de aumento de escala for acionado e uma nova instância for iniciada. Eu li que eu tenho que user --user-data-file para executar o script na primeira vez que o servidor é inicializado.
Portanto, esta é toda a informação que tenho no momento. Configurei minha política de "configuração de lançamento", "grupo de escalonamento automático", "escalar para cima" e "reduzir escala" e ambos os alertas para acionar essa política.
Estou usando uma AMI customizada (privada) baseada na AMI pública do Centos 6. Quando uma nova instância do grupo de dimensionamento automático é iniciada, tenho a impressão de que o script bootstrap.sh não é executado. Aqui está a minha configuração de lançamento:
as-create-launch-config --image-id <PRIVATE_AMI> --instance-type m1.medium --key master --group webserver-security-group --user-data-file /home/user/bin/bootstrap.sh --launch-config my-lc-1
Aqui está o conteúdo de /home/user/bin/bootstrap.sh:
#!/bin/bash
set -e -x
# Start the workers
/var/www/user/bin/start.sh
Então, meu primeiro problema é que não tenho ideia do motivo de esse script não ser executado.
O segundo problema que tenho é que não tenho certeza de como permitir a conexão SSH com o servidor "mestre", sabendo que a instância está mudando ao aumentar ou diminuir a escala.
A ajuda seria muito apreciada;)
Maxime