Configuración de VPC y redes
Aprovisione una Virtual Private Cloud de AWS, subredes y grupos de seguridad con Terraform para proporcionar a su infraestructura una base de red segura y aislada.
Configuración de VPC y redes es una lección gratuita de Terraform Infrastructure as Code en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Terraform Infrastructure as Code, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Terraform Infrastructure as Code incluye 4 lecciones en total.
¿Por qué una VPC personalizada?
Cada cuenta de AWS incluye una VPC predeterminada, pero la infraestructura de producción merece una red diseñada por usted. Una VPC (Virtual Private Cloud) es una sección aislada de la nube de AWS donde controla los rangos de IP, las subredes, el enrutamiento y los firewalls.
Con Terraform describe toda la red como código, por lo que puede reproducirla en distintas regiones y cuentas.
Declaración del recurso VPC
El recurso aws_vpc es la raíz de su red. El bloque CIDR define el rango de IP privadas. Un bloque /16 proporciona aproximadamente 65.000 direcciones para dividirlas en subredes.
resource "aws_vpc" "main" {
cidr_block = "10.0.0.0/16"
enable_dns_support = true
enable_dns_hostnames = true
tags = {
Name = "main-vpc"
}
}Subredes públicas y privadas
Las subredes dividen el rango de la VPC en bloques más pequeños asociados a una zona de disponibilidad.
- Subred pública — se enruta a una puerta de enlace de Internet y se utiliza para balanceadores de carga y hosts bastión.
- Subred privada — no tiene una ruta directa a Internet y es ideal para bases de datos y servidores de aplicaciones.
Creación de una subred pública
Cada subred necesita su propio CIDR (una parte del rango de la VPC) y una zona de disponibilidad. Establecer map_public_ip_on_launch en true asigna automáticamente IP públicas a las instancias que se lancen aquí.
resource "aws_subnet" "public" {
vpc_id = aws_vpc.main.id
cidr_block = "10.0.1.0/24"
availability_zone = "us-east-1a"
map_public_ip_on_launch = true
tags = {
Name = "public-subnet"
}
}La puerta de enlace de Internet
Una puerta de enlace de Internet (IGW) permite que los recursos de una subred pública accedan a Internet. Se asocia directamente a la VPC.
resource "aws_internet_gateway" "gw" {
vpc_id = aws_vpc.main.id
tags = {
Name = "main-igw"
}
}Tablas de enrutamiento
Una subred solo se vuelve realmente pública cuando una tabla de enrutamiento envía el tráfico 0.0.0.0/0 a la puerta de enlace de Internet. Las tablas de enrutamiento asignan CIDR de destino a destinos.
resource "aws_route_table" "public" {
vpc_id = aws_vpc.main.id
route {
cidr_block = "0.0.0.0/0"
gateway_id = aws_internet_gateway.gw.id
}
}Asociación de rutas con subredes
Las tablas de enrutamiento no hacen nada hasta que se asocian a una subred. El recurso aws_route_table_association las vincula.
resource "aws_route_table_association" "public" {
subnet_id = aws_subnet.public.id
route_table_id = aws_route_table.public.id
}Grupos de seguridad como firewalls
Un grupo de seguridad es un firewall virtual con estado alrededor de una instancia. Con estado significa que el tráfico de respuesta a una solicitud entrante permitida se autoriza automáticamente, por lo que normalmente solo debe especificar las reglas de entrada que le interesen.
Definición de un grupo de seguridad web
A continuación, permitimos HTTP entrante desde cualquier lugar y todo el tráfico saliente. En implementaciones reales, restrinja el CIDR de origen tanto como sea posible.
resource "aws_security_group" "web" {
name = "web-sg"
vpc_id = aws_vpc.main.id
ingress {
from_port = 80
to_port = 80
protocol = "tcp"
cidr_blocks = ["0.0.0.0/0"]
}
egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
}
}Conexión de una instancia a la red
Asocie la subred y el grupo de seguridad a una instancia EC2 mediante subnet_id y vpc_security_group_ids. Esto coloca el servidor dentro de su red personalizada.
resource "aws_instance" "app" {
ami = "ami-0abcd1234"
instance_type = "t3.micro"
subnet_id = aws_subnet.public.id
vpc_security_group_ids = [aws_security_group.web.id]
}Cómo mostrar los ID de red
Exponga los ID clave como outputs para que otros módulos o su equipo puedan hacer referencia a ellos después de ejecutar apply.
output "vpc_id" {
value = aws_vpc.main.id
}
output "public_subnet_id" {
value = aws_subnet.public.id
}Comprobación rápida
Compruebe su comprensión del enrutamiento de VPC.
Resumen: su base de red
Ha creado una red completa en Terraform:
- aws_vpc con un rango CIDR.
- Subnets distribuidas entre Availability Zones, públicas o privadas.
- Internet gateway y tablas de rutas para el acceso público.
- Security groups como firewalls con estado.
Esta red es la base a la que se conecta cualquier otro recurso de AWS.
Preguntas frecuentes
¿La lección «Configuración de VPC y redes» es gratis?
Sí — el texto completo de «Configuración de VPC y redes» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Terraform Infrastructure as Code, actualiza a CoddyKit PRO. El curso de Terraform Infrastructure as Code incluye 4 lecciones en total.
¿Qué aprenderé en «Configuración de VPC y redes»?
Aprovisione una Virtual Private Cloud de AWS, subredes y grupos de seguridad con Terraform para proporcionar a su infraestructura una base de red segura y aislada. Practicas Terraform Infrastructure as Code con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Terraform Infrastructure as Code?
No se requiere experiencia previa. Terraform Infrastructure as Code en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Configuración de VPC y redes»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Terraform Infrastructure as Code?
Sí. Cada lección de Terraform Infrastructure as Code incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Configuración del proveedor de AWS
- Aprovisionamiento de instancias EC2
- Gestión de buckets de S3 e IAM
- Configuración de VPC y redes