Saltar al contenido

Ejemplo de código de documentación de aws vpc terraform

Recuerda que en las ciencias un error puede tener diversas soluciones, no obstante nosotros enseñamos la mejor y más óptimo.

Ejemplo 1: creación de aws vpc usando terraform

provider "aws" 
      region     = "$var.region"
      access_key = "$var.access_key"
      secret_key = "$var.secret_key"



# VPC resources: This will create 1 VPC with 4 Subnets, 1 Internet Gateway, 4 Route Tables. 

resource "aws_vpc" "default" 
  cidr_block           = var.cidr_block
  enable_dns_support   = true
  enable_dns_hostnames = true


resource "aws_internet_gateway" "default" 
  vpc_id = aws_vpc.default.id


resource "aws_route_table" "private" 
  count = length(var.private_subnet_cidr_blocks)

  vpc_id = aws_vpc.default.id


resource "aws_route" "private" 
  count = length(var.private_subnet_cidr_blocks)

  route_table_id         = aws_route_table.private[count.index].id
  destination_cidr_block = "0.0.0.0/0"
  nat_gateway_id         = aws_nat_gateway.default[count.index].id


resource "aws_route_table" "public" 
  vpc_id = aws_vpc.default.id


resource "aws_route" "public" 
  route_table_id         = aws_route_table.public.id
  destination_cidr_block = "0.0.0.0/0"
  gateway_id             = aws_internet_gateway.default.id


resource "aws_subnet" "private" 
  count = length(var.private_subnet_cidr_blocks)

  vpc_id            = aws_vpc.default.id
  cidr_block        = var.private_subnet_cidr_blocks[count.index]
  availability_zone = var.availability_zones[count.index]


resource "aws_subnet" "public" 
  count = length(var.public_subnet_cidr_blocks)

  vpc_id                  = aws_vpc.default.id
  cidr_block              = var.public_subnet_cidr_blocks[count.index]
  availability_zone       = var.availability_zones[count.index]
  map_public_ip_on_launch = true


resource "aws_route_table_association" "private" 
  count = length(var.private_subnet_cidr_blocks)

  subnet_id      = aws_subnet.private[count.index].id
  route_table_id = aws_route_table.private[count.index].id


resource "aws_route_table_association" "public" 
  count = length(var.public_subnet_cidr_blocks)

  subnet_id      = aws_subnet.public[count.index].id
  route_table_id = aws_route_table.public.id



# NAT resources: This will create 2 NAT gateways in 2 Public Subnets for 2 different Private Subnets.

resource "aws_eip" "nat" 
  count = length(var.public_subnet_cidr_blocks)

  vpc = true


resource "aws_nat_gateway" "default" 
  depends_on = ["aws_internet_gateway.default"]

  count = length(var.public_subnet_cidr_blocks)

  allocation_id = aws_eip.nat[count.index].id
  subnet_id     = aws_subnet.public[count.index].id

Ejemplo 2: aws terraform vpc

resource "aws_vpc" "<nameyourvpc>" 
  cidr_block = "10.0.0.0/16"

	tags =  (optional)
  		Name = "<nameyourvpc>"
	

Comentarios y calificaciones del post

Tienes la opción de reafirmar nuestro cometido exponiendo un comentario o puntuándolo te damos las gracias.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *