通过覆盖属性 AWS OpsWorks 来自定义堆栈配置 - AWS OpsWorks

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

通过覆盖属性 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 属性或堆栈特定信息 (如层配置或应用程序服务器设置)。这些属性具有多个源:

  • 自定义 JSON (可选)-您可在创建、更新或克隆堆栈时或部署应用程序时指定自定义 JSON 属性。

  • 堆栈配置属性 —AWS OpsWorks 堆栈定义这些属性以保存堆栈配置信息,包括您通过控制台设置指定的信息。

  • 部署属性 — AWS OpsWorks 为 Deploy 事件定义与部署相关的属性。

  • 说明书属性 内置说明书和自定义说明书通常包含一个或多个属性文件,这些文件中包含表示说明书特定值(如应用程序服务器配置设置)的属性。

  • Chef - Chef 的 Ohai 工具定义了表示各种系统配置设置 (如 CPU 类型和安装的内存) 的属性。

有关堆栈配置和部署属性以及内置说明书属性的完整列表,请参阅堆栈配置和部署属性:Linux内置说明书属性。有关 Ohai 属性的更多信息,请参阅 Ohai

生命周期事件(如部署或配置)出现时,或您运行堆栈命令(如 execute_recipesupdate_packages)时, AWS OpsWorks Stacks 将执行以下操作:

  • 向每个受影响实例上的代理发送相应命令。

    代理将运行适当的配方。例如,对于部署事件,代理将运行内置部署配方,接着运行任何自定义部署配方。

  • 将任何自定义 JSON 和部署属性与堆栈配置属性进行合并,然后在实例上安装它们。

自定义 JSON 中的属性、堆栈配置和部署属性、说明书属性以及 Ohai 属性将会合并到一个节点对象中,从而为配方提供属性值。涉及到堆栈配置属性时,包括任何自定义 JSON,实例实际上是无状态的。当您运行某个部署或堆栈命令时,关联的配方将使用通过该命令下载的堆栈配置属性。