厨师配置制定AWS安全组的配方,如何从服务器与厨师客户端运行

时间:2015-05-13 22:04:24

标签: amazon-web-services chef

我需要更好地跟踪我的AWS安全组。

使用chef / provisioning / aws_driver的配方可让我按SG制作配方并跟踪添加的IP /等。

我可以使用chef-client -z -r

在本地运行它们

我真正想要的是将菜谱上传到我的厨师服务器并在我需要更换SG时运行它。但是厨师似乎要求将配方应用于节点,而不是AWS云量。

基本上我想从我的工作站运行chef-client,让它执行一个不影响任何正在运行的服务器的菜谱,或创建它们,而是点击AWS并收集指定的资源。

2 个答案:

答案 0 :(得分:0)

如果使用Chef服务器URL和密钥为工作站创建client.rb:

chef_server_url "http://servername/organizations/myorg"
validation_key  "path/to/validation/key"
client_key      "path/to/client/key"

您应该能够运行已上传到服务器的配置食谱。例如。如果他们在“供应”食谱中:

chef-client -c client.rb -o provisioning::myrecipe

答案 1 :(得分:0)

您可能想要创建配置节点。 Chef Server本质上是一个美化的数据库,并不是一个活跃的控制器。有厨师推送工作,但即便如此也是推动节点。

相反,创建一个节点,该节点本质上是无法运行厨师客户端本身的资源的代理,并将该运行厨师客户端作为CRON服务。当然,您不需要为每个资源创建单独的节点,一个节点可以轻松管理其中的许多节点。如果您的数字非常大,则可能必须开始对这些资源进行分区。或者您可以为安全原因进行分区。

如果所有内容都是声明性的声明性资源(因为所有好的厨师应该是这样),那么你可以让两个具有相同配方的节点提供冗余。