Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

readme.md

Terraform

Projects

  • Provision EC2 based HTTP Servers with Load Balancer
  • Provision AWS and Azure Kubernetes Clusters (Azure DevOps Pipelines)

Steps

  • Step 01 - Creating and Initializing First Terraform Project
  • Step 02 - Create AWS IAM User Access Key and Secret
  • Step 03 - Configure Terraform Environment Variables for AWS Access Keys
  • Step 04 - Creating AWS S3 Buckets with Terraform
  • Step 05 - Playing with Terraform State - Desired, Known and Actual
  • Step 06 - Playing with Terraform Console
  • Step 07 - Creating AWS IAM User with Terraform
  • Step 08 - Updating AWS IAM User Name with Terraform
  • Step 09 - Understanding Terraform tfstate files in depth
  • Step 10 - gitignore Terraform tfstate files
  • Step 11 - Refactoring Terraform files - Variables, Main and Outputs
  • Step 12 - Creating Terraform Project for Multiple IAM Users
  • Step 13 - Playing with Terraform Commands - fmt, show and console
  • Step 14 - Recovering from Errors with Terraform
  • Step 15 - Understanding Variables in Terraform
  • Step 16 - Creating Terraform Project for Understanding List and Map
  • Step 17 - Adding Elements - Problem with Terraform Lists
  • Step 18 - Creating Terraform Project for Learning Terraform Maps
  • Step 19 - Quick Review of Terraform FAQ
  • Step 20 - Understanding Creation of EC2 Instances in AWS Console
  • Step 21 - Creating New Terraform Project for AWS EC2 Instances
  • Step 22 - Creating New EC2 Key Pair and Setting Up
  • Step 23 - Adding AWS EC2 Configuration to Terraform Configuration
  • Step 24 - Installing Http Server on EC2 with Terraform - Part 1
  • Step 25 - Installing Http Server on EC2 with Terraform - Part 2
  • Step 26 - Remove hardcoding of Default VPC with AWS Default VPC
  • Step 27 - Remove hardcoding of subnets with Data Providers
  • Step 28 - Remove hardcoding of AMI with Data Providers
  • Step 29 - Playing with Terraform Graph and Destroy EC2 Instances
  • Step 30 - Creating New Terraform Project for AWS EC2 with Load Balancers
  • Step 31 - Create Security Group and Classic Load Balancer in Terraform
  • Step 32 - Review and Destroy AWS EC2 with Load Balancers
  • Step 33 - Creating Terraform Project for Storing Remote State in S3
  • Step 34 - Create Remote Backend Project for Creating S3 Buckets
  • Step 35 - Update User Project to use AWS S3 Remote Backend
  • Step 36 - Creating multiple environments using Terraform Workspaces
  • Step 37 - Creating multiple environments using Terraform Modules

Commands Executed

brew install terraform
terraform --version
terraform version
terraform init
export AWS_ACCESS_KEY_ID=*******
export AWS_SECRET_ACCESS_KEY=*********
terraform plan
terraform console
terraform apply -refresh=false
terraform plan -out iam.tfplan
terraform apply "iam.tfplan"
terraform apply -target="aws_iam_user.my_iam_user"
terraform destroy
terraform validate
terraform fmt
terraform show
export TF_VAR_iam_user_name_prefix = FROM_ENV_VARIABLE_IAM_PREFIX
export TF_VAR_iam_user_name_prefix=FROM_ENV_VARIABLE_IAM_PREFIX
terraform plan -refresh=false -var="iam_user_name_prefix=VALUE_FROM_COMMAND_LINE"
terraform apply -target=aws_default_vpc.default
terraform apply -target=data.aws_subnet_ids.default_subnets
terraform apply -target=data.aws_ami_ids.aws_linux_2_latest_ids
terraform apply -target=data.aws_ami.aws_linux_2_latest
terraform workspace show
terraform workspace new prod-env
terraform workspace select default
terraform workspace list
terraform workspace select prod-env