amazon-web-services - terraform 模块 ec2 和 vpc AWS
问题描述
我对如何在 terraform 中使用模块有疑问。请参阅下面我的代码。
module "aws_vpc"{
source = "../modules/vpc"
vpc_cidr_block = "192.168.0.0/16"
name_cidr = "ec2-eks"
name_subnet = "ec2-eks-subnet"
subnet_cidr = ["192.168.1.0/25"]
}
module "ec2-eks" {
source = "../modules/ec2"
ami_id = "ami-07c8bc5c1ce9598c3"
subnet_id = module.aws_vpc.aws_subnet[0]
count_server = 1
}
output "aws_vpc" {
value = module.aws_vpc.aws_subnet[0]
}
我正在创建一个 vpc,并希望下一步通过我创建的子网附加 ec2。但默认情况下 VPC 附加了 terraform。我需要做什么才能将 ec2 附加到我的 vpc(子网)?谢谢你的回答
解决方案
我需要做什么才能将 ec2 附加到我的 vpc(子网)?
aws_instance具有subnet_id
属性。因此,要将您的实例放置在给定的子网中,您必须设置subnet_id
.
由于您使用模块来创建您的aws_vpc
,因此该模块也可能会输出子网 ID。由于缺乏模块的详细信息,很难提供准确的答案,但在一般情况下,您会按照以下方式做一些事情(示例):
resource "aws_instance" "web" {
ami = data.aws_ami.ubuntu.id
instance_type = "t3.micro"
subnet_id = module.aws_vpc.subnet_id
tags = {
Name = "HelloWorld"
}
}
显然,以上取决于您的模块的实现。
推荐阅读
- c++ - 尝试在 Windows 10 上运行 PARDISO 时出现未解决的外部符号错误
- json - 如何在 Para Web 控制台上编辑资源权限
- c++ - C++继承&虚函数问题
- php - 将 Cookie SameSite None 添加到 Drupal7 和 PHP7.0
- c - 将输入从 `getchar()` 复制到另一个变量
- angular - 错误:无法读取 null 的属性“userLocation”或服务为 null
- reactjs - Ant Design:如何处理 Card extra onClick 事件中的 Button?
- android - 如何在Android的NestedScrollView中将TextView放在RecyclerView下面
- python - 现在来自数据的 InfluxBD 时间戳
- typescript - 调用带注释的方法