DevOps Classroom Series – 18/Oct/2020

Terraform contd..

  • Manual Steps:
    • Create a mysql rds instance in the dbsubnet group
      • instance size: db.t2.micro
      • sql database engine: mysql
      • version: 5.7
      • security group
      • credentials
  • Terraform Steps
    • Security group creation: For changes Refer Here Preview Preview
    • Lets create an rds instance. For changeset Refer Here Preview
  • Next Steps:
    • Lets create an ec2 instance in app subnet
    • Login into ec2 instance and execute the following commands
    sudo apt update
    sudo apt-cache search tomcat
    sudo apt install tomcat8 tomcat8-admin tomcat8-common tomcat8-docs tomcat8-examples -y
    cd /var/lib/tomcat8/webapps/
    sudo wget https://referenceappkhaja.s3-us-west-2.amazonaws.com/gameoflife.war
    
  • Automating above steps using terraform.
    • Create a security group for app server Refer Here Preview
    • Creating an ec2 instance can be done by terraform resource but here we need to login into ec2 instance and install software/configuration. We have two options
      • Try to create ec2 instance with image already containing software and configuration. (Automation of image creation can be done using Packer which we will be learning very soon)
      • Create an ec2 instance from terraform and provision the application using
        • shell scripts
        • Ansible
        • Salt Stack
        • Chef
        • Powershell Scripts
    • To Perform provisioning terraform has provisioners. Refer Here
    • When we are using provisioners we need to login into virtual machines which are generally windows or linux machines. To enable login into these vm’s terraform has Connection Refer Here
    • Terraform has a file provisioner Refer Here which can copy the files from local machine (Where terraform is executing) into remote machine (Machine created by terraform)
    • Terraform has a local-exec provisioner Refer Here which is used to run the executable on the local machine (where terraform is executing)
    • Terraform has a remote-exec provisioner Refer Here which is used to run the executable on the remote machine (machine created by terraform)
    • Terraform also has
    • Now if we observer our case,
      • we need to create ec2 instance => We can use terraform resource
      • login into the machine => We can use Provisioner Connection
      • execute the set of linux commands => We can use remote-exec
    • Refer Here for the changes done to the terraform script Preview

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Please turn AdBlock off
Social Media Icons Powered by Acurax Web Design Company

Discover more from Direct DevOps from Quality Thought

Subscribe now to keep reading and get access to the full archive.

Continue reading

Visit Us On FacebookVisit Us On LinkedinVisit Us On Youtube