我可以與 Chef 一起管理 Amazon RDS 實例嗎?鹽?木偶?安西布爾?
從表面上看,我需要能夠在目標節點上安裝一些軟體守護程序才能使這些東西正常工作。如果我不能這樣做(例如 Amazon RDS 實例),我有什麼選擇?
同樣,Ansible 似乎完全基於 SSH。這個可以用來配置RDS嗎?
感謝您的回饋——討論讓我在這裡提出了一個更有針對性的問題: https ://serverfault.com/questions/588237/whats-a-good-cm-tool-for-managing-a-cloud-cluster-組合多樣化資源-ac
您可以使用 Ansible 和
rds
、rds_param_group
和rds_subnet_group
模組來管理 RDS。他們不依賴安裝任何遠端管理代理(ew!),也不直接通過 ssh 進入節點。這 3 個模組使用官方提供的 API 呼叫(借助boto
庫)與 AWS 通信。誠然,他們可能無法在您自己的執行 MySQL 的 EC2 實例上做所有您能做的事情,但這些模組仍然為您提供一定程度的管理。
擴展 Nathan 的好答案和評論,我可以進一步解釋為什麼配置管理工具不能很好地(如果有的話)與 Amazon RDS 等 SaaS 解決方案一起工作。
RDS 本質上是“託管 MySQL”。您無法訪問底層作業系統,因此您無法安裝軟體包、查看配置或尾日誌文件。從配置的角度來看,您與 RDS 的唯一介面是通過 Amazon 的 Web 控制台或 API,就像 Elasticache 是“託管的 Memcache”和 ELB 可以被認為是“託管的 HAproxy”一樣——它們是 SaaS(軟體即服務) ) 供品。
因此,像 Puppet 或 Chef 這樣的傳統配置管理工具將無法工作,因為它們需要完整的作業系統級訪問權限。
然而,一個可能有用的工具是亞馬遜自己的 CloudFormation 實用程序。本身不是“配置管理”,但它可以用作替代品。查看亞馬遜的文件以獲取更多詳細資訊。
如果您真的想在 Amazon 上使用 Puppet 或其他配置管理工具,則需要在 EC2 實例之上執行您自己的 MySQL 安裝。然而,這有缺點也有優點,因為您以易於管理為代價獲得控制權,這正是 RDS 提供的 - Amazon 處理您的備份、維護、高可用性等,而您只需獲得一個 MySQL 端點即可與之交談。
正如 ceejayoz 在他的評論中指出的那樣,以上並不是說配置管理工具毫無價值——我個人恰好是 Puppet 的忠實粉絲——你只需要為你的環境選擇合適的工具。Puppet 非常擅長進行作業系統級別的管理。CloudFormation 在管理您的 Amazon 服務方面非常出色。將這兩種技術結合在一起,您就擁有了一套全面的工具來管理您的整個基礎架構。