0

我正在使用Ansible配置我的AWS EC2实例,但我不知道存储我的应用配置的最佳方式是什么。软件配置的最佳实践?

现在我只是发送一个“app.properties”文件到服务器,使用Ansible,但我想从我的源代码管理中删除它。另外,我想将所有内容都存储在环境变量中,而不是os文件中,以使其更加安全。

有没有好的工具呢?简单一些,就像一个key-val配置服务器,你所有的服务器都会连接并获得他们自己的属性?

像Netflix或亚马逊这样的大公司如何解决这个问题?

谢谢!

回答

1

有几种工具可以用于此目的。 Ansible就是其中之一。如果你想使用Ansible,你可以使用“Ansible变量”。您可以根据这些“Ansible变量”的值分配系统环境变量。

您还可以将所有Ansible手册与所有变量一起存储在git存储库中。这样,在运行Ansible剧本之后,它们就不会在服务器中显示为环境变量。

你可以看一下与Ansible这里设置环境变量:http://docs.ansible.com/playbooks_environment.html

如此说来还有其他的工具,可以帮助你做到这一点。其中包括:木偶,厨师,CFEngine,Fabric和SaltStack。他们都会帮助你完成你想要的东西,尽管不同。它们的优点和缺点取决于你在找什么和你的架构是什么样子。

查看我的答案,以获取更多见解:Heroku-like deployment and environment configuration via EC2