Skip to main content

Apache configration via terraform using REMOTE provisioner

 Apache configration via terraform using provisioner
in every instance use key pair 
craete one file index.html
write anything  
here we haven't used security group it will use the default but make sure
you will go to inbound rules do it anywhere.
now check public IP it will show our index message 
if we want to go inside instance 
ssh -I developer ec2-user@publickey







====================================================




VI AWS.TF

provider "aws" {
  region     = "us-east-1"
  access_key = "AQ"
  secret_key = "Kaurid"
}





resource "aws_key_pair" "developer" {
  key_name   = "developer"
  public_key = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDhI176Z0ylP2WdWAbI2hrFf5oEHlnZ0zcSm85SGysuwx/lMl0F+muOcke0wS90f5NU+bUAKNL2hWFozx/HxEtaquM77go+eWY9lg1E7q9Ls8nzVv1pddNgtS7Cihgzd7UaXDq0ayhOUBO1y6nMZYobFNy4E63vBuCYyhHwPAT7mheZm2GphKYrkd1Qt4qvcZcJ4CBmjCwQ3VBdwOhk8ZdKc7BdpLNPENNCLkzswhNcpRInRADMAM1ZgPikKt8wEaeMX/Hg2Mrk0MS49mYFnPxc1G5DuSsW7P9L+7IzbGI2pl4RSLM8/IlFef/i1HWgdaDCJpejgxLX4Hux9EUyqtd1 root@ip-172-31-46-6.ap-south-1.compute.internal"

}

resource "aws_instance" "web" {
  ami           = "ami-02e136e904f3da870"
  instance_type = "t3.nano"
  key_name = "developer"
  tags = {
    Name = "prod"
}

provisioner "file" {
  source = "/home/ec2-user/projectB/index.html"
  destination = "/tmp/index.html"

}

provisioner "remote-exec" {
  inline = [
    "sudo yum install httpd -y",
    "systemctl start httpd",
    "systemctl enable httpd",
    "sudo cp /tmp/index.html /var/www/html",
    "sudo systemctl restart httpd"
]
}
connection {
  host = self.public_ip
  user = "ec2-user"
  type = "ssh"
  private_key = file("./developer")               { learn how to use private key because its on current path thats y we use file
}


}

  

Comments

Popular posts from this blog

Packer Environment Variable

Note:  1011  export AWS_ACCESS=AKGQ                         do this on console not on editor  1012  export AWS_SECRET=KfVkt1aurid  1013  echo $AWS_ACCESS  1014  AKVUGQ   vim moon.json {     "variables": {       "aws_access_key": "{{env `AWS_ACCESS`}}",       "aws_secret_key": "{{env `AWS_SECRET`}}"     },        "builders": [            {            "type": "amazon-ebs",            "region": "us-east-1",            "access_key": "{{user `aws_access_key`}}",            "secret_key": "{{user `aws_secret_key`}}",            "instance_type": "t2.micro",            "source_ami": "ami-02e136e904f3da870", ...

copying snap from one REGION to another

 while copying snap from one to another we need to change region provider "aws" {   region     = "us-west-1"   access_key = "AGQ"   secret_key = "Kurid" } resource "aws_ebs_snapshot_copy" "example_copy" {   source_snapshot_id = "snap-08bc5c27dad8e82b3"   source_region      = "us-east-1"   tags = {     Name = "HelloWorld_copy_snap"   } }

File Provisioner

 Note: file provisioner is used to copy file we have created one file vim clod now how to checck its been copied  go to ami and launch image and create instance  vi pro.json {        "builders": [            {            "type": "amazon-ebs",            "region": "us-east-1",            "access_key": "AUGQ",            "secret_key": "Kurid",            "instance_type": "t2.micro",            "source_ami": "ami-02e136e904f3da870",            "ssh_username": "ec2-user",            "ami_name": "moon-amiii"            }        ],        "provisioners": [                {   ...