Skip to content

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 Interno HTTP(S) - docs
    • Regional
    • Internal TCP/UDP Load Balancing - docs
    • Regional
  • 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)