【问题标题】:terraform ebs_block_device vs aws_ebs_volume resourceterraform ebs_block_device 与 aws_ebs_volume 资源
【发布时间】:2019-08-09 01:11:20
【问题描述】:

谁能指出使用实例参数的区别:

ebs_block_device

并使用资源:

aws_ebs_volume + aws_volume_attachment

从 terraform docs 看起来可以达到相同的结果。 当我们谈论基础设施管理时,我想提前知道其中的细微差别,但找不到。

如果有人能指出每个问题的陷阱和用例,我将不胜感激。

【问题讨论】:

  • 主要区别在于前者在实例销毁再创建时会销毁并创建EBS,后者在实例销毁再创建时将EBS分离并重新附加.对于具有不同功能的每个资源,也有不同的参数可用,但这些参数在文档中进行了说明。希望有完整知识的人可以提供完整的答案。
  • 感谢@MattSchuchard 我在下面的博文中发现了一个看起来像内部 TF 错误的差异:heap.io/blog/engineering/terraform-gotchas(标题:有不止一种方法,所以请谨慎选择!)希望看到有人在差异上分享更多信息

标签: terraform terraform-provider-aws


【解决方案1】:

基本上,在 AWS 中创建的卷没有区别。相同的选项、功能和限制适用于使用RunInstances API 和CreateVolume API 的BlockDeviceMapping 参数创建的卷。这些是 Terraform AWS 提供商的 aws_instanceaws_ebs_volume 资源在幕后调用的 API。这是TMTOWTDI - There's more than one way to do it的情况。

目的(从 AWS 的角度来看)是您可能想要创建一个空卷、将其附加到实例、对其执行某些操作、分离它、拍摄快照等。它允许更好的存储灵活性。这是源自storage virtualization的概念。

【讨论】:

  • 谢谢@Ben,恕我直言,你是对的,但我担心从 TF 的角度来看存在差异(一个例子可以在这里找到:heap.io/blog/engineering/terraform-gotchas)。
  • 听起来你自己也可以回答这个问题。
  • 恕我直言,您的回答连同 cmets 将构成一个完整的画面。接受。
猜你喜欢
  • 2021-08-15
  • 2021-01-03
  • 2019-03-16
  • 2019-11-17
  • 2018-01-21
  • 2021-10-10
  • 2019-12-08
  • 1970-01-01
  • 2021-11-16
相关资源
最近更新 更多