TAPA 101: Terraform+AWS

This is the very first article of the Deploying infrastructure with Terraform+AWS+Packer+Ansible series, to show a basic infrastructure deployment on AWS.

In this post we’ll use terraform to create an instance on AWS, but we’ll do a little more than that.

We’ll create everything you need to get an instance running: vpc, subnet, securitygroup, keypair, internet gateway, route table….

Why ? Because that’s what you would do when creating a new application or customer environment. Breaking your different applications / customers / environments into their own VPCs is a good way to completely isolate one from the others and make them easier to manage as code, as each application can have it’s own repo with all the infrastructure need.

What is needed ?

TAPA 101

Chdir to the 101-terraform+aws directory.

Edit the keypair.tf file and put your ssh pubkey instead of mine.

Take a moment and read all the files to star becoming familiar with terraform+aws.

Terraform init

Every first time you run terraform in a directory, you should initialize it first so it can download external components that are needed for that .tf files.

Run terraform init:

terraform init

You should see something like this:

 

Terraform plan

Now let’s see what these terraform files would do on AWS:

Run terraform plan:

terraform plan

It will show every resource it will create.

You should see this at the end:

Terraform apply

If everything is alright, it’s time to apply it:

Run terraform apply:

terraform apply

You should see something like this in the end:

At this point, you can SSH into the instance using the public IP, centos user and your ssh pubkey.

Terraform destroy

That’s all by now.

To destroy everything created with this terraform, run terraform destroy:

terraform destroy


Finish

Congratulations, you have done the very basic example usage of terraform+aws.

Stay tuned for the next examples.


Um comentário em “TAPA 101: Terraform+AWS

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s