53 lines
1.0 KiB
HCL
53 lines
1.0 KiB
HCL
# terraform {
|
|
# required_providers {
|
|
# aws = {
|
|
# source = "hashicorp/aws"
|
|
# version = "~> 6.0"
|
|
# }
|
|
# tls = {
|
|
# source = "hashicorp/tls"
|
|
# version = "~> 4.0"
|
|
# }
|
|
# }
|
|
# }
|
|
|
|
# provider "aws" {
|
|
# region = "us-east-1"
|
|
# }
|
|
|
|
# --- New RSA key pair ---
|
|
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
|
|
}
|
|
|
|
# --- Default VPC + its default security group ---
|
|
data "aws_vpc" "default" {
|
|
default = true
|
|
}
|
|
|
|
data "aws_security_group" "default" {
|
|
vpc_id = data.aws_vpc.default.id
|
|
name = "default"
|
|
}
|
|
|
|
# --- EC2 instance ---
|
|
resource "aws_instance" "devops_ec2" {
|
|
ami = "ami-0c101f26f147fa7fd"
|
|
instance_type = "t2.micro"
|
|
key_name = aws_key_pair.devops_kp.key_name
|
|
vpc_security_group_ids = [data.aws_security_group.default.id]
|
|
|
|
credit_specification {
|
|
cpu_credits = "standard"
|
|
}
|
|
|
|
tags = {
|
|
Name = "devops-ec2"
|
|
}
|
|
} |