Una acción muy común a hacer cuando se trata de la red en AWS es crear un peering.
¿Qué es un peering?
A VPC peering connection is a networking connection between two VPCs that enables you to route traffic between them using private IPv4 addresses or IPv6 addresses. Instances in either VPC can communicate with each other as if they are within the same network. You can create a VPC peering connection between your own VPCs, or with a VPC in another AWS account. The VPCs can be in different Regions (also known as an inter-Region VPC peering connection).
AWS VPC docs
Es una práctica muy habitual y mira, me apetecía hacer el tutorial.
1. Recopilar datos
Necesitaremos por cada cuenta
- Id de la cuenta
- Id de la VPC
- CIDR de la VPC
Hemos de distinguir cada cuenta como
- Cuenta “solicitante”
- Cuenta “aceptante”
2. Crear la solicitud de VPC Peering en la cuenta del solicitante
Vamos a la cuenta A y creamos la solicitud.
1. Inicia sesión en la Consola de AWS con la cuenta de la “VPC del solicitante”.
2. Navega hasta el servicio VPC
3. En el panel de navegación izquierdo, selecciona “Peering de VPC”.
4. Haz clic en “Crear Peering de VPC”.
5. Rellena los siguientes datos
En Name pondremos un nombre que claramente identifique el propósito del peering, por ejemplo: “peering-staging-account”.
En VPC ID hemos de seleccionar el VPC ID de la cuenta “solicitante”.
Luego tenemos la sección de la parte de la cuenta “aceptante”.
Podemos escoger si es un peering con una VPC de la misma cuenta u otra cuenta.
Y finalmente la región, si es la misma región u otra región diferente.
Hemos de añadir por último, la VPC ID de la cuenta “aceptante”.
Tenéis que tener en cuenta posibles limitaciones del peering en sí mismo como el coste o limitaciones que puedan afecta a servicios. Es posible el peering entre cuentas y entre regiones pero como decimos, hay que considerar el coste. El tráfico entre VPCs en diferentes regiones se enruta a través de la red global de AWS, lo que puede resultar en latencias más altas y posiblemente costos adicionales por transferencia de datos, dependiendo de las políticas de precios de AWS.
6. Hacemos click en “Create peering connection”
Al clickar veremos en mensaje en verde.
Veremos una pantalla con todos los detalles del peering en la cuenta solicitante.
Para que funcione el peering, ahora, debemos ir a la cuenta aceptante y aceptar la solicitud.
Veremos que, en la cuenta solicitante, el peering nos dice que está en espera. Esta solicitud tiene un tiempo de expiración.
3. Aceptar la solicitud de VPC Peering en la cuenta aceptante
1. Inicia sesión en la Consola de AWS con la cuenta del “VPC aceptante”.
2. Navega hasta el servicio VPC.
3. En el panel de navegación izquierdo, selecciona “Peering de VPC”.
Podremos ver que hay una solicitud en espera.
Las posibles acciones son estas:
- Ver detalles
- Aceptar petición
- Rechazar petición
- Administrar tags
- Borrar peering conexión
Haremos click en “Aceptar petición”.
Veremos un resumen antes de aceptar, revisamos y aceptamos.
4. Configuración adicional
Después de que la solicitud sea aceptada, necesitarás configurar las rutas de enrutamiento apropiadas en las tablas de rutas de las VPC involucradas para permitir el tráfico entre las subredes de las VPC peering.
Dependiendo como hayamos configurado nuestra red, tendremos que modificar una o más tablas de rutas.
Por poner un ejemplo, queremos que todo el tráfico hacia la cuenta B (aceptante) desde la cuenta A (solicitante) salga por el peering. Editaremos las tablas de rutas necesarias en la cuenta A. Y haremos lo contrario en la cuenta B para crear un tráfico bidireccional.
Finalmente, tendremos que abrir en los diferente SecurityGroups los puertos a las IPs de las redes involucradas para dejar pasar el tráfico.
De esta manera hemos completado el peering entre dos VPCs.