AWS Cloudformation 输出 ElastiCacheCluster

Posted

技术标签:

【中文标题】AWS Cloudformation 输出 ElastiCacheCluster【英文标题】:AWS Cloudformation Output ElastiCacheCluster 【发布时间】:2019-07-19 18:30:27 【问题描述】:

大家好,我正在与 Cloudformation 一起配置 EC2 集群和 ElastiCache 集群。当我使用 Cloudformation 创建堆栈时,我在 EC2 instance 处提供了一个输出错误配置。

错误是:找不到输出堆栈(如?)

如何接收 ElasticCache 主端点?

Outputs : 
  EndPoint:
    Description: "EndPoint Redis"
    Value: !GetAtt ElastiCacheCluster.PrimaryEndPoint.Address

  UserData:
    Fn::Base64:
      Fn::Sub: 
      - |
        #!/bin/bash
        echo $RedisHost > /tmp/redis_host

      - RedisHost: !GetAtt ElastiCache.Outputs.EndPoint

【问题讨论】:

【参考方案1】:

在你的第一个堆栈中,你需要export这个值:

Outputs : 
  EndPoint:
    Description: "EndPoint Redis"
    Value: !GetAtt ElastiCacheCluster.PrimaryEndPoint.Address
    Export:
      Name: RedisHost

然后在你的第二个堆栈中,你需要import它:

UserData:
  Fn::Base64:
    Fn::Sub: 
    - |
      #!/bin/bash
      echo $RedisHost > /tmp/redis_host

    - RedisHost: !ImportValue: RedisHost

另请参阅 this 相关 Stack Overflow 答案。

【讨论】:

以上是关于AWS Cloudformation 输出 ElastiCacheCluster的主要内容,如果未能解决你的问题,请参考以下文章

AWS ElastiCache 集群和 AWS ElastiCache 复制组有啥区别?

AWS Cloudformation错误:由于递归导入而导致的递归锁定

AWS Inspector 的 AWS CloudFormation 模板能否添加 SNS 主题

yaml中的Cloudformation嵌套堆栈输出

参考无服务器框架中的现有 Cloudformation 堆栈输出

AWS CloudFormation 可以调用 AWS API 吗?