

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

# 步骤 5：将访问信息添加到堆栈配置 JSON
<a name="other-services-redis-json"></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 支持 团队联系。

`generate.rb` 配方依赖于表示 Redis 服务器主机名和端口的一对堆栈配置和部署 JSON 属性。尽管这些属性是标准`[:deploy]`命名空间的一部分，但它们不是由 OpsWorks Stacks 自动定义的。而是由您通过将自定义 JSON 对象添加到堆栈来定义属性及其值。以下示例显示了本例所述的自定义 JSON。

**将访问信息添加到堆栈配置和部署 JSON**

1. 在 “**堆栈 OpsWorks 堆栈**” 页面上，单击 “**堆栈设置**”，然后单击 “**编辑”**。

1. 在 **Configuration Management** 部分中，将访问信息添加到 **Custom Chef JSON** 框中。它应类似于以下示例，但需要进行以下修改：
   + 将 `elasticache_redis_example` 替换为应用程序的短名称。
   + 将`host`和`port`值替换为您在中创建 ElastiCache 的 Redis 服务器实例的[步骤 1：创建 ElastiCache Redis 集群](other-services-redis-cluster.md)值。

   ```
   {
     "deploy": {
        "elasticache_redis_example": {
          "redis": {
            "host": "mycluster.XXXXXXXXX.amazonaws.com",
            "port": "6379"
          }
        }
     }
   }
   ```  
![\[Custom Chef JSON input field for configuring ElastiCache Redis instance details.\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/redis_walkthrough_json.png)

这种方法的优点是，您可以随时更改端口或主机值，而无需触摸自定义食谱。 OpsWorks Stacks 将自定义 JSON 合并到内置 JSON 中，并将其安装在堆栈的实例上，用于所有后续生命周期事件。然后，应用程序可通过使用 Chef 节点语法来访问属性值，如[步骤 3：创建和部署自定义说明书](other-services-redis-cookbook.md)中所述。下次部署应用程序时， OpsWorks Stacks 将安装包含新定义的堆栈配置和部署 JSON，并且 `generate.rb` 将创建一个具有更新的主机和端口值的配置文件。

**注意**  
`[:deploy]` 会自动为每个部署的应用程序包含一个属性，因此 `[:deploy][elasticache_redis_example]` 已在堆栈和配置 JSON 中。但是，`[:deploy][elasticache_redis_example]`不包含`[:redis]`属性，使用自定义 JSON 定义它们会指示 OpsWorks Stacks 将这些属性添加到`[:deploy][elasticache_redis_example]`。您还可以使用自定义 JSON 覆盖现有属性。有关更多信息，请参阅 [覆盖属性](workingcookbook-attributes.md)。