我正在使用terraform创建主题,为该主题订阅一个SQS队列,然后为该队列订阅一个lambda。每个资源的地形都保存在具有不同地形状态的单独存储库中。尽管这种情况很少见,但是只要该主题被terraform破坏并随后被terraform重新创建,订阅就会中断。
您会认为在拥有该队列的terraform上运行计划应用会重新订阅该队列,但不会(0次更改)。它保持在中断状态,在该状态下没有在主题上列出任何订阅,并且没有消息传输到队列。然后,您需要完全销毁拥有队列的地形,现在还必须销毁并重新创建已预订的lambda。这是乏味且脆弱的。
是否有任何策略可以使订阅保持活动状态,或在其terraform驻留在另一个存储库中时自动重新创建它?从逻辑上讲,aws_sns_topic_subscription
似乎还没有被销毁,并且队列仍然应该通过arn链接到主题,但是必须有一些将它们钩在一起的基础引用。