Sunday, October 21, 2018

Create SonarQube instance using Terraform - Setup SonarQube instance using Terraform

Execute the below command after login to EC2 where you installed Terraform:

navigate to project-terraform folder where you have created already tf files.

cd ~/project-terraform

if you are using Apple laptop or EC2 instance, execute below command:

sudo vi sonar.tf 

for Windows laptop use below command:

notepad sonar.tf

Copy the below content with green background:

Change the key name marked red below per your key name:

resource "aws_vpc" "main" {
  cidr_block = "172.16.0.0/16"
  instance_tenancy = "default"
  tags = {
    Name = "main"
  }
}

 resource "aws_security_group" "security_sonar_group_2021" {
      name        = "security_sonar_group_2021"
      description = "security group for Sonar"
       vpc_id =aws_vpc.main.id

      ingress {
        from_port   = 9000
        to_port     = 9000
        protocol    = "tcp"
        cidr_blocks = ["0.0.0.0/0"]
      }

     ingress {
        from_port   = 22
        to_port     = 22
        protocol    = "tcp"
        cidr_blocks = ["0.0.0.0/0"]
      }

     # outbound from Sonar server
      egress {
        from_port   = 0
        to_port     = 65535
        protocol    = "tcp"
        cidr_blocks = ["0.0.0.0/0"]
      }

      tags= {
        Name = "security_sonar"
      }
    }

    resource "aws_instance" "mySonarInstance" {
      ami           = "
ami-0b9064170e32bde34"
      key_name = "ChangeMeKey"
      instance_type = "t2.micro"
      security_groups= [ "
security_sonar_group_2021"]
      tags= {
        Name = "sonar_instance"
      }
    }

# Create Elastic IP address for Sonar instance
resource "aws_eip" "mySonarInstance" {
  vpc      = true
  instance = aws_instance.mySonarInstance.id
tags= {
    Name = "sonar_elastic_ip"
  }
}

3.  execute below command:
    terraform plan
4. and then
    terraform apply

Now you will see a new instance being created in AWS console.