【问题标题】:How to create default AWS VPC using terraform?如何使用 terraform 创建默认 AWS VPC?
【发布时间】:2019-06-10 11:41:20
【问题描述】:

有没有办法使用 terraform 创建默认 AWS VPC?

aws_vpc 资源没有任何属性可以将 VPC 标记为默认值。

我知道我可以使用 aws-cli aws ec2 create-default-vpc,但这不在 terraform 范围内。

【问题讨论】:

  • 您是否删除了区域的默认 VPC?或者您只是想开始使用 Terraform 管理它?
  • 是的,我删除了默认的,它是用aws帐户创建的。现在没有它我无法创建 RDS 实例。
  • 为什么需要默认 VPC 而不是任何 VPC?
  • 因为这个其他错误:Error creating DB Instance: InvalidSubnet: No default subnet detected in VPC. 据我所知,默认子网只能在默认 VPC 中创建。
  • 您应该在非默认 VPC 中创建一个 RDS 子网组,并告诉 AWS 使用该子网组。

标签: terraform terraform-provider-aws


【解决方案1】:

不,您似乎不能通过 TF,您可以采用现有的默认 VPC,但不能创建它: https://www.terraform.io/docs/providers/aws/r/default_vpc.html

所以使用 AWS cli 重新创建它(如果可以的话),然后使用这个新的提供商来采用它。

【讨论】:

  • 如果您阅读 cmets,这更像是 XY problem,虽然这确实严格回答了问题,但并没有显示他们真正想知道的内容。理想情况下,OP 会编辑他们的问题以显示他们真正的问题(关于在该地区没有默认 VPC 的情况下无法创建 RDS 实例),而不是这个问题/答案组合,这对于发现自己处于相同情况的其他人不太有用。
  • 我倾向于回答实际提出的问题,除了他删除了 VPC 并且需要修复。
  • @ydaetskcoR 不管它看起来是xy problem,问题都是一样的。根据我对github 中的文档和 cmets 的阅读,这个答案是正确的。我可能应该删除误导性的 cmets。
  • 您根本不需要区域的默认 VPC,因此可以删除(否则 AWS 不会让您这样做)。
  • @ydaetskcoR,是的,我不需要,我也不和你争论。但是我可以通过拥有一个(也由 terraform 建议)来解决我的问题,尽管 terraform 缺乏创建默认子网或 vpc 的功能。
猜你喜欢
  • 2015-05-18
  • 1970-01-01
  • 2018-02-08
  • 1970-01-01
  • 2020-08-31
  • 2016-08-16
  • 2019-01-21
  • 1970-01-01
  • 2020-06-22
相关资源
最近更新 更多