本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
通过覆盖属性 AWS OpsWorks 来自定义堆栈配置
重要
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止,新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问,请通过 re AWS : Post 或通过 Pre
注意
对于 Windows 堆栈和 Chef 12 Linux 堆栈, AWS OpsWorks Stacks 使用单独的 Chef 运行来制作内置食谱和自定义食谱。这意味着,您无法使用此节中讨论的方法来覆盖 Windows 堆栈和 Chef 12 Linux 堆栈的内置属性。
配方和模板取决于实例的各种 Chef 属性或堆栈特定信息 (如层配置或应用程序服务器设置)。这些属性具有多个源:
有关堆栈配置和部署属性以及内置说明书属性的完整列表,请参阅堆栈配置和部署属性:Linux 和内置说明书属性。有关 Ohai 属性的更多信息,请参阅 Ohai
当生命周期事件(如部署或配置)出现时,或您运行堆栈命令(如 execute_recipes
或 update_packages
)时, AWS OpsWorks Stacks 将执行以下操作:
-
向每个受影响实例上的代理发送相应命令。
代理将运行适当的配方。例如,对于部署事件,代理将运行内置部署配方,接着运行任何自定义部署配方。
-
将任何自定义属JSON性和部署属性与堆栈配置属性合并,并将其安装在实例上。
来自自定义JSON、堆栈配置和部署属性、食谱属性以及 Ohai 属性的属性合并到一个节点对象中,该对象为配方提供属性值。就堆栈配置属性(包括任何自定义)而言,实例本质上是无状态的JSON。当您运行某个部署或堆栈命令时,关联的配方将使用通过该命令下载的堆栈配置属性。