AWS Opsworks在哪里放入data_bag文件夹?

时间:2016-01-07 21:13:22

标签: amazon-web-services chef aws-opsworks databags

我正在使用AWS Opsworks与Chef 12和自定义cookbook。我也想使用data_bags,但我无法弄清楚Opsworks在哪里寻找它们。

如果我将它们添加到/ var / chef / data_bags,我可以使用chef-client --local-mode成功运行配方,但是当我尝试通过Opsworks - >堆栈 - >执行配方我得到以下错误。

[2016-01-07T21:05:07+00:00] INFO: HTTP Request Returned 404 Not Found: Object not found: chefzero://localhost:8889/data/users

OpsWorks似乎在这个位置/var/chef/runs/9586fca2-52d1-43a8-9b3c-6fc0e4e79259/data_bags创建了自己的data_bags但是这些都是自定义的AWS文件夹,例如..

aws_opsworks_app      aws_opsworks_ecs_cluster            aws_opsworks_instance  aws_opsworks_rds_db_instance  aws_opsworks_user
aws_opsworks_command  aws_opsworks_elastic_load_balancer  aws_opsworks_layer     aws_opsworks_stack

如何添加到OpsWorks Databag或在哪里放置我自己的data_bag文件夹?

1 个答案:

答案 0 :(得分:2)

http://docs.aws.amazon.com/opsworks/latest/userguide/best-practices-server-migrate.html#best-practices-server-migrate-data-bags

http://docs.aws.amazon.com/opsworks/latest/userguide/workingcookbook-chef11-10.html#workingcookbook-chef11-10-databag

所以基本上你需要在opsworks中定义你附加到堆栈级别或层级别的自定义jsons等。这些jsons被拾取并注入数据库中,最终成为运行的一部分。 (即你无法在烹饪书中定义行李)