我的代碼動態主機:http://pastebin.com/jzrYTR2uAnsible:要映射與實例ID的
我想要實現:我的腳本應該動態地採取與特定標籤的主機,並通過各一個主機一個在執行上述任務。目前,我正在從elb_facts模塊獲取實例ID。
我到目前爲止所取得的成績:我的腳本將從elb中取出第一個實例,執行部署任務,並將其添加回elb。主機文件當前使用IP進行硬編碼
我的代碼動態主機:http://pastebin.com/jzrYTR2uAnsible:要映射與實例ID的
我想要實現:我的腳本應該動態地採取與特定標籤的主機,並通過各一個主機一個在執行上述任務。目前,我正在從elb_facts模塊獲取實例ID。
我到目前爲止所取得的成績:我的腳本將從elb中取出第一個實例,執行部署任務,並將其添加回elb。主機文件當前使用IP進行硬編碼
使用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)
希望這有助於
感謝@Niall Whelehan的信息。我從elb_gather_facts收集實例ID。我想映射實例ID和服務器的公共IP,部署在特定的主機上。 –
請不要使用外部ressources「秀」的來源。如果這些鏈接變得無效,那麼這個問題就會丟失重要信息給後來搜索SO的用戶。 – dgw