gpt4 book ai didi

amazon-web-services - 如何将旧 S3 存储桶中的 Terraform 状态移动到新 S3 存储桶?

转载 作者:行者123 更新时间:2023-12-05 01:27:09 26 4
gpt4 key购买 nike

我们有一些使用 s3 作为后端的 Terraform 配置。我们有多个 AWS 账户,每个账户对应一个环境。

在所有环境和跨多个区域中,我们使用了不同的 s3 存储桶和 dynamodb_table 名称,这些名称目前不遵循有效的约定,因此很难从名称中识别存储桶的用途。我们现在想要为所有 s3 terraform 状态桶遵循基于约定的命名。为此,我需要将现有 Terraform 资源的状态迁移到新的 s3 存储桶。

我不确定实现此目标的最佳方法是什么,而不必在旧状态存储桶上运行销毁并应用到新状态存储桶上。

我能想到的几个选项如下,但我不确定它们是否正确。

  1. 重命名 s3 存储桶:我知道这是不可能的(或者是吗?)
  2. 移动 s3 存储桶:重命名的解决方案如前所述here .不确定这种方法是否会干扰我们的设置。
  3. 状态迁移:terraform 源代码由 Git 控制,但 .terraform 不是。因此,我可以使用新存储桶更改源代码,提交它并从此提交创建一个新的 git 标签。现在,在实际进行迁移时,我会检查我的环境中使用的旧 git 标签,运行 terraform init,检查新的 git 标签并再次运行 terraform init 理想情况下问我是否要进行迁移并做必要的事情。这个过程类似于 Terraform 建议的 here ,但我不确定的是,这种方法是否适用于我期望做的那种运动。

P.S.:我假设重命名 DynamoDB 表或只使用新表而不是旧表会开箱即用,因为我会确保在进行状态迁移时,我没有任何正在进行的实时 terraform 运行。

最佳答案

您是否尝试将 StateFile 从旧存储桶复制到新存储桶,然后在 Terraform 后端配置中更改 S3 存储桶

关于amazon-web-services - 如何将旧 S3 存储桶中的 Terraform 状态移动到新 S3 存储桶?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69735414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com