首页 » Terraform » 正文

Terraform 如何创建一个aws instance

首先,我们要先安装Terraform,

Terraform的安装很简单,以Mac 为例:

安装完成后我们来使用Terraform在aws中创建一个instance

先看代码 example.tf:

注意:例子中的ami 是us-east-1 region的,如果region发生改变,ami需要修改

其实代码真的是通俗易懂

provider 部分定义了你是使用那个云,上边的例子中使用的是aws,

resource部分定义的是具体的哪一个资源,因为aws上有很多资源,例如ec2,ecs,eks,elb,因为我们需要创建instance所以,资源部分我们需要说明,我们要创建的aws资源的类型是aws_instance 然后我们给这个instance的名字叫:example

所有的代码的意思是:

在aws的us-east-1 region中,使用ami-2757f631 创建一个t2.micro类型的ec2主机

但是,这样我们并没有办法真正的创建主机,因为我们没有定义我们的aws的账号,也就是代码不知道也没有权限去aws创建任何东西,那么我们该如何设置我们的aws的认证信息呢?

我们可以将我们的账号信息存储到: ~/.aws/credentials 文件,这就是aws默认的存放认证信息的地方

账号也设置好了,我们来看一下如何创建主机,在创建之前,我们需要初始化一下,让Terraform来下载必要的依赖包,只有下载好了所有的依赖包,代码才能正常运行(本例子中主要是下载aws相关的依赖包)

初始化完成后,我们想先模拟运行一下,因为很多时候我们想确认脚本是否将要做的修改是否真的是我们想要的,如果是,我们继续,如果不是,那我们就停止,不会造成任何伤害,但是,如何执行呢?

plan这条命令不会做任何实质性操作,但是会展示给你即将发生的改变

那我们plan完成后确认是我们想要的修改后,我们该如何真正做出修改呢?使用terraform apply

其实这个时候也不会做出修改,Terraform会让你再次确认,并输入yes后才会真正执行,要不怎么说安全呢

输入yes后

主机顺利创建了,我们可以到aws的页面确认主机是否真的创建了

 

 

 

Zhiming Zhang

Senior devops at Appannie
一个奔跑在运维路上的胖子
Zhiming Zhang

本文共 1 个回复

发表评论