Come ottengo un elenco di server e il loro DNS pubblico con Amazon EC2

Ho un gruppo di istanze EC2 in un gruppo di sicurezza. Sto cercando un modo per get un elenco dei loro indirizzi DNS pubblici dalla row di command. Ho uno script che utilizza RSYNC per assicurarsi che un insieme di file venga aggiornato su questi server. Sono in un elastico bilanciatore di carico e la quantità di server nel gruppo cambia abbastanza che non voglio avere a mantenere l'elenco a mano. Voglio evitare di utilizzare AWK o SED per estrarre informazioni dalle istanze descritte da ec2, preferirei utilizzare direttamente l'API. Qualcuno ha dei grandi suggerimenti? 🙂

  • Qual è la differenza tra tipi di virtualizzazione PV e HVM in ec2?
  • Connessione a SQL Server su EC2 | Elastico IP vs Elastico IP Public DNS
  • Secondo ENI in AWS VPC non è accessibile nell'istanza di Ubuntu
  • Hosting di un server scritto in C ++
  • Come creare una nuova istanza di amazon ec2 con disco rigido da 30 GB?
  • Come faccio a puntare il mio nome di dominio sul mio indirizzo IP Elastic di Amazon EC2?
  • 3 Solutions collect form web for “Come ottengo un elenco di server e il loro DNS pubblico con Amazon EC2”

    Il formato di output della row di command è abbastanza statico e puoi controllare quando potrebbe essere cambiato perché il toolkit è il tuo corpo. Conservo una copia degli strumenti api in un repository versione con qualsiasi software che ho scritto che lo usa, in questo modo lavorano sempre insieme in una determinata versione.

    Se decidi di andare in questo modo, ecco un semplice afferrare per get l'indirizzo pubblico DNS di tutto in esecuzione. Ovviamente potresti chiedere anche questo per un gruppo specifico.

    ec2-describe-instances | grep 'INSTANCE' | cut -f 4 

    Incase qualcuno sta cercando una soluzione, ho finito usando PHP SDK di Amazon. Consente di filtrare i risultati in base a molti criteri diversi. Ho semplicemente fatto una richiesta di istanza descritta, filtrando da un gruppo di protezione specifico (where il nome di gruppo di protezione è quello che desideri cercare!)

      // Get the response from a call to the DescribeInstances operation. $response = $ec2->describe_instances(arrays('Filter' => arrays(arrays('Name' => 'group-name ', 'Value' => 'security-group-name')))); 
     ec2din -F instance-state-name=running | grep -e TAG -e INSTANCE | sed -e 's/TAG//' | awk '{print $4}' 

    È inoltre ansible aggiungere filtri per il gruppo di sicurezza desiderato aggiungendo -F group-name = your-group

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.