Palabras Clave: `ARSAT Blog` `VPC` `Arquitectura de Red`
VPC en Nube ARSAT ☁️
===
Un VPC o Virtual Private Cloud es una arquitectura de red disponible en la plataforma de Nube de ARSAT, sobre la cual pueden desplegarse máquinas virtuales, conocidas también en este contexto como instancias. Actúa como un contenedor de múltiple redes aisladas (Isolated Network) que pueden comunicarse unas con otras mediante un router virtual.
![Arsat IaaS - Redes VPC Overview v5](https://hackmd.io/_uploads/rkO2cjxHA.svg)
Es definitiva, es una red virtual que intenta asemejarse a una red física tradicional con subredes (tiers) que cuentan con direccionamiento IP privado en un rango a elección del usuario (siempre que se encuentre dentro de la [RFC1918](https://datatracker.ietf.org/doc/html/rfc1918)) y sobre la cuales se crean instancias o máquinas virtuales. Una de las finalidades que tiene esta arquitectura de red es agrupar instancias similares en subredes. De esta forma se aislan ciertos componenetes de una aplicación mediante este criterio de segmentación.
## Componenetes y terminología:
- :package: **VPC:** Un VPC es un contenedor de múltiples redes aisladas que pueden comunicarse entre sí a través de su router virtual.
- :gear: **Tiers:** Cada tier (subred) actúa como una red aislada con su propia VLANs y CIDR. En ella se pueden agrupar recursos, como instancias. Los tiers están segmentados (aislados) entre ellos mediante VLANs. Cada tier de un VPC está conectado al router virtual que funciona como Default Gateway de la subred.
- :arrows_counterclockwise: **Router Virtual**: Un router virtual se crea e inicia automáticamente cuando se crea un VPC. El router virtual conecta cada uno de los tiers y dirige el tráfico hacia el Default Gateway, así como hacia el VPN Gateway si este existiese y estuviese configurado. También funciona en modo NAT para las instancias o máquinas virtuales. Para cada subred, existe una NIC y una IP correspondientes en el router virtual. El router proporciona a las subredes servicios de DNS, DHCP, Balanceador de Carga y VPN entre muchos otros.
- :arrow_heading_up: **Public Gateway**: Es el elemento que permite el tráfico hacia y desde internet, enrutando dicho tráfico a traves del router VPC. El Gateway Público no está expuesto al usuario final, por lo tanto, aquí no es posible establecer rutas estáticas de forma alguna.
- :arrow_heading_down: **Private Gateway** Es el elemento que permite el tráfico hacia y desde una red privada, enrutando el mismo a traves del router VPC.
- :arrow_double_up: **VPN Gateway**: Es la terminación del túnel VPN (uno de los "peers" o "lados" del túnel) en el router virtual VPC que se da cuando se establece una conexión VPN S2S.
- :incoming_envelope: **NAT**: Una instancia NAT proporciona una traducción de direcciones de ip y puertos para que las máquinas virtuales accedan a internet a través del Gateway Público.
## Opciones de conectividad para una VPC
Un VPC puede ser conectado de las siguientes maneras:
- :white_check_mark: A internet solamente, a través del Gateway Público
- :white_check_mark: DC to DC, mediante una conexión VPN sitio a sitio (S2S)
- :white_check_mark: DC to DC, mediante un Gateway Privado
- :white_check_mark: Internet y DC to DC mediante la combinación de cualquiera de las opciones anteriores
Por lo tanto, desde una perspectiva de conectividad un VPC puede ser utilizado de las siguientes formas,:
- VPC sólo con Gateway Público :arrow_heading_up:
- VPC con Gateway Público y Privado :arrow_heading_up::arrow_heading_down:
- VPC con Gateway Público, Gateway Privado y acceso VPN S2S :arrow_heading_up::arrow_heading_down::arrow_double_up:
- VPC sólo con Gateway Público y acceso VPN S2S (site to site):arrow_heading_up::arrow_double_up:
- VPC sólo con Gateway Privado y acceso VPN S2S (site to site) :arrow_heading_down::arrow_double_up:
## Consideraciones para las redes VPC
- :white_check_mark: Un VPC sólo puede pertenecer a una única zona de disponibilidad.
- :white_check_mark: El número máximo de tiers/subredes que pueden crearse en un VPC es de 5 subredes/tiers.
- :white_check_mark: Cada subred/tier debe tener un CIDR único dentro del mismo VPC. Se debe asegurar que el CIDR de la subred/tier esté dentro del intervalo de CIDR del VPC.
- :white_check_mark: Una subred/tier sólo puede pertenecer a un VPC.
- :white_check_mark: Todos las subredes/tiers dentro del VPC deben pertenecer a la misma cuenta.
- :white_check_mark: Cuando se crea un VPC, se le asigna por defecto una IP Pública SourceNAT (reservada para el servicio VPN). Esta IP Pública solo se libera cuando se elimina el VPC.
- :white_check_mark: La IP Pública SourceNat que se crea por defecto y no puede ser utilizada para Porforwarding y/o Static Nats.
- :white_check_mark: El servicio de balanceo de carga sólo puede ser soportado por una subred/tier dentro del VPC.
- :white_check_mark: Si se asigna una dirección IP Pública a una subred/tier, la misma solo puede ser utilizada en la subred/tier asignada y no más de una subred al mismo tiempo.
## Lista de ACLs en Subredes/Tiers VPC
En la terminología de CloudStack, una ACL (Access Control List) es un grupo de reglas de acceso que aplican a una red. Las reglas ACL de red se procesan por su orden, empezando por la regla con el número más bajo. Cada regla define al menos un protocolo afectado, un tipo de tráfico, una acción y una red de origen/destino afectada.
## Consideraciones sobre las ACLs
- :white_check_mark: Cada ACL está asociada a un VPC y puede asignarse a una o varias subredes/tiers de un mismo VPC.
- :white_check_mark: Cada subred/tier debe tener asociado una ACL.
- :white_check_mark: Solo puede existir una ACL asociada a una subred/tier a la vez.
- :white_check_mark: Existen dos ACLs predeterminadas disponibles:
- **«default_allow»**, permite el tráfico de entrada y salida
- **«default_deny»** que bloquea todo el tráfico de entrada y salida.
- :white_check_mark: Si no hay ninguna ACL personalizada disponible al momento de la creación de una subred/tier se debe utilizar en su lugar una de las ACLs predeterminada
- :white_check_mark: Las ACL de red por defecto no se pueden eliminar ni modificar.
- :white_check_mark: Las ACL recién creadas, aunque se muestran vacías, deniegan todo el tráfico entrante al nivel asociado y permiten todo el tráfico saliente.
- :white_check_mark: Al momento de editar una regla ACL el campo CIDR actúa como:
- **<<CIDR origen>>** para las reglas de entrada.
- **<<CIDR destino>>** para las reglas de salida.
- :white_check_mark: Para aceptar tráfico sólo desde o hacia las direcciones IP dentro de un bloque de direcciones concreto, introduzca un CIDR o una lista de CIDR separados por comas. El CIDR es la dirección IP base del tráfico entrante. Por ejemplo, 192.168.0.0/22.
- :white_check_mark: Para permitir todos los CIDR, establezca 0.0.0.0/0.
###### tags: `ARSAT Blog` `VPC` `Arquitectura de Red`