bbw/instances.tf

46 lines
1.6 KiB
Terraform
Raw Permalink Normal View History

2024-01-20 23:28:11 +01:00
resource "aws_db_instance" "mariadb" {
allocated_storage = 20
storage_type = "gp2"
engine = "mariadb"
engine_version = "10.6.14"
instance_class = "db.t3.micro"
db_name = var.db_name
username = var.db_username
password = var.db_password
port = var.db_port
skip_final_snapshot = true
vpc_security_group_ids = [aws_security_group.rds.id]
db_subnet_group_name = aws_db_subnet_group.private.name
}
resource "aws_instance" "ec2_instance" {
instance_type = "t3.micro"
ami = data.aws_ami.ubuntu_22_04.id
subnet_id = aws_subnet.public.id
vpc_security_group_ids = [aws_security_group.ec2.id]
key_name = aws_key_pair.ansible.key_name
lifecycle {
ignore_changes = [ami]
}
provisioner "local-exec" {
command = "ansible-playbook -u ubuntu --private-key='${var.private_key}' -i '${aws_instance.ec2_instance.public_ip},' --extra-vars 'web_public_ip=${aws_instance.ec2_instance.public_ip} db_address=${aws_db_instance.mariadb.address} db_name=${var.db_name} db_username=${var.db_username} db_password=${var.db_password} db_port=${var.db_port}' ansible/all.yml"
interpreter = ["/bin/bash", "-c"]
environment = {
ANSIBLE_HOST_KEY_CHECKING = "False"
}
}
}
data "aws_ami" "ubuntu_22_04" {
most_recent = true
filter {
name = "name"
values = ["ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*"]
}
filter {
name = "virtualization-type"
values = ["hvm"]
}
owners = ["099720109477"]
}