本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
正在定制 AWS OpsWorks 堆栈
重要
这些区域有: AWS OpsWorks Stacks 该服务已于 2024 年 5 月 26 日终止,新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问,请联系 AWS Support 团队开启 AWS re: post 或通过
AWS OpsWorks Stacks 内置层提供的标准功能足以满足多种用途。但是,您可能会遇到以下一种或多种情况:
-
某个内置层的标准配置只是够用,但不够理想;您想要针对特定要求优化它。
例如,您可能希望为工作进程的最大数量或
keepalivetimeout
值等设置指定您自己的值,从而调整 Static Web Server 层的 Nginx 服务器配置。 -
某个内置层的功能很好,但您希望通过安装更多程序包或运行一些自定义安装脚本来扩展它。
例如,您可能还想通过安装 Redis 服务器来扩展PHP应用服务器层。
-
您有一些不由任何内置层处理的要求。
例如, AWS OpsWorks 堆栈不包括某些常用数据库服务器的内置层。您可以创建一个自定义层来将这些服务器安装在该层的实例上。
-
您正在运行一个 Windows 堆栈,该堆栈仅支持自定义层。
AWS OpsWorks Stacks 提供了多种自定义图层的方法,以满足您的特定要求。以下按照提高复杂性和增强功能的顺序列出了一些示例:
注意
其中一些方法仅适用于 Linux 堆栈。有关详细信息,请参阅以下主题。
-
使用自定义JSON来覆盖默认值 AWS OpsWorks 堆栈设置。
-
使用覆盖默认值的属性文件实现自定义 Chef 食谱 AWS OpsWorks 堆栈设置。
-
使用覆盖或扩展默认值的模板实现自定义 Chef 食谱 AWS OpsWorks 堆栈模板。
-
使用运行 shell 脚本的简单配方实施自定义 Chef 说明书。
-
使用执行创建和配置目录、安装程序包、创建配置文件、部署应用程序等任务的配方实施自定义 Chef 说明书。
您还可以覆盖配方,具体取决于堆栈的 Chef 版本和操作系统。
-
对于 Chef 0.9 和 11.4 堆栈,您无法通过实施具有与内置配方相同的说明书和配方名称的自定义配方来覆盖内置配方。
对于每个生命周期事件, AWS OpsWorks Stacks 总是先运行内置配方,然后再运行任何自定义配方。由于这些 Chef 版本不会运行一个具有相同说明书和配方名称的配方两次,因此内置配方优先运行,而自定义配方不会执行。
-
您可以在 Chef 11.10 堆栈上覆盖内置配方。
有关更多信息,请参阅 说明书安装和优先顺序。
-
您无法在 Windows 堆栈上覆盖内置配方。
就是这样 AWS OpsWorks Stacks 处理 Windows 堆栈的 Chef 运行不允许覆盖内置配方。
注意
由于许多技术都使用自定义食谱,因此说明书和诀窍如果您还不熟悉食谱的实现,则应先阅读。 说明书基础知识提供了实现自定义食谱的详细教程介绍,并实施食谱 AWS OpsWorks 堆栈涵盖了有关如何实现食谱的一些细节 AWS OpsWorks 堆叠实例。