2016-11-07 36 views
0

我的代码动态主机:http://pastebin.com/jzrYTR2uAnsible:要映射与实例ID的

我想要实现:我的脚本应该动态地采取与特定标签的主机,并通过各一个主机一个在执行上述任务。目前,我正在从elb_facts模块获取实例ID。

我到目前为止所取得的成绩:我的脚本将从elb中取出第一个实例,执行部署任务,并将其添加回elb。主机文件当前使用IP进行硬编码

+0

请不要使用外部ressources“秀”的来源。如果这些链接变得无效,那么这个问题就会丢失重要信息给后来搜索SO的用户。 – dgw

回答

0

使用boto api与AWS建立连接并使用过滤器查找您想要的实例。然后,您可以递归搜索列表以获取实例,然后获取实例ID。下面的例子使请求过滤的情况下:

filters = dict() 
filters["tag:Profile"] = node["profile"] 
filters["tag:Environment"] = environment 
filters["availability_zone"] = region + node["distribution"][index]["zone"] 
filters["tag:ServiceName"] = node['service_name'] 

instances_aws = aws_connection.get_all_instances(filters=filters) 

希望这有助于

+0

感谢@Niall Whelehan的信息。我从elb_gather_facts收集实例ID。我想映射实例ID和服务器的公共IP,部署在特定的主机上。 –