

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

# 更新自定义说明书
<a name="workingcookbook-installingcustom-enable-update"></a>

**重要**  
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止，新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问，请通过 re [AWS : Post 或通过 Pre](https://repost.aws/) mium Su [AWS pp](https://aws.amazon.com/support) ort 与 AWS 支持 团队联系。

当你为 OpsWorks Stacks 提供自定义食谱时，内置的安装配方会在每个新启动的实例上创建一个本地缓存，并将食谱下载到缓存中。 OpsWorks 然后，Stacks 从缓存中运行配方，而不是存储库。如果您修改存储库中的自定义食谱，则必须确保已将更新的食谱安装在实例的本地缓存中。 OpsWorks Stacks 在启动时会自动将最新的食谱部署到新实例。然而，对于现有实例，情况则有所不同：
+ 您必须手动将更新后的自定义说明书部署到在线实例。
+ 您不必将更新后的自定义说明书部署到由实例存储支持的离线实例，包括基于负载和基于时间的实例。

  OpsWorks 实例重启后，堆栈会自动部署当前的食谱。
+ 您必须启动不是基于负载也不是基于时间的 EBS 支持的离线全天候实例。
+ 您不能启动 EBS 支持的基于负载和基于时间的离线实例，因此，最简单的方法是删除离线实例并添加新实例来替换它们。

  由于它们现在是新实例，因此 OpsWorks Stacks 会在实例启动时自动部署当前的自定义食谱。

**手动更新自定义说明书**

1. 使用修改后的食谱更新您的存储库。 OpsWorks Stacks 使用你最初安装食谱时提供的缓存 URL，因此食谱根文件名、存储库位置和访问权限不应更改。
   + 对于 Amazon S3 或 HTTP 存储库，用新的同名 .zip 文件替换原始的 .zip 文件。
   + 对于 Git 或 Subversion 存储库，[编辑您的堆栈设置](workingstacks-edit.md)以将 **Branch/Revision** 字段改为新版本。

1. 在堆栈的页面上，单击 **Run Command**，然后选择 **Update Custom Cookbooks** 命令。  
![\[Run Command 页面\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/update_cookbooks.png)

1. 根据需要添加注释。

1. （可选）为命令指定自定义 JSON 对象，以向 Stack OpsWorks s 在实例上安装的堆栈配置和部署属性添加自定义属性。有关更多信息，请参阅[使用自定义 JSON](workingstacks-json.md)和[覆盖属性](workingcookbook-attributes.md)。

1. 默认情况下， OpsWorks Stacks 会在每个实例上更新食谱。要指定更新特定的实例，可从位于页面底端的列表中选择相应的实例。要选择某个层中的全部实例，请选中左列中该层对应的复选框。

1. 单击 “**更新自定义食谱**” 以安装更新的食谱。 OpsWorks Stacks 会删除指定实例上缓存的自定义食谱，并从存储库中安装新的食谱。

**注意**  
此过程只用于其缓存中包含旧版本说明书的现有实例。如果您随后向图层添加实例， OpsWorks Stacks 会部署当前存储库中的食谱，以便它们自动获取最新版本。