deploy done atelier 2
This commit is contained in:
48
main.tf
48
main.tf
@@ -21,6 +21,11 @@ provider "aws" {
|
||||
}
|
||||
}
|
||||
|
||||
# --- Zones de disponibilite ---
|
||||
data "aws_availability_zones" "available" {
|
||||
state = "available"
|
||||
}
|
||||
|
||||
# --- VPC ---
|
||||
resource "aws_vpc" "main" {
|
||||
cidr_block = var.vpc_cidr
|
||||
@@ -34,24 +39,24 @@ resource "aws_vpc" "main" {
|
||||
|
||||
# --- Sous-reseaux ---
|
||||
resource "aws_subnet" "subnets" {
|
||||
count = length(var.subnet_cidrs)
|
||||
for_each = var.subnets
|
||||
|
||||
vpc_id = aws_vpc.main.id
|
||||
cidr_block = var.subnet_cidrs[count.index]
|
||||
availability_zone = var.availability_zones[count.index]
|
||||
cidr_block = each.value.cidr
|
||||
availability_zone = data.aws_availability_zones.available.names[index(keys(var.subnets), each.key)]
|
||||
|
||||
tags = {
|
||||
Name = "${var.trigramme}-subnet-${count.index + 1}"
|
||||
Name = "${var.trigramme}-${each.value.name}"
|
||||
}
|
||||
}
|
||||
|
||||
# --- AMI ---
|
||||
# --- Instances EC2 ---
|
||||
resource "aws_instance" "servers" {
|
||||
for_each = var.instances
|
||||
|
||||
# --- Instance EC2 ---
|
||||
resource "aws_instance" "server" {
|
||||
ami = var.ami_id
|
||||
instance_type = var.instance_type
|
||||
subnet_id = aws_subnet.subnets[0].id
|
||||
ami = each.value.ami
|
||||
instance_type = each.value.instance_type
|
||||
subnet_id = aws_subnet.subnets[each.value.subnet_key].id
|
||||
|
||||
root_block_device {
|
||||
volume_size = var.root_volume_size
|
||||
@@ -59,6 +64,27 @@ resource "aws_instance" "server" {
|
||||
}
|
||||
|
||||
tags = {
|
||||
Name = "${var.trigramme}-instance"
|
||||
Name = "${var.trigramme}-${each.key}"
|
||||
}
|
||||
}
|
||||
|
||||
# --- Volumes EBS additionnels ---
|
||||
resource "aws_ebs_volume" "additional" {
|
||||
for_each = var.instances
|
||||
|
||||
availability_zone = aws_instance.servers[each.key].availability_zone
|
||||
size = var.ebs_volume_size
|
||||
type = "gp3"
|
||||
|
||||
tags = {
|
||||
Name = "${var.trigramme}-ebs-${each.key}"
|
||||
}
|
||||
}
|
||||
|
||||
resource "aws_volume_attachment" "attach" {
|
||||
for_each = var.instances
|
||||
|
||||
device_name = "/dev/sdf"
|
||||
volume_id = aws_ebs_volume.additional[each.key].id
|
||||
instance_id = aws_instance.servers[each.key].id
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user