Networking
🌐 Networking¶
Virtual Private Cloud (VPC)¶
-
Una red Nube Privada Virtual (VPC) es una versión virtual de una red física, implementada dentro de la red de producción de Google, utilizando Andromeda.
-
O: es un conjunto de recursos computacionales configurables por demanda al interior de un ambiente de computación en la nube pública, el cual provee un cierto nivel de aislamiento entre las diferentes organizaciones o usuarios que utilizan dichos recursos - wiki
-
La red de VPC consta de una o más particiones de rango de direcciones IP útiles llamadas subredes
-
⚠️ Redes y subredes son recursos diferentes en Google Cloud - doc
-
Las redes VPC no tienen rangos de direcciones IP asociadas a el
-
Las VPC son recursos globales y las subredes dentro de esa VPC son recursos regionales - wiki
- VPC en modo-auto crea una subred para cada Región
-
Rango CIDR: cuanto menor sea el número después de la barra, más direcciones estarán disponibles
-
VPC Compartidos
- Permite a una organización conectar recursos de varios proyectos a una VPC común - gcp
- Cada recurso puede comunicarse con otro usando la dirección IP interna desde esa red
-
⭐ Uso: designa un proyecto como proyecto host y se adjunta otro servicio a el
-
VPC Network peering
- Se utiliza para conectar dos VPC independientemente de que pertenezcan al mismo proyecto o a la misma organización. - doc
-
Caracteristicas - doc
- VPC Network Peering trabaja con Compute Engine, GKE, App Engine Flexible.
- ⭐ Nota: App Engine Standard no es compatible (solo Flexible)
-
Rango de Alias IP
-
Utilizado para asignar múltiples IP to a MV
- útil si el recurso aloja varios servicios y desea asignar a cada servicio una IP diferente (útil para los pods de GKE)
-
Subredes
- Cada red de VPC consta de una o más particiones útiles del rango de IP llamadas subredes - doc
- Cada subred está asociada a una región
-
Para saber cuales son las subredes por defecto:
gcloud compute networks subnets list --network default
-
⭐ Regiones y Zonas disponobles
-
Hasta el primer trimestre de 2021, GCP está disponible en 28 regiones con 85 zonas - doc
-
Rutas - doc
-
ruta predeterminada generada por el sistema:
- Prioridad de 1000 y target 0/0
- ruta de salida de la red de VPC, incluida la ruta a Internet
- ruta estándar para Acceso Privado a Google
-
⭐ Acceso Privado a Google - doc
-
Permite a una MV sin dirección IP externa a comunicarse con las APIs y servicios de Google
-
Una red debe tener al menos una subred antes de poder utilizarla.
- Puede crearse con el siguiente comando:
# Crea la Red VPC:
gcloud compute networks create NOMBRE_RED \
--subnet-mode=auto \ # auto o custom
--bgp-routing-mode=DYNAMIC_ROUTING_MODE \ # global o regional
--mtu=MTU #
tamaño de la unidad de transmisión
# Listar redes VPC
gcloud compute networks list
- Los proyectos pueden contener multiples redes VPC.
-
Los nuevos proyectos comienzan con una red por defecto (una red VPC automatica) que tiene una sola subred en cada Región.
-
Modo Auto vs Custom
- Auto: se crea automaticamente una subred por cada región
-
Custom: ninguna subred es creada automaticamente
-
⭐ Cuántas redes VPC se puede crear? - 5 por defecto
{% gist a80e416ec4be59b5200bc4807fd96162 %}
Cuotas¶
Algunos números desde la doc
- Cantidad máxima de rangos de IP secundarios por subred - 30
- Cantidad máxima de conexiones a una sola red de VPC - 25
- Cantidad máxima de instancias MV - 15,000 por red
Cloud Interconnect¶
-
Cloud Interconnect extiende la red local a la red de Google a través de una conexión de latencia baja con alta disponibilidad. - docs
-
Nota: se puede contectar a GCP de tres maneras - docs
-
Cloud VPN
- ⭐ Cloud VPN es una conexión híbrida
- Durante su configuración, puede especificar la puerta de enlace de Google Compute Engine VPN
-
Cloud Interconnect
-
Cloud Router
- Es un servicio Google Cloud totalmente distribuido y administrado que utiliza el Protocolo de Puerta de Enlace Fronteriza (BGP) para anunciar rangos de direcciones IP
-
Para acceder solo a Google Workspace o a las API de Google compatibles:
- Direct Peering
- conexión de intercambio de tráfico directa entre la red perimetral y la de Google.
- Carrier Peering
- se contrata a un proveedor para obtener servicios de red de nivel empresarial que conectan la infraestructura interna con la Google.
- Otras conexiones
- CDN Interconnect
- proveedores de redes de distribución de contenido (CDN) de terceros para establecer vínculos de intercambio de tráfico directos con la red perimetral de Google
- Niveles de Servicio de Red (Network tier)
- Se puede especificar cual red debe ser usada las conexiones - doc
- Despues de seleccionar un nivel por defecto, puede ser cambiado en tiempo de despligue
- Two kind of tiers
- Nivel Premium: utiliza la red de alta disponibilidad de Google
- Nivel Standard: más económico, utiliza redes de Internet estándar
Equilibrador de Carga (Load Balancer)¶
-
Eli5 Load Balancer - sirve la petición a las instancias menos ocupadas o con menos tráfico
-
Permite ubicar tus recursos detrás de una sola dirección IP que sea accesible de manera externa o interna para la red de nube privada virtual (VPC) - gcp
-
Anycast = la dirección IP de destino tiene múltiples rutas o a dos o más destinos - wiki
-
CLI
# Cree una regla de reenvío para dirigir el tráfico de red a un equilibrador de carga
gcloud compute forwarding-rules create
Escogiendo un Equilibrador de Carga¶
Basado en los docs
- Equilibrador de Carga Interno
- Distribuye el tráfico a instancias dentro de Google Cloud.
-
Escogiendo basado en el tipo de Tráfico
-
Equilibrador de Carga Externo
- Distribuye el tráfico proveniente desde Internet hacia la VPC
- Escogiendo basado en zonas y el tipo de tráfico:
- Si el tráfico es UDP: usar TCP/UDP Externo
- HTTP(S) Externo - docs
- Global
- Proxy SSL - docs
- Global
- Proxy TCP - docs
- Global
-
Redes Externas TCP/UDP - docs
- Regional
-
Nota:
- Secure Sockets Layer
- SSL opera directamente encima del protocolo de control de transmision (TCP) - fuente - eli5
- SSL puede usar TCP [1] para transportar registros SSL, de esta manera, SSL se basa en TCP como servicio - fuente
- Verificaciones de Estado (Health Check)
- El Equilibrador de carga puede utilizar mecanismos de verificación de estado - docs
Firewall¶
-
⭐ Cada VPC implementa un firewall virtual distribuido - doc
-
permite habilitar o denegar conexiones desde o hacia instancias MV - docs
-
Debe especificar y aplicar reglas de entrada (ingress) o salida (egress), no ambas
-
Cada red tiene implicitas dos reglas de Firewall que permiten conexiones salientes y bloqueando las conexiones entrantes.
-
⭐ Reglas por Defecto: doc
-
Permiten conectarse entre MVs de la misma red y enviar paquetes ICMP
-
⭐ Tráfico que siempre está bloqueado - doc
- Tráfico de salida al puerto de destino TCP 25 (SMTP)
- “El puerto 25 TCP es frecuentemente bloqueado por Proveedores de Servicio de Internet (ISPs), como una técnica anti-spam, ya que se utiliza en spam de MX y abuso de máquinas de retransmisión/proxy abierto..” - web
-
Protocolos distintos de TCP, UDP, ICMP, IPIP, AH, ESP, SCTP y GRE para direcciones IP externas de los recursos de Google Cloud
-
CLI
# Crea una regla de firewall para Compute Engine
gcloud compute firewall-rules create [NOMBRE_REGLA] [--network=NOMBRE_SUBRED] --destination-ranges[RANGO_CIDR] [--direction]
Cloud Armor¶
- Ayuda a proteger las aplicaciones y sitios web contra los ataques web y de denegación del servicio. - doc
- Protección DDoS, soporte híbrido y multinube, acceso basado en IP y geo-localización, protección adaptativa (modelo de aprendizaje automático personalizado entrenado)