resource "aws_instance" "devops_ec2" {
ami = "ami-0c101f26f147fa7fd"
instance_type = "t2.micro"
vpc_security_group_ids = [data.aws_security_group.default_sg.id]
key_name = aws_key_pair.devops_kp.key_name
tags = {
Name = "devops-ec2"
}
}
resource "aws_key_pair" "devops_kp" {
key_name = "devops-kp"
public_key = "ssh-rsa-server-key"
}
data "aws_security_group" "default_sg" {
name = "default"
}
# terraform init
# terraform validate
# terraform plan
# terraform apply --auto-approve
# terraform show
Hi @GautamGohel
Could you please confirm if the EC2 instance type was required as t2.micro?
Usually, all labs ask for t3.micro.
You need to create a tls_private_key resource and reference the public key in the aws_key_pair block:
resource "tls_private_key" "devops_kp" {
algorithm = "RSA"
rsa_bits = 4096
}
resource "aws_key_pair" "devops_kp" {
key_name = "devops-kp"
public_key = tls_private_key.devops_kp.public_key_openssh
}
Step 1 - create ssh key - ssh-keygen -t rsa -b 4096 -f datacenter-kp
Step 2 - create main.tf file
resource “aws_instance” “datacenter_ec2” {
ami = “ami-0c101f26f147fa7fd”
instance_type = “t2.micro”
vpc_security_group_ids = [data.aws_security_group.default.id]
key_name = aws_key_pair.datacenter_kp.key_name
tags = {
Name = “datacenter-ec2”
}
}
resource “aws_key_pair” “datacenter_kp” {
key_name = “datacenter-kp”
public_key = “ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCqnTGgTy54dpb013EyUVwVZHrMCQLQVP3dAmc3Er2cQ6i/QHwm6UOPGUccBdWJmZ0AP6cRwOcQnAwZHSM7afZxWdaooAc4uaehG5KEX7Re/Z/VYEREjoZdNRVsm+jpXY7jb8w9RiU/tZLAWW5fcB1lHDwzRA88Wg19YXKYDn/uwhoKwhHOFRVk3KFOenSzotv/knmyuonljuXBp6t5OSTLNwPDI1qA8slf83aUuWREqbMfyWIH6Mt34FvnLZD1Ws2gQxLwnuUJySrUcCopslWKy0TKINfXYiNLSM5mjFp/rV67JcSFhDdPeeCDvIh45PYtEBgRuPAU0Xffa7WoiGs9sprV7PlcSEKMAJGjXm39f0/AZdVIvZdxZWQcQHImB+/57b1IetPEYKk5cWVyrrNYgS/w6l98PwTjL/svf9ptcq2EZYFcFvyZ1R5g1AUVG/z91bYtx1diLQkNNh0PCJxT6SlZd+0OztGJWoB4Y4QNanPR/4CD9slE90Icr1kgwls= bob@iac-server”
}
data “aws_security_group” “default” {
name = “default”
}
