步骤 4:将配方分配到生命周期事件 - AWS OpsWorks

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

步骤 4:将配方分配到生命周期事件

重要

AWS OpsWorks Stacks 不再接受新客户。在 2024 年 5 月 26 日之前,现有客户将能够照常使用 OpsWorks 控制台、API、CLI 和 CloudFormation 资源,届时这些工具或资源将停用。为准备此过渡,我们建议您尽快将堆栈过渡到AWS Systems Manager。有关更多信息,请参阅 AWS OpsWorks Stacks 生命周期终止常见问题解答将 AWS OpsWorks Stacks 应用程序迁移到 AWS Systems Manager Application Manager

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

您可以将各个配方分配到相应的生命周期事件,让 AWS OpsWorks Stacks 在层的实例上运行自定义配方。AWS OpsWorksStacks 将在层的内置配方完成后运行任意自定义配方。对于本示例,将 appsetup.rb 分配到 PHP App Server 层的部署事件,将 dbsetup.rb 分配到 MySQL 层的部署事件。AWS OpsWorks然后在启动期间,当内置的 Setup 配方完成后, Stacks 将在关联层的实例上运行配方,并在每次您部署应用程序且内置部署配方完成后应用。有关更多信息,请参阅自动运行配方

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

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

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

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