Aparentemente, eu estava sendo cego. A API da AWS para instâncias do EC2 lista o endereço IP quando é emitido o comando describe-instances
.
Estamos trabalhando na configuração de um serviço da Web autoescalonável na AWS. Um dos nossos requisitos é que podemos recarregar a configuração do servidor web via SSH. Normalmente, isso não é muito difícil, pois é apenas uma questão de executar
ssh user@webserver "service apache2 reload"
O problema é que, quando você dimensiona automaticamente os servidores da Web, não sabe quantos servidores estão ativos e, mais importante, quais são os endereços IP. Portanto, precisamos de uma maneira de obter uma lista de endereços IP atualmente gerados no grupo de escalonamento automático.
Eu verifiquei o comando describe-auto-scaling-instances
do AWS CLI, mas isso só me dá os IDs das instâncias. AFAIK, não há como obter o IP associado a esse ID.
Eu tentei pesquisar nas documentações da API da AWS por pistas, mas sem sucesso.
Existe alguém aqui que sabe de uma maneira limpa de fazer isso? A alternativa seria que os servidores fizessem check-in em um servidor central quando inicializassem, e verificassem quando desatravam. No entanto, isso é propenso a erros e requer um servidor central que não é altamente disponível e, francamente, um pouco de desperdício para usar apenas para esse propósito ...
Aparentemente, eu estava sendo cego. A API da AWS para instâncias do EC2 lista o endereço IP quando é emitido o comando describe-instances
.