mirror of
https://github.com/bregman-arie/devops-exercises.git
synced 2026-02-04 23:59:11 +00:00
Added Solution for AWS - Launch EC2 Web Instance Using Terraform (#10260)
Co-authored-by: Kranthi <devarapallykranthikumar@gmail.com>
This commit is contained in:
parent
4425b6a325
commit
9e89d10b61
@ -37,3 +37,58 @@ echo "<h1>I made it! This is is awesome!</h1>" > /var/www/html/index.html
|
||||
9. In the security group section, add a rule to accept HTTP traffic (TCP) on port 80 from anywhere
|
||||
10. Click on "Review" and then click on "Launch" after reviewing.
|
||||
11. If you don't have a key pair, create one and download it.
|
||||
|
||||
12. ### Solution using Terraform
|
||||
|
||||
```
|
||||
|
||||
provider "aws" {
|
||||
region = "us-east-1" // Or your desired region
|
||||
}
|
||||
|
||||
resource "aws_instance" "web_server" {
|
||||
ami = "ami-12345678" // Replace with the correct AMI for Amazon Linux 2
|
||||
instance_type = "t2.micro" // Or any instance type with 1 vCPU and 1 GiB memory
|
||||
|
||||
tags = {
|
||||
Name = "web-1"
|
||||
Type = "web"
|
||||
}
|
||||
|
||||
root_block_device {
|
||||
volume_size = 8 // Or any desired size
|
||||
delete_on_termination = true
|
||||
}
|
||||
|
||||
provisioner "remote-exec" {
|
||||
inline = [
|
||||
"sudo yum update -y",
|
||||
"sudo yum install -y httpd",
|
||||
"sudo systemctl start httpd",
|
||||
"sudo bash -c 'echo \"I made it! This is awesome!\" > /var/www/html/index.html'",
|
||||
"sudo systemctl enable httpd"
|
||||
]
|
||||
|
||||
connection {
|
||||
type = "ssh"
|
||||
user = "ec2-user"
|
||||
private_key = file("~/.ssh/your_private_key.pem") // Replace with the path to your private key
|
||||
host = self.public_ip
|
||||
}
|
||||
}
|
||||
|
||||
security_group_ids = [aws_security_group.web_sg.id]
|
||||
}
|
||||
|
||||
resource "aws_security_group" "web_sg" {
|
||||
name = "web_sg"
|
||||
description = "Security group for web server"
|
||||
|
||||
ingress {
|
||||
from_port = 80
|
||||
to_port = 80
|
||||
protocol = "tcp"
|
||||
cidr_blocks = ["0.0.0.0/0"]
|
||||
}
|
||||
}
|
||||
```
|
||||
Loading…
x
Reference in New Issue
Block a user