2016-07-12 2 views
0

Я использую текстовую информацию, чтобы создать стек с 20 экземплярами. Теперь в доступном выходе я могу видеть только идентификаторы экземпляра.Как получить экземпляр экземпляра ec2 из идентификатора экземпляра в ansible

Теперь, после создания стека, я хочу подключиться к ним и настроить его, но я не уверен, как можно получить икс или имена хостов из идентификатора экземпляра.

выход CloudFormation, как это

{ 
     "last_updated_time": null, 
     "logical_resource_id": "test2", 
     "physical_resource_id": "i-24tf97306", 
     "resource_type": "AWS::EC2::Instance", 
     "status": "CREATE_COMPLETE", 
     "status_reason": null 
    }, 
    { 
     "last_updated_time": null, 
     "logical_resource_id": "test1", 
     "physical_resource_id": "i-6533184348", 
     "resource_type": "AWS::EC2::Instance", 
     "status": "CREATE_COMPLETE", 
     "status_reason": null 
    } 

ответ

2

ec2_remote_facts модуль - ваш друг здесь.

+0

В текущей версии ec2_remote_facts не предоставляет общественности, делает его https:? //github.com/ansible/ansible-modules-extras/pull/1509 – user3098466

+0

да , вы можете применить исправление локально или использовать 'public_dns_name' –

0

Вы можете получить instance meta data когда анзибль работает на экземпляре, например,

curl http://169.254.169.254/latest/meta-data/public-hostname 
ec2-aa-bb-cc-ddd.ap-southeast-2.compute.amazonaws.com 

где aa-bb-cc-ddd представляет ваш IP и полная строка представляет собой имя хоста.

Вы используете Ansible, чтобы использовать модуль Ansible get_url: http://docs.ansible.com/ansible/get_url_module.html для выполнения HTTP-запроса.

+0

но доступен только изнутри, например, не из анзибль хоста – Karl

Смежные вопросы