网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
vim main.tf
- 粘贴下面的配置,然后保存文件。
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 3.0"
}
}
}
provider "aws" {
region = "us-east-1"
}
resource "aws_instance" "ec2test" {
ami = "ami-0022f774911c1d690"
instance_type = "t2.micro"
tags = {
Name = "ec2test"
}
}
- 注意:此配置中使用的 AMI ID 特定于
us-east-1
区域- 这里提一下terraform连接aws的认证问题:
- 第一种方式就是在provider下加aws的key id和secret,字段为client_id/client_secret,一般都会避免这种硬编码的方式,采取变量形式。
- 第二种方式:就是在terraform机器上声明全局变量
- export ARM_SUBSCRIPTION_ID=“00000000-0000-0000-0000-000000000000”
export ARM_TENANT_ID=“00000000-0000-0000-0000-000000000000”
export ARM_CLIENT_ID=“00000000-0000-0000-0000-000000000000”
export ARM_CLIENT_SECRET=“00000000-0000-0000-0000-000000000000”export AWS_ACCESS_KEY_ID=“0000000000000”
export AWS_SECRET_ACCESS_KEY=“0000000000000000000000000000000”
export AWS_DEFAULT_REGION=“us-east-1”
初始化目录
创建新配置或从版本控制中出现有新配置时,需要初始化目录
初始化配置目录将下载并安装配置中定义的程序
初始化目录
terraform init
Terraform 会下载程序并将其安装在当前工作目录的隐藏子目录中
格式化和验证配置
建议在所有配置文件中使用一致的格式。下方命令会自动更新当前目录中的配置,以提高可读性和一致性。
terraform fmt
格式化您的配置。Terraform将打印出它修改的文件的名称(如果有)。在这种情况下,您的配置文件已正确格式化,因此 Terraform 不会返回任何文件名。
您还可以使用下方命令确保您的配置在语法上有效且内部一致。
terraform validate
验证您的配置。上面提供的示例配置有效,因此 Terraform 将返回一条成功消息。
创建基础结构
使用命令应用配置。Terraform将打印类似于下面显示的输出。
terraform apply
- Terraform现在将暂停并等待您的批准,然后再继续。如果任何内容看起来不正确或危险,则可以安全地在此处中止,而无需对基础结构进行任何更改。
- 在这种情况下,该内容是正确的,因此请在确认提示符下键入**
yes
以继续。执行将需要几分钟时间**,因为 Terraform 会等待 EC2 实例变为可用。- 您现在已经使用Terraform创建了基础设施!请访问 EC2 控制台并找到您的新 EC2 实例。
检查状态
- 使用**
terraform show
**检查当前状态。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
//bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!