Redes Virtuales en Google Cloud
Redes Virtuales en Google Cloud
Redes virtuales
Google Cloud usa una red definida por software y desarrollada en una infraestructura
global de fibra óptica. Esta infraestructura hace que Google Cloud tenga una de las
redes más grandes y rápidas del mundo. Si considera los recursos como servicios
(en lugar de hardware), podrá comprender las opciones disponibles y cómo
funcionan.
Información confidencial de Google
Temario
03 Direcciones IP
05 Precios
Lab: Redes de VPC
Finlandia
Países Bajos
Varsovia
Londres
Montreal Bélgica Fráncfort
Toronto París
Oregón Iowa* Zúrich Milán
Salt Lake City Madrid
Virginia del N. Seúl
Las Vegas Tokio
Los Ángeles Carolina del S.
Osaka
Delhi
Doha Taiwán
Hong Kong
Bombay
Singapur
Yakarta
Google Cloud São Paulo
Santiago
Sídney
presencia y redes
Punto de
* Excepción: Región con 4 zonas. Región actual Región futura
presencia Red
con 3 zonas con 3 zonas
perimetral
Este mapa representa a Google Cloud. En el nivel general, Google Cloud está
compuesto por regiones (íconos azules), puntos de presencia o PoP (puntos azules),
una red privada global (líneas azules) y servicios.
Una región es una ubicación geográfica específica donde puede ejecutar sus
recursos. En este mapa, se muestran varias regiones que operan en la actualidad y
aquellas que lo harán en el futuro. Las regiones marcadas con íconos azules tienen
tres zonas. La única excepción es Iowa, cuya región us-central1 tiene cuatro zonas:
us-central1-a, us-central1-b, us-central1-c y us-central1-f. Para obtener información
actualizada sobre las regiones y zonas, consulte la página de documentación.
Los PoP son lugares en los que la red de Google se conecta al resto de Internet.
Google Cloud puede acercar su tráfico al de sus pares porque opera una amplia red
global de puntos de interconexión. Esto permite reducir los costos y proporcionar una
mejor experiencia a los usuarios.
La red conecta regiones y PoP, y se compone de una red global de cables de fibra
óptica con varias inversiones en cables submarinos.
01
Para comenzar, hablemos sobre la red de Google Cloud y, específicamente, sobre la
nube privada virtual (VPC).
Información confidencial de Google
Objetos de VPC
Nube privada
● Proyectos ● Direcciones IP virtual
○ Interna, externa, rango
● Redes
○ Predeterminada, modo automático, ● Máquinas virtuales (VMs)
modo personalizado
● Rutas
● Subredes
● Reglas de firewall
● Regiones
● Zonas
Con Google Cloud, puede aprovisionar sus recursos del servicio, conectarlos a otros
y aislarlos en una nube privada virtual. También puede definir políticas detalladas de
red en Google Cloud, y entre Google Cloud y otros entornos locales o nubes
públicas. En términos simples, VPC es un conjunto integral de objetos de red
administrados por Google que analizaremos en detalle en este módulo.
● Los proyectos abarcarán todos los servicios que use, incluidas las redes.
● Existen tres tipos de redes: predeterminadas, de modo automático y de modo
personalizado.
● Las subredes le permiten dividir o segregar su entorno.
● Las regiones y las zonas representan los centros de datos de Google y
proporcionan alta disponibilidad y protección continua de los datos.
● VPC ofrece direcciones IP para uso interno y externo, además de selecciones
detalladas de rangos de direcciones IP.
En cuanto a las máquinas virtuales, en este módulo nos enfocaremos en
configurar instancias de VM desde la perspectiva de las redes.
● También analizaremos las rutas y las reglas de firewall.
Información confidencial de Google
Proyectos, redes
02
y subredes
En primer lugar, hablemos sobre los proyectos, las redes y las subredes para analizar
los objetos de VPC.
Información confidencial de Google
Proyectos y redes
Características de Características
los proyectos: de las redes:
Las redes no tienen rangos de IP, ya que son solo una construcción de todos los
servicios y las direcciones IP individuales en ella. Las redes de Google Cloud son
globales, es decir, abarcan todas las regiones disponibles en el mundo que
mostramos antes. Por lo tanto, puede tener una red que literalmente exista en todo el
mundo a la vez: Asia, Europa, América, etcétera.
En una red, puede segregar sus recursos con subredes regionales.
Todos los proyectos cuentan con una red de VPC predeterminada, que tiene
subredes y reglas de firewall predefinidas. Específicamente, se asigna una subred a
cada región con bloques CIDR no superpuestos y reglas de firewall que permiten
tráfico de entrada de ICMP, RDP y SSH desde cualquier lugar, además de tráfico de
entrada desde la red predeterminada para todos los protocolos y puertos.
Proyecto
Red nº 1 Red nº 2 Red nº 3 Red nº 4 Red nº 5 Regiones
Sin embargo, las VMs C y D no están en la misma red. Por lo tanto, de forma
predeterminada, deben comunicarse mediante direcciones IP externas, a pesar de
que están en la misma región. El tráfico entre las VMs C y D no pasa por la Internet
pública, sino que usa los routers perimetrales de Google. Esto tiene distintas
consecuencias en la facturación y seguridad que exploraremos más adelante.
Información confidencial de Google
Local Red de
Cloud VPC
VPN
Puerta
de enlace
VM VM
Compute Engine Compute Engine
Subred Subred
Dado que las instancias de VM en una red de VPC se pueden comunicar de forma
privada a escala global, una sola VPN puede conectar de forma segura su red local
con la de Google Cloud, como se muestra en este diagrama. Aunque las dos
instancias de VM están en regiones distintas (us-west1 y us-east1), aprovechan la
red privada de Google para comunicarse entre ellas y con una red local mediante una
puerta de enlace de VPN.
Mencionamos que las subredes funcionan a escala regional. Como una región
contiene varias zonas, las subredes pueden atravesarlas.
En esta diapositiva, se ve una región, la región 1, con dos zonas: A y B. Las subredes
pueden extenderse entre estas zonas en la misma región, como la subred-1. La
subred es solo un rango de direcciones IP, y usted podrá usar cualquier dirección IP
dentro del rango. Tenga en cuenta que las dos primeras direcciones del rango, .0
y .1, se reservan para las puertas de enlace de la red y la subred, respectivamente.
Por lo tanto, las primeras direcciones disponibles son .2 y .3, que se asignan a las
instancias de VM. Las otras direcciones reservadas en cada subred son la penúltima
dirección en el rango y la última, que está reservada como la dirección de
“transmisión”. En resumen, cada subred tiene cuatro direcciones IP reservadas en su
rango de IP principal.
A pesar de que las dos máquinas virtuales de este ejemplo se encuentran en zonas
distintas, pueden comunicarse entre ellas con la misma dirección IP de la subred.
Esto significa que se puede aplicar la misma regla de firewall a ambas VMs, aunque
estén en zonas distintas.
Información confidencial de Google
VM VM VM VM
En cuanto a las direcciones IP de una subred, puede usar las VPCs de Google Cloud
para aumentar el espacio de dirección IP de cualquier subred sin cierres ni tiempo de
inactividad de las cargas de trabajo. En este diagrama, se muestra una red con
subredes que tienen distintas máscaras, lo que permite que haya más instancias en
algunas subredes que en otras. Esto le ofrece opciones de flexibilidad y crecimiento
para satisfacer sus necesidades, pero también debe tener en cuenta los siguientes
factores:
03 Direcciones IP
Ahora que explicamos las redes de Google Cloud de forma general, analicemos en
detalle las direcciones IP.
Información confidencial de Google
IP interna IP externa
● DHCP la asigna desde el rango de ● Se asigna desde un grupo (efímera).
subred a las VMs.
● Está reservada (es estática).
● La asignación de tiempo de DHCP
se renueva cada 24 horas. ● Puede proporcionar sus propias
direcciones IP (BYOIP).
● El nombre y la IP de la VM se registra
mediante DNS con permisos de red. ● La VM no conoce la IP externa;
está asignada a la IP interna.
En Google Cloud, cada máquina virtual puede tener dos direcciones IP asignadas.
Una de ellas es interna y se asigna internamente con DHCP.
Todas las VMs que se inicien y todos los servicios que dependan de una máquina
virtual recibirán una dirección IP interna. Algunos ejemplos de estos servicios son
App Engine y Google Kubernetes Engine, que analizaremos en otros cursos.
Si desea ver una explicación rápida sobre las direcciones IP internas y externas en
Google Cloud, consulte esta demostración.
Información confidencial de Google
$ sudo /sbin/ifconfig
eth0
Link encap:Ethernet HWaddr [Link]
inet addr:[Link] Bcast:[Link] Mask:[Link]
UP BROADCAST RUNNING MULTICAST MTU:1460 Metric:1
RX packets:397 errors:0 dropped:0 overruns:0 frame:0
TX packets:279 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:66429 (64.8 KiB) TX bytes:41662 (40.6 KiB)
lo
Link encap:Local Loopback
inet addr:[Link] Mask:[Link]
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Con el fin de analizar esto en más detalle, veamos la resolución de DNS para
direcciones internas y externas.
Información confidencial de Google
Cada instancia tiene un nombre de host que se puede resolver en una dirección IP
interna. El nombre del host es igual al nombre de la instancia. También hay un
nombre de dominio interno completamente calificado (o FQDN) para una instancia
que usa el formato que se muestra en la diapositiva.
Cada instancia tiene un servidor de metadatos que también actúa como agente de
resolución de DNS para esa instancia. El servidor de metadatos controla todas las
consultas de DNS de los recursos de la red local y enruta todas las demás consultas
a los servidores DNS públicos de Google para obtener una resolución de nombre
pública. Anteriormente, mencionamos que las instancias no conocen las direcciones
IP externas que se les asignan. En cambio, la red almacena una tabla de consulta
que combina las direcciones IP externas con las internas de las instancias relevantes.
Para obtener más información, incluida la manera de configurar su propio agente de
resolución en instancias, consulte la página de documentación.
Información confidencial de Google
Las instancias con direcciones IP externas pueden permitir conexiones desde hosts
fuera del proyecto. Los usuarios también pueden hacerlo de forma directa con la
dirección IP externa. Los registros DNS públicos que dirigen a las instancias no se
publican automáticamente. Sin embargo, los administradores pueden publicarlos con
los servidores DNS existentes.
Cloud DNS
● Servicio DNS de Google
● Latencia baja
Cloud DNS usa la red global de Google de los servidores de nombres de Anycast
para entregar sus zonas del DNS desde ubicaciones redundantes en todo el mundo,
lo que permite ofrecer una latencia más baja y alta disponibilidad a sus usuarios. La
alta disponibilidad es muy importante porque, si no puede buscar el nombre de un
dominio, es posible que no tenga conexión a Internet. Por eso, Google Cloud ofrece
un Acuerdo de Nivel de Servicio (ANS) con 100% de tiempo de actividad para
dominios configurados en Cloud DNS. Si desea obtener más información sobre el
ANS, consulte la página de documentación.
Con Cloud DNS, puede crear y actualizar millones de registros DNS sin preocuparse
de administrar sus propios servidores DNS ni software. En lugar de ello, puede usar
una interfaz de usuario simple, una interfaz de línea de comandos o una API. Para
obtener más información sobre Cloud DNS, consulte esta página de documentación.
Información confidencial de Google
IP primaria
de
VM [Link]
VM Subred:
Rango de CIDR primario [Link]/16
Contenedor Rango de CIDR secundario [Link]/20
Rango de alias de IP
de VM: [Link]/24
Otra función de las redes de Google Cloud son los rangos de alias de IP.
Para obtener más información sobre los rangos de alias de IP, consulte la página de
documentación.
Información confidencial de Google
Rutas y reglas
04
de firewall
Hasta ahora, aprendió sobre los proyectos, las redes, las subredes y las direcciones
IP. Usemos esa información para comprender de qué manera Google Cloud enruta el
tráfico.
Información confidencial de Google
De forma predeterminada, cada red tiene rutas que permiten a las instancias de una
red enviarse el tráfico directamente entre ellas, incluso entre subredes. Además, cada
red tiene una ruta predeterminada que dirige los paquetes a destinos fuera de ella. A
pesar de que las rutas satisfacen la mayor parte de sus necesidades comunes de
enrutamiento, también puede crear rutas especiales que anulen a las otras.
El solo hecho de crear una ruta no garantiza que sus paquetes se recibirán en el
siguiente salto que indique. Las reglas de firewall también deben autorizar los
paquetes.
[Link]/20 [Link]/0
Las rutas hacen coincidir los paquetes según su dirección IP de destino. Sin
embargo, no se permitirá el tráfico que no coincida con una regla de firewall
específica.
Las rutas se crean cuando se crean las redes, lo que permite la entrada de tráfico
desde “cualquier lugar”. También se crean rutas cuando se crean subredes. Esto
permite que las VMs de una misma red se comuniquen entre ellas.
vm2
Todas las rutas de la colección Rutas pueden aplicarse a una o más instancias. Las
rutas se aplican a una instancia si coinciden la red y las etiquetas de la instancia. Si
la red coincide y no se especificaron etiquetas de instancias, se aplica la ruta a todas
las instancias de la red. Luego, Compute Engine usa la colección Rutas a fin de crear
tablas de enrutamiento de solo lectura para cada instancia.
Las reglas de firewall de Google Cloud protegen sus instancias de máquinas virtuales
de las conexiones no autorizadas entrantes y salientes, conocidas como de entrada y
salida, respectivamente. En términos sencillos, cada red de VPC funciona como un
firewall distribuido.
Aunque las reglas de firewall se aplican a toda la red, las conexiones se permiten o
rechazan a nivel de cada instancia. Puede pensar que el firewall existe no solo entre
sus instancias y otras redes, sino también entre instancias individuales dentro de la
misma red.
Las reglas de firewall de Google Cloud tienen estado. Esto significa que, si se
permite una conexión entre un origen y un objetivo o entre un objetivo y un destino,
se permitirá todo el tráfico posterior en cualquier dirección. Es decir, las reglas de
firewall permiten la comunicación bidireccional una vez que se establece una sesión.
Además, si por algún motivo se borran todas las reglas de firewall de una red, aún
hay una regla de entrada implícita llamada “Rechazar todo” y otra de salida llamada
“Permitir todo” en la red.
Información confidencial de Google
Para la dirección ingress, sources se puede especificar como parte de la regla con direcciones IP, etiquetas de origen
source o o una cuenta de servicio de origen.
destination
Para la dirección egress, destinations se puede especificar como parte de una regla con uno o más rangos de
direcciones IP.
protocol Cualquier regla se puede restringir para que se aplique solo a protocolos o solo a combinaciones específicas de protocolos
y port y puertos.
action Permite o rechaza los paquetes que coincidan con la instrucción, el protocolo, el puerto y el origen o el destino de la regla.
priority Establece el orden en que se evalúan las reglas; se aplica la primera regla que coincide.
Rule
assignment Todas las reglas se asignan a todas las instancias, pero puede asignar algunas de ellas solo a ciertas instancias.
Analicemos algunos casos de uso del firewall de Google Cloud para salidas y
entradas.
Información confidencial de Google
Acción:
Firewalls (salida) Firewalls (salida)
● allow: autoriza la conexión
VM VM
de salida coincidente
● deny: bloquea la conexión
Red virtual de Red virtual de
Google Cloud Google Cloud de salida coincidente
Las reglas de firewall de salida controlan las conexiones salientes desde la red de
Google Cloud. Las reglas allow de salida permiten las conexiones salientes que
coinciden con las direcciones IP, el protocolo y los puertos específicos. Las reglas
deny de salida evitan que las instancias inicien conexiones que coincidan con
combinaciones de rangos de IP, puertos o protocolos no permitidos.
En el caso de las reglas de firewall de salida, los destinos a los que se aplica la regla
podrían indicarse con los rangos de IP de CIDR. Específicamente, puede usar rangos
de destino para protegerse contra las conexiones no deseadas que inicie una
instancia de VM hacia un host externo, tal como se muestra a la izquierda. También
puede usar los rangos de destino para evitar las conexiones no deseadas desde
instancias de VM internas a un rango de CIDR específico de Google Cloud. Esto se
demuestra en el centro, en el que una VM de una subred específica intenta
conectarse de forma inapropiada a otra de la misma red.
Información confidencial de Google
Acción:
Firewalls (entrada) Firewalls (entrada)
● allow: autoriza la conexión
VM VM
de entrada coincidente
● deny: bloquea la conexión
Red virtual de Red virtual de
Google Cloud Google Cloud de entrada coincidente
En este diagrama, se muestra una VM que recibe una conexión desde una dirección
externa y otra que recibe una conexión de otra VM desde la misma red. A fin de
controlar las conexiones de entrada desde una instancia de VM, cree condiciones
para las conexiones entrantes con rangos de CIDR de origen, protocolos o puertos.
Información confidencial de Google
Precios
05
Antes de poner en práctica lo que aprendió, hablemos sobre los precios de red. Es
importante que comprenda las circunstancias en las que se le factura por la red de
Google Cloud.
Información confidencial de Google
Salida entre regiones, sin incluir el tráfico entre regiones de [Link]. Depende de la región
Sin embargo, sí se cobra la salida entre zonas de la misma región y la salida dentro
de una zona si el tráfico ocurre por medio de una dirección IP externa de una
instancia y la salida entre regiones.
Recuerde que los precios siempre pueden cambiar, por lo que recomendamos
consultar la página de documentación.
Información confidencial de Google
Moneda estimada
100 GB de
n1-standard-1
salida/mensual
us-central1
América y EMEA
Introducción al lab
Redes de VPC
En este lab, creará una red de VPC de modo automático con reglas de firewall y dos
instancias de VM. Luego, convertirá la red de modo automático en una red de modo
personalizado y creará otras redes de este tipo, como se muestra en el diagrama de
red. También explorará la conectividad entre las redes.
Información confidencial de Google
VMs VMs
Subred: Subred:
Compute Engine Compute Engine
(Modo automático) (Modo automático)
Región: us-central1
VMs
Subred:
Compute Engine
(Personalizada)
VMs
Subred: Subred:
Compute Engine
(Personalizada) (Personalizada)
Información confidencial de Google
Diseños comunes
06
de redes
Por lo tanto, si asigna las VMs en una sola subred para separar zonas, obtendrá
disponibilidad mejorada sin la complejidad de seguridad adicional. Un grupo de
instancias administrado regional contiene instancias de múltiples zonas en la misma
región, que ofrece mayor disponibilidad.
Información confidencial de Google
Instancias
de aplicación
Cloud NAT
Instancias
de aplicación
Acceso no
autorizado
región us-west1
Privada Pública
En este diagrama, Cloud NAT permite que dos instancias privadas accedan a un
servidor de actualización en Internet, que se denomina NAT de salida. Sin embargo,
Cloud NAT no implementa NAT de salida. En otras palabras, los hosts fuera de su red
de VPC no pueden acceder directamente a las instancias privadas detrás de la
puerta de enlace de Cloud NAT. Esto ayuda a mantener sus redes de VPC aisladas y
seguras.
Información confidencial de Google
Tráfico a Internet
Proyecto
Enrutamiento
de VPC
VM A1 VM A2 VM B1 VM B2
e IP pública e IP pública
Del mismo modo, debe habilitar el Acceso privado a Google a fin de permitir que solo
instancias de VM que tienen direcciones IP internas lleguen a direcciones IP externas
de los servicios y las API de Google. Por ejemplo, si su instancia de VM necesita
acceder a un bucket de Cloud Storage, debe habilitar el Acceso privado a Google.
Debe habilitar el Acceso privado a Google en cada subred. Como puede ver en este
diagrama, el Acceso privado a Google está habilitado en la subred-a e inhabilitado en
la subred-b. Esto permite que la VM A1 acceda a los servicios y las API de Google,
aunque no tenga una dirección IP externa.
Introducción al lab
Implemente el
Acceso privado a Google y Cloud NAT
Apliquemos en un lab dos de los diseños de red comunes que acabamos de analizar.
Información confidencial de Google
03 Habilitar el Acceso privado a Google
en una subred
En este lab, implementará el Acceso privado a Google y Cloud NAT en una instancia
de VM que no tenga una dirección IP externa. Luego, verificará el acceso a las
direcciones IP públicas de los servicios y las API de Google, y otras conexiones a
Internet.
Con Cloud IAP, puede habilitar el acceso adaptado al contexto de las VMs a través
de SSH y RDP sin hosts de bastión. Para obtener más información sobre este tema,
consulte la página de documentación.
Información confidencial de Google
Cuestionario
Información confidencial de Google
Pregunta nº 1
Pregunta
Pregunta nº 1
Respuesta
Explicación:
En Google Cloud, cada máquina virtual debe tener una dirección IP interna. La
dirección IP externa es opcional; por lo tanto, una instancia de VM solo necesita una
sola dirección IP.
Información confidencial de Google
Pregunta nº 2
Pregunta
Pregunta nº 2
Respuesta
Explicación:
Los tres tipos de red que ofrece Google Cloud son: predeterminada, automática y
personalizada.
Cada proyecto comienza con una red predeterminada. La red automática usa los
mismos rangos de IP de subred que la predeterminada, pero con otro nombre de red.
Una red personalizada le permite especificar los rangos de IP de las subredes.
Información confidencial de Google
Pregunta nº 3
Pregunta
Pregunta nº 3
Respuesta
Explicación:
Cuando se crea una VM, la dirección IP externa efímera se asigna de entre los
valores de un grupo. No hay forma de predecir la dirección que se asignará, por lo
que no es posible escribir una regla que coincida con la dirección IP de la VM antes
de que se asigne. Las etiquetas permiten una asignación simbólica que no depende
del orden de las direcciones IP. Eso hace que las reglas de firewall sean más
simples, más generales y más fáciles de mantener.
Información confidencial de Google
También entregamos una descripción general breve de la forma en que las opciones
de diseño de la red pueden afectar la facturación. Luego, aplicamos los diferentes
conceptos en un lab minucioso.
Ahora que tiene una perspectiva sólida de la forma en que Google Cloud implementó
las redes, aprenderemos de otros servicios. Hablemos sobre Compute Engine, que
ofrece máquinas virtuales escalables y de alto rendimiento.