本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
通过覆盖属性 AWS OpsWorks 来自定义堆栈配置
重要
AWS OpsWorks Stacks 不再接受新客户。在 2024 年 5 月 26 日之前,现有客户将能够正常使用 OpsWorks 控制台、API、CLI 和 CloudFormation 资源,届时它们将停产。为准备此过渡,我们建议您 AWS Systems Manager 尽快将堆栈过渡到。有关更多信息,请参阅 AWS OpsWorks Stacks 生命周期终结常见问题解答 和 将 AWS OpsWorks Stacks 应用程序迁移到 AWS Systems Manager 应用程序管理器。
注意
对于 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,实例实际上是无状态的。当您运行某个部署或堆栈命令时,关联的配方将使用通过该命令下载的堆栈配置属性。