如何修改已创建的 Terraform S3 存储桶

34次阅读
没有评论

问题描述

已经使用 Terraform 创建了一个名为 foo-name 的 S3 存储桶,并希望修改该存储桶的策略。但是在修改时,似乎会创建一个新的 S3 存储桶,而不是修改现有的存储桶。用户猜测 resource "aws_s3_bucket" "s3_bucket" 中的 s3_website 可能是错误的。但是由于 S3 存储桶的创建方式,用户不知道应该使用什么来替代它。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

如果你已经在 Terraform 中识别了你的 S3 存储桶,并且它是由你粘贴的代码创建的,那么如果操作可以在原地完成,你就不应该遇到任何困难。
关于 Terraform 如何处理资源,有一些重要的必须了解的事情。这些事情必须了解,因为最终它是基础设施 :) 一些参数是不可变的,尽管可能不太直观,但更改资源标识符将触发删除/创建的情况。
你可以粘贴你的 Terraform 计划输出吗?

方案2

你需要修改底层模块来进行更改。
请确保你清楚这将对使用你的 s3_website 模块的其他模块产生的影响。你可能需要开始使用模块源版本控制。

正文完