VPC: Virtual Private Cloud

Una VPC es una forma de aislar la infraestructura que despliegas en AWS, de forma independiente al resto de clientes, mediante una infraestructura de red privada. Esa VPC permite personalizar las direcciones IP utilizadas, las subredes, las rutas, los gateways de red, …

A continuación tienes algunas características y servicios incluidos en la capa de VPC.

Características generales

  • Se puede tener un máximo de 5 VPC por Región (se puede ampliar este límite)
  • Máximo de subnets por VPC es 5. Rango más pequeño /28 y el más grande /26
  • Solo se pueden asociar direccionamientos privados a estas subredes

VPC por defecto

  • Todas las cuentas tienen una VPC por defecto
  • Las nuevas instancias se crean en esa VPC si no se especifica una subred
  • La VPC por defecto tiene acceso a Internet y todas las instancias tienen IP pública
  • También incluye una entrada DNS pública y privada

Subnets

En cada subred creada, se reservan 5 direcciones IP:

  • Dirección de red
  • Reservada para el VPC router
  • Reservada para el servidor DNS
  • Reservada para futuro uso
  • Dirección de broadcast

Internet Gateway (IGW)

  • Permite conexión a Internet desde las subredes del VPC.
  • Escala de forma horizontal y tiene HA
  • Una VPC solo puede tener asociado un IGW
  • El IGW también hace NAT para las instancias con direcciones IP públicas
  • Importante, es necesario crear las rutas correspondientes, para crear la ruta por defecto y enrutarla a través del IGW!

NAT Instance

Es una solución obsoleta, no se debe utilizar porque hay un servicio alternativo y más recomendable que esta opción (NAT Gateway). Consiste en una instancia EC2 que se encarga de hacer NAT para acceso a Internet de las redes privadas del VPC, para ello:

  • Actualizar la tabla de rutas de la subred privada, apuntando la ruta por defecto a la instancia de NAT
  • Crear una instancia EC2 donde configuraremos un software de NAT para el tráfico origen de la red privada (como iptables en instancias Linux), hay algunas AMI ya preconfiguradas para realizar esta función.
  • La instancia EC2 debe tener una red pública y conectarse a internet a través del IGW.

Esta solución no es recomendable porque la conectividad saliente depende de una única instancia EC2 para funcionar, y el rendimiento de esta puede afectar a esa conectividad.

NAT Gateway

Es el servicio de AWS de NAT totalmente gestionado con las siguientes características:

  • Pago por uso y ancho de banda, pago por horas
  • Se crea en una determinada AZ, utiliza una EIP
  • Para dotar de HA, se debe desplegar un NAT Gateway en cada AZ
  • No se puede utilizar desde la misma subred donde se despliega
  • Depende de un IGW (Red Privada -> NAT -> IGW)
  • Ancho de banda de 5Gbps con autoescalado hasta 45Gbps
  • No es necesario un SG

Aquí puedes ver una comparativa entre la instancia NAT y el NAT Gateway.

Resolución DNS

AWS proporciona un servicio de DNS, que asocia entradas DNS a los direccionamientos privados y/o públicos de una VPC.

enableDnsSupport

Indica si el VPC tiene resolución DNS, y por defecto está configurado a True.

Se consulta al DNS de AWS: 169.254.169.253

enableDnsHostname

Indica si se debe asociar una entrada DNS a las instancias públicas de EC2, pero debe estar habilitado el enableDnsSupport.

Está activo para el VPC por defecto, y desactivado para el resto de VPC que se crean.

NOTA: si se quiere utilizar una zona privada en Route 53 para la red privada de una VPC, los dos valores anteriores deben estar a True.

Network ACLs y Security Groups

NACL

Es un Firewall que controla el tráfico entrante y saliente a una subred. NACL es stateless, es decir, tanto el tráfico entrante como el saliente se debe permitir de forma explícita, o podemos estar permitiendo conexiones entrantes y bloqueando las respuestas a esas conexiones.

  • La NACL por defecto, permite todo el tráfico saliente y entrante
  • Las nuevas NACL creadas, rechazan todo por defecto
  • Una NACL por subred. A las nuevas subredes se le asigna la NACL por defecto
  • Las reglas tienen un número asociado. Los números más pequeños tienen mayor prioridad
  • La última regla tiene un *, y define la regla por defecto para la que no tenga una regla previa más específica
  • AWS recomienda crear reglas con identificadores de 100 en 100.
  • Es un buen método para bloquear una IP específica

Security Group

SG es statefull, es decir, si se permite una conexión entrante, también se permite el tráfico saliente relacionado con esa conexión:

  • Solo permite crear reglas de Aceptar tráfico, no para rechazar
  • Se evalúan todas las reglas definidas, para decidir si el tráfico se acepta o no
  • Se puede asociar a una o varias instancias

Aquí puedes ver una comparativa entre los Security Group y las NACL.

VPC Peering

Permite conectar dos VPC de forma privada, utilizando la red de AWS. No puede haber solapamiento de rangos de red entre las dos VPC, y eso permite que se puedan comunicar como si estuvieran en la misma red.

  • Se puede hacer VPC Peering entre dos cuentas AWS distintas, y también entre distintas regiones.
  • Al configurar el SG se puede hacer referencia a un SG de otra VPC Peering, aunque sea de otra cuenta.
  • La comunicación no es transitiva, es decir, si la VPC A y la VPC B están conectadas, y la VPC B y la VPC C también, la VPC A y la VPC C no se podrán comunicar salvo que establezcan el VPC Peering correspondiente
  • Se deben actualizar las rutas en cada subred a través del VPC Peering para que pueda haber comunicación entre ellas

VPC EndPoints

Permite acceder a servicios de AWS (S3, CloudWatch, DynamoDB, …) desde redes privadas del VPC sin tener que salir a Internet y volver a entrar, sino por direccionamiento privado:

  • Escala horizontalmente y está redundado
  • No es necesario IGW, NAT, … para acceder a estos servicios
  • Se aprovisiona un nuevo interfaz (ENI) con una IP privada para acceder a estos servicios.
  • Aparece como un nuevo target al crear una ruta en subred

Flow Logs

Es una herramienta para capturar información sobre el tráfico dirigido a los interfaces de red:

  • VPC Flow Logs
  • Subnet Flow Logs
  • ENI Flow Logs

Se utiliza para monitorización y resolver problemas de conectividad. Los logs pueden almacenarse en S3 o enviarse a CloudWatch Logs. También captura información de algunos servicios gestionados de AWS: ELB, RDS, ElastiCache, Redshift y WordSpaces.

Sintaxis de cada entrada de log:

<version><account-id><interface-id><srcaddr><dstaddr><srcport><dstport><protocol><packets><bytes><start><end><action><log-status>

VPN Gateway

Permite conectar las redes de nuestro VPC contra redes privadas de una infraestructura On-Premise. En el VPC se despliega este VPN Gateway y en el entorno OnPremise es necesario disponer de un terminador de túneles, software o hardware, con el requisito de que debe tener un direccionamiento público estático.

Bastion Host

Consiste en una instancia EC2 desplegada en una subred pública, y es la única máquina a la que se puede acceder desde fuera por SSH y/o RDP. Después, desde esta máquina tenemos acceso al resto de máquinas en las subredes privadas de nuestro VPC.

Direct Connect

Es una interconexión entre tu VPC de AWS y un entorno OnPremise, pero privado y dedicado.

Se necesita implementar un Virtual Private Gateway en el VPC, y después interconectar el entorno OnPremise con uno de los puntos de interconexión donde existen conexiones de AWS Direct Connect. A través de esta conexión se puede acceder a las subredes del VPC y también a los servicios de AWS, evitando que el tráfico vaya por Internet.

El tiempo de despliegue suele ser mayor a 1 mes.

Direct Connect Gateway

Es una forma de conectar con más de una VPC a través de una conexión Direct Connect. Estas VPC pueden estar en diferentes Regiones, pero en la misma cuenta.

Tipos

  • Conexiones dedicadas:
    • 1Gbps o 10Gbps
    • Puerto ethernet de acceso dedicado
    • Se solicita a AWS, pero se implementa con un partner de AWS
  • Hosted connection:
    • Desde 50Mbps hasta 10Gbps.
    • Se puede ampliar o reducir la capacidad bajo demanda
    • No es una conexión física dedicada

Cifrado

Los datos a través de Direct Connect NO van cifrados. Si se necesita que vayan cifrados, se puede establecer una VPN a través de Direct Connect.

Egress Only Internet Gateway

Es una solución similar al NAT, pero para IPv6 solamente.

Aunque las direcciones IPv6 que se despliegan son todas pública, utilizando un Egress Only Internet Gateway conseguiremos que estas máquinas puedan tener tráfico saliente, pero no entrante, es decir que no podrán ser accesibles desde Internet.

Private Link (VPC EndPoing Services)

Es una forma de permitir conexiones privadas entre distintos VPC, pero más controlada, porque el Peering VPC abre la conexión a toda la red y no solo a un servicio. De esta forma, controlamos mejor el acceso al servicio que queramos conectar desde otra VPC.

Necesita un Load Balancer en el VPC destino de las conexiones y un ENI en los VPC origen:

VPN CloudHub

Permite conectar múltiples sites OnPremise, entre ellos, a través de un terminador de VPN desplegado en AWS:

Transit Gateway

Permite peering entre cientos de VPC y sites OnPremise, haciendo de punto central de comunicaciones, de esta forma:

Costes del tráfico de red en AWS

¿Cuánto hay que pagar por el tráfico de AWS? Aquí tienes identificado cada tipo de tráfico, con el coste por GB:

Resumen

Aquí tienes un gráfico con cada componente que se puede desplegar en un VPC, en cuanto a elementos de red para conectividad interna y externa:

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.