# #100DíasdeAWS | Día 12 | Virtual Private Cloud

Hoy nosotros hablaremos acerca de un aspecto integral de la nube de **AWS**. Todos tenemos uno por defecto en cada región de nuestra cuenta en **AWS**, y nos puede proveer una herramienta valiosa para separar de forma lógica y segura tus soluciones que se ejecutan en **AWS**. Esta publicación en nuestra serie de **#100DíasdeAWS** es acerca de **VPC (Virtual Private Cloud)**.

La **VPC** es un servicio que le permite construir tu propia área aislada de forma lógica y secura de la nube de **AWS**. Podrías casi pensar esto como tu propio centro de datos personal, con la capacidad de dividirlo en secciones y alojar su propio entorno con subcomponentes diferentes de la **VPC**, el cual nosotros hablaremos con más detalle a medida que avancemos.

¡Tú tienes el control completo sobre este entorno! Nadie comparte esta parte lógica de **AWS** contigo. Y puedes aprovisionarla como gustes. Para hacer esto realmente fácil comenzar a usar **AWS**, se te proporciona una **VPC** por defecto que está diseñada para ayudarlo rápidamente a lanzar aplicaciones en un entorno seguro. Pero la cuota le permite crear hasta 5 **VPC** por región. Permitiendo una gran cantidad de flexibilidad en su red.

La **VPC** predeterminada que es lanzada y creada automáticamente en su cuenta tiene la siguiente configuración:

* La **VPC** predeterminada tiene un bloque **CIDR** en **IPv4** de (172.31.0.0./16). Esto proporciona hasta 65.536 direcciones **IPv4** privadas.
    
* Cada zona de disponibilidad (**AZ**) tiene una subred /20. Esto le permite tener hasta 4.096 direcciones **IPv4** por subred, algunas son reservadas para uso de **AWS**.
    
* Tiene una puerta de enlace (**Gateway**) conectado a su **VPC** que le permite acceso a Internet.
    
* La ruta predeterminada a la tabla de rutas principal apunta todo el tráfico (0.0.0.0/0) a la puerta de enlace de Internet.
    
* Un grupo de seguridad (**Security Group**) es creado y asociado con su **VPC** predeterminado.
    
* Una lista de control de acceso a la red (**ACL**) predeterminada, es creada y asociada a su **VPC** predeterminada.
    
* Las opciones de **DHCP** predeterminadas se establece para su cuenta de **Amazon** con su **VPC** predeterminada.
    

Ahora vamos a darle un vistazo más profundo a algunos de estos subcomponentes de la **VPC** y ver que hacen ellos. También mencionaremos algunos subcomponentes que puedes agregar a su **VPC** que no están en la **VPC** predeterminada.

## Subredes

Las subredes son particiones de la Zona de Disponibilidad (**AZ - Availability Zone**) dentro de una Región, en la que se lanza su **VPC**. La ventaja de esto es que puedes tener diferentes servicios operando en diferentes subredes, por ejemplo, un sitio web alojado en una instancia **EC2** alojada en una **Subred Pública** (rutas a Internet) conectado a una instancia de base de datos en una **Subred Privada** (sin acceso directo a Internet). Esta agrupación de particiones en su **AZ** es extremadamente útil y puedes también determinar el tamaño de la subred usando bloques en notación CIDR (ejemplo: /28 = 16 direcciones IP).

### Elastic Network Interfaces

Una **ENI** es una tarjeta de interfaz de red virtual (**NIC**). Se puede adjuntar a instancias **EC2**, y son usadas para habilitar la conectividad de red. Puedes conectar más de una a su instancia, esto le permitirá comunicarse en dos subredes diferentes.

### Tabla de Enrutamiento

Las tablas de enrutamiento guían el tráfico dentro de sus subredes a donde quiera que vaya. Este es un aspecto obligatorio de una subred, pero se pueden adjuntar varias subredes a la misma tabla de rutas. Cada registro en una tabla de enrutamiento se denomina ruta.

### Internet Gateways

Una puerta de enlace de Internet (o **IGW)** es la forma en que su VPC accede a Internet. Proporciona una ruta en su tabla de rutas y proporciona **NAT** a sus instancias con una dirección IPV4 pública. Se debe agregar una ruta a su tabla de rutas con 0.0.0.0/0 hacia **IGW** para acceder a Internet.

Existe un equivalente IPV6 para esta tecnología, conocido como **Gateway** de Internet de solo salida. Si está interesado, lea más sobre esto aquí.

### Direcciones IP Elásticas

Se puede adjuntar una dirección **IP Elástica** a sus instancias para garantizar que la dirección **IP** nunca cambie al reiniciar o detener e iniciar sus instancias. Esta es una función útil porque si se habilita una **IP Elástica**, puede asegurarse de que no tiene que reconfigurar ninguna conexión a la instancia para que coincida con las nuevas direcciones **IP** que pueda tener.

Se asigna a su cuenta hasta que lo libera, y solo se le cobran cuando no están en uso en su cuenta, ¡así que asegúrese de estar usándolo! Si no, simplemente libérelo de vuelta a **AWS**.

### Punto de enlace VPC

Actualmente, hay dos tipos de instancias de VPC que puede configurar cuando configuras su VPC:

1. ***Interfaces Endpoints*** - También conocidos como enlace privado de **AWS,** las **Interfaces Endpoint** son formas en que utiliza la red troncal privada de **AWS** para enrutar el tráfico entre los servicios de **AWS** para reducir la latencia y evitar el uso de Internet público. ¡Ya no necesita un **IGW**, una **NAT Gateway/ NAT instancia**, direcciones IP públicas o conexión directa para conectar sus servicios a través de la **Interface Endpoint**! Existe una gama de servicios admitidos para su uso por **Interface Endpoints**, y si desea ver una lista de servicios admitidos, eche un vistazo a este [video](https://www.youtube.com/watch?v=uypq9zY2cg4).
    
2. ***Gateway Endpoints*** - Son un objetivo en su tabla de rutas para un servicio soportado de **AWS.** Solo hay dos servicios de **AWS** admitidos actualmente, **S3**, y **DynamoDB**. ¡La mejor noticia es que son completamente gratis!.
    

### NAT Gateway / NAT Instances

Antes de **NAT Gateways**, todo lo que había eran instancias **NAT**. Una **NAT Instance** es una instancia **EC2** regular que tuvo que configurarse para la reasignación de instancias privadas para conectarse a Internet. Una **NAT Instance** tiene que vivir en una subred pública para funcionar correctamente.

Un **Gateway NAT** es una versión administrada de esto, porque históricamente las **NAT Instances** son difíciles de mantener y administrar, y no son redundantes. Si tiene un **NAT Gateway**, **AWS** agrega otra instancia redundante para fines de recuperación ante desastres. Además, vale la pena señalar que las **NAT Gateway** no son **multi-AZ**.

### VPC Peering

Es una manera de conectar servicios en diferentes **VPCs** juntas. Solo puede conectarse uno a uno, y usted no puede usar interconexión transitiva, y las **VPC** pueden interconectarse para conexiones **IPV4** e **IPV6**. Puede crear una interconexión de VPC entre sus propias **VPC** o con una **VPC** en otra cuenta de **AWS**. Las **VPC** pueden estar en diferentes regiones (también conocidas como interconexiones de VPC entre regiones). También debe asegurarse de que los bloques **CIDR** en las **VPC** no se superpongan; de lo contrario, las **VPC** no podrán comunicarse entre sí.

Debido a muchas funciones de seguridad integradas y la facilidad de uso, tiene mucho sentido usar una **VPC** para lanzar todo su servicio dentro.

### Referencias

[Post original de Jack Lavelle](https://towardsaws.com/100daysofaws-day-12-virtual-private-cloud-1e730113679f)
