-
Download Terraform from terroform.io
For Mac,
wget https://releases.hashicorp.com/terraform/0.11.5/terraform_0.11.5_darwin_amd64.zip -O /tmp/terraform.zip
For Linux,
wget https://releases.hashicorp.com/terraform/0.11.5/terraform_0.11.5_linux_amd64.zip -O /tmp/terraform.zip
-
Extract to a directory
mkdir -p mkdir -p ${HOME}/terraform unzip /tmp/terraform.zip -d ${HOME}/terraform/
-
Set Classpath
echo 'export PATH=${HOME}/terraform:${PATH}' >> ~/.bashrc source ~/.bashrc
Make sure to configure AWS credentials so that terraform can create/manage AWS resources.
Create/Open ~/.aws/credentials
file and make sure it has access key and secret access key
[env1]
region = us-west-2
output = json
aws_access_key_id = <YOUR AWS ACCESS KEY ID>
aws_secret_access_key = <YOUR AWS SECRET ACCESS KEY ID>
- Navigate to example directory (let's say
ex1/
) - Put one
tfvars
file underenv
directory for each environment. (Referexample.tfvars
file) - Run
terraform init
to initialize terraform - Run
terraform plan -var-file=env/env1.tfvars
to see the plan (Let's sayenv1.tfvars
is forenv1
environment) - If happy with the plan, run
terraform apply -var-file=env/env1.tfvars
- If want to cleanup(or destroy all resources created by this example terraform code), run
terraform destroy -var-file=env/env1.tfvars
This repo has collection of example
Example | Description |
---|---|
ex1 | Simple example to create an EC2 instance |
ex2 | Use of Variables and Outputs |
ex3 | EMR Cluster and use of data sources |
ex4 | Remote Backend |
ex5 | Using Module |