Como configurar o nome do host em uma instância do AWS ec2 para um valor exclusivo em um grupo de escala automática?

6

Eu queria descobrir qual é a melhor prática de configurar o nome do host de uma instância do Ec2 que está em um grupo de escala automática.

Estou procurando um método que seja

  • geralmente aceitável no mundo sysadmin / devops.
  • Não traz surpresas quando novas operações são realizadas.
  • permite definir um nome de host / nome de máquina exclusivo para que, no monitoramento, eu tenha um recurso exclusivo para monitorar

A abordagem atual que eu estava procurando era - passar o nome do host desejado como parte dos dados do usuário em um formato de inicialização em nuvem no AWS - use o cloud init para sufixar o nome do host com o ID da instância atual por meio do cmd de inicialização

bootcmd:
    - "HOSTNAME_PREFIX='{{ app_id }}'"
    - "REGION_NAME='/usr/bin/curl -s http://169.254.169.254/latest/meta-data/instance-id'"
    - "INSTANCE_ID='/usr/bin/curl -s http://169.254.169.254/latest/meta-data/instance-id'"
    - "echo $HOSTNAME_PREFIX'-'$INSTANCE_ID > /etc/hostname; hostname -F /etc/hostname"

Isso é especialmente importante quando em grupos de dimensionamento automático, quando instâncias podem ser criadas dinamicamente. Embora devamos tratar os servidores como gado, acho que um nome de host exclusivo ajuda a identificar melhor os servidores. Existe uma abordagem melhor para isso?

    
por MechaStorm 12.02.2015 / 03:06

1 resposta

3

Isso é mais ou menos a abordagem que eu tomo. Faz muito sentido incluir o ID da instância no nome do host, pois isso torna muito fácil identificar e associar servidores em execução a instâncias no console da Web ou a outros comandos da API.

Is there a better approach to this?

Qual é a sua definição de "melhor"?

Se funcionar para você, basta ir com ele. Os IDs das instâncias têm a garantia de serem exclusivos em uma conta, e você já tem uma solução usando esses códigos, por isso parece que está tudo pronto.

    
por 12.02.2015 / 03:15