第 4 步:为 LifeCycle 活动分配食谱 - AWS OpsWorks

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

第 4 步:为 LifeCycle 活动分配食谱

重要

该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止,新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问,请通过 re AWS : Post 或通过 Pre mium Su AWS pp ort 与 AWS Support 团队联系。

你可以手动运行自定义配方,但最好的方法通常是让 AWS OpsWorks Stacks 自动运行它们。每层都有一组内置配方,分配到 Setup、Configure、Deploy、Undeploy 和 Shutdown 这五个生命周期事件。每次实例上发生事件时, AWS OpsWorks Stacks 都会为实例的每个层运行关联配方,这些配方处理所需的任务。例如,当实例完成启动时, AWS OpsWorks Stacks 会触发安装事件来运行安装配方,该配方通常处理安装和配置软件包等任务。

通过将每个配方分配给相应的生命周期事件,可以让 AWS OpsWorks Stacks 在图层的实例上运行自定义配方。 AWS OpsWorks 图层的内置配方完成后,堆栈将运行任何自定义配方。在本示例中,分配appsetup.rb给 PHP 应用服务器层的 Deploy 事件和 dbsetup.rb MySQL 层的 Deploy 事件。 AWS OpsWorks 然后,堆栈将在启动期间、内置安装配方完成后、每次部署应用程序时、构建的 Deploy 配方完成后,在关联层的实例上运行配方。有关更多信息,请参阅 自动运行配方

将自定义配方分配到层的部署事件
  1. 在 AWS OpsWorks Stacks L ay ers 页面上,对于 PHP App Server,选择食谱,然后选择编辑

  2. Custom Chef Recipes (自定义 Chef 配方) 下,将配方名称添加到 Deploy 事件,然后选择 +。该名称必须为 Chef cookbookname::recipename 格式,其中 recipename 不包括 .rb 扩展名。对于此示例,您输入 photoapp::appsetup。然后选择 Save (保存) 以更新层配置。

  3. 页面上,选择 MySQL 层的 操作 列中的 编辑

  4. photoapp::dbsetup 添加到层的部署事件,然后保存新配置。