2015-07-22 90 views
0

我無法在我的庫存文件中爲我的MySQL數據庫定義別名時遇到問題。我可以很容易地通過創建一個對我的EC2實例:如何在ansible for mysql數據庫中創建別名

ansible_ssh_host 
ansible_ssh_port 
ansible_ssh_user 

像這樣:

[webserver] 
some-hostname ansible_ssh_host=some-subdomain-of-amazon 

但它不使用ssh連接到數據庫實例。如何創建一個別名,該組

[databases] 
some-hostname ansible_mysql_host=some-subdomain-of-amazon 

就像你可以看到我很新的這一切,所以請與我裸...我似乎無法找到這樣的東西在文檔中。

// Ulrik合作麥卡德爾

回答

0

你ansible主機文件不知道DNS提供的名稱。他們不是CNAMES。因此,您只能使用可靠的工具來參考它們(例如ansibleansible-playbook)。

ansible_ssh_hostansible_ssh_portansible_ssh_user,你可以用它來告訴ansible工具「哎,主機foo有這個IP,你可以在端口ansible_ssh_port N,等通過SSH連接Ansible關鍵字......他們只是外界沒有任何意義ansible。

這就是說,​​當然不是一個有效的關鍵字。 所以我並不真正知道你在這裏想達到什麼目的,但是如果你需要使用DNS名稱(根據你使用的驅動程序我不會推薦)來使用你的mysql服務器,那麼你必須使用一個真正的DNS條目,可以從您的客戶解決。

一個選項是在客戶端的/etc/hosts文件中添加一個名稱,或使用route53 ansible模塊創建一個Route53條目。

+0

我知道他們不能在Ansible之外使用。這是因爲我想使用主機名來創建host_vars文件夾,或者我錯過了一些東西。 AWS中的端點非常長,可以用別名縮短它們。 –