AWS Opsworks 将 data_bag 文件夹放在哪里?
Posted
技术标签:
【中文标题】AWS Opsworks 将 data_bag 文件夹放在哪里?【英文标题】:AWS Opsworks where to put data_bag folder? 【发布时间】:2016-04-12 10:34:35 【问题描述】:我将 AWS Opsworks 与 Chef 12 和自定义说明书一起使用。我也想使用 data_bags,但我不知道 Opsworks 在哪里寻找它们。
如果我将它们添加到 /var/chef/data_bags,我可以使用 chef-client --local-mode
成功运行食谱,但是当我通过 Opsworks -> Stack -> Execute recipe 尝试时,我收到以下错误。
[2016-01-07T21:05:07+00:00] INFO: HTTP Request Returned 404 Not Found: Object not found: chefzero://localhost:8889/data/users
OpsWorks 似乎在这个位置创建了自己的 data_bags /var/chef/runs/9586fca2-52d1-43a8-9b3c-6fc0e4e79259/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】: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 内部定义附加到堆栈级别或层级别等的自定义 json。这些 json 被拾取并注入最终成为运行一部分的数据包中。 (即你不能定义食谱里面的包)
【讨论】:
啊,现在我明白了。感谢那。一个问题。那个 json 文件在哪里?食谱的根源? 这是 opsworks 堆栈的配置。您可以通过 api 或使用 was 控制台检查/更改它。 (即它不是一个文件) AHhhhh.. 那个自定义 JSON 框。知道了。谢谢你。以上是关于AWS Opsworks 将 data_bag 文件夹放在哪里?的主要内容,如果未能解决你的问题,请参考以下文章