In this post, We will share - What is Terraform, How to install it, and How to Create EC2 instance via Terraform.
What is Terraform
Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Terraform can manage existing and popular service providers as well as custom in-house solutions.
The infrastructure Terraform can manage includes low-level components such as compute instances, storage, and networking, as well as high-level components such as DNS entries, SaaS features, etc.
Terraform supports Multiple Cloud providers, Oracle , AWS, Microsoft..List goes on https://www.terraform.io/docs/providers/index.html
terraform works based on or using configuration files with extension .tf
How to Install
its Pretty Simple ,
1. Download the zip file which contains the executable based on your platform from https://www.terraform.io/
2. Extract the zip file
3. Set the Path Environment Variable mapping to location where you extracted the zip file
4. open bash prompt or command prompt, and check , terraform --version
C:\Users\dummy> terraform --version
Terraform v0.11.13
How to create configuration file
The set of files used to describe infrastructure in Terraform is simply known as a Terraform configuration. We're going to write our first configuration now to launch a single AWS EC2 instance.
The format of the configuration files is documented here. Configuration files can also be JSON, but we recommend only using JSON when the configuration is generated by a machine.
The entire configuration is shown below. We'll go over each part after. Save the contents to a file named
am1.tf
. Verify that there are no other *.tf
files in your directory, since Terraform loads all of them.open notepad or vi , am1.tf , copy the below highlight contents and make required changes , and save it.
Below case we are using provider as aws , ie amazon web services.
Resource - Type of resource , we are planning to provision or manage
provider "aws" {access_key = "vandendapaalkaren"
secret_key = "adaddaaapasumattapathipadaporen"
region = "us-east-2"
}
resource "aws_instance""example" {
ami = "ami-0cd3dfa4e37921605"
instance_type = "t2.micro"
}
Note: The above configuration is designed to work on most EC2 accounts, with access to a default VPC. For EC2 Classic users, please use
t1.micro
for instance_type
, and ami-408c7f28
for the ami
. If you use a region other than us-east-1
then you will need to choose an AMI in that region as AMI IDs are region specific.As mentioned above , Replace the
ACCESS_KEY_HERE
and SECRET_KEY_HERE
with your AWS access key and secret key, available from this page.How to configure a resource in Cloud?
Once the configuration file is created, There are two step process
go to the location where created the *.tf file, Ensure there is no other tf created over there
Step 1 : init - Execute "terraform init" from the command prompt,
init will download the plugin required ,and initializes various local settings and data that will be used by subsequent commands
c:\terraform>terraform init
Step 1.2 : Plan - if in case there are any changes to the configuration after init, then you need to Execute "terraform plan" from the command prompt,
In the same directory as the
am1.tf
file you created, run terraform plan
Step 2 : apply - Once all set with configuration, then we need to apply the configuration. Execute "terraform apply" from the command prompt,
Check now in your AWS Console....Congratulations.