Rangos de alias de IP

Con los rangos de IP de alias de Google Cloud, puedes asignar rangos de direcciones IP internas como alias a las interfaces de red de una máquina virtual (VM). Esto es útil si tienes múltiples servicios en ejecución en una VM y deseas asignarle a cada servicio una dirección IP distinta. Los rangos de IP de alias también funcionan con pods de GKE.

Si solo ejecutas un servicio en una VM, puedes consultarlo mediante la dirección IP principal de la interfaz. Si ejecutas múltiples servicios en una VM, tienes la opción de asignarle a cada uno una dirección IP interna distinta. Puedes hacerlo mediante rangos de alias de IP.

Rangos de CIDR principales y secundarios de la subred

Todas las subredes tienen un rango de CIDR principal, que es el rango de direcciones IP internas que se define en la subred. Cada instancia de VM obtiene su dirección IP interna principal de este rango. Puedes asignar rangos de IP de alias desde ese rango principal, o puedes agregar un rango secundario a la subred y asignar rangos IP de alias desde el rango secundario. El uso de rangos de alias de IP no requiere rangos de subredes secundarios. Estos rangos de subred secundarios simplemente proporcionan una herramienta organizativa.

Rangos de IP de alias definidos en una interfaz de red de VM

Mediante el alias de IP, puedes configurar múltiples direcciones IP internas que representen contenedores o aplicaciones alojadas en una VM, sin tener que definir una interfaz de red separada. Puedes asignar rangos de IP de alias de VM desde los rangos principales o secundarios de la subred.

En Configura rangos de IP de alias, se describen los comandos para configurar una subred con rangos secundarios y asignar direcciones IP de alias a las VMs.

En el siguiente diagrama, se proporciona una ilustración básica de rangos principales y secundarios de CIDR y rangos de IP de alias de la VM en la interfaz principal de la VM:

Rangos de CIDR principales y secundarios, y rangos de IP de alias de la VM.
Rangos de CIDR principales y secundarios y rangos de alias de IP de la VM (haz clic para ampliar).
  • Un rango de CIDR principal 10.1.0.0/16 se configura como parte de una subred.
  • Un rango de CIDR secundario 10.2.0.0/20 se configura como parte de una subred.
  • La IP principal de la VM 10.1.0.2 se asigna desde el rango de CIDR principal, 10.1.0.0/16, mientras que un rango de alias de IP, 10.2.1.0/24, se asigna en la VM desde el rango de CIDR secundario, 10.2.0.0/20.
  • Las direcciones en el rango de alias de IP se utilizan como las direcciones IP de los contenedores alojados en la VM.

Beneficios clave de los rangos de IP de alias

Cuando se configuran los rangos de IP de alias, Google Cloud instala de forma automática rutas de redes de nube privada virtual (VPC) para los rangos de IP principales y de alias destinados a la subred de la interfaz de red principal. El organizador de tu contenedor no necesita especificar la conectividad de la red de VPC de esas rutas. Esto simplifica el tráfico de enrutamiento y la administración de tus contenedores. Deberás realizar la configuración como invitado, tal como se describe en las propiedades clave de los rangos de alias de IP.

Cuando se asignan las direcciones IP del contenedor en Google Cloud, se garantiza que las direcciones IP del pod de contenedores no entren en conflicto con las direcciones IP de la VM mediante los procesos de validación de Google Cloud.

Cuando se configuran los alias de direcciones IP, se realizan verificaciones de falsificación de identidad en el tráfico a fin de garantizar que el tráfico saliente de las VM utilice direcciones IP de VM y direcciones IP del pod como direcciones de origen. Las verificaciones de falsificación de identidad controlan que las VM no envíen tráfico con direcciones IP de origen arbitrarias. El uso de rutas estáticas para la red de contenedores sería un enfoque menos seguro en comparación con alias de IP, ya que requeriría que las verificaciones de falsificación de identidad se inhabiliten en las VM del host del contenedor (las verificaciones de falsificación de identidad se desactivan cuando el reenvío de IP está habilitado).

Los rangos de alias de IP se pueden enrutar dentro de la red virtual de Google Cloud sin necesidad de usar rutas adicionales. No es necesario que agregues una ruta por cada IP de alias ni que tengas en cuenta las cuotas de la ruta.

Cloud Router puede anunciar las direcciones IP de alias a una red local conectada mediante VPN o Interconnect.

Asignar rangos de IP de alias desde un rango CIDR secundario presenta ventajas. Cuando haces la asignación desde un rango separado del rango que se utiliza para las direcciones IP principales, puedes separar la infraestructura (VM) de los servicios (contenedores). Cuando configuras espacios de direcciones separadas para la infraestructura y los servicios, puedes configurar controles de firewall para las direcciones IP de alias de VM por separado de los controles de firewall para las direcciones IP principales de la VM. Por ejemplo, puedes permitir cierto tráfico para pods de contenedores y denegar tráfico similar en las direcciones IP principales de la VM.

Arquitectura de los contenedores en Google Cloud

Imagina una situación en la que deseas configurar servicios en contenedores sobre Google Cloud. Debes crear las VM en las que se alojarán los servicios y, además, los contenedores.

En este caso, debes enrutar el tráfico desde y hacia los contenedores y también hacerlo desde y hacia las ubicaciones locales que están conectadas a través de una VPN. Sin embargo, no quieres que las direcciones IP principales de la VM sean accesibles a través de la VPN. Para crear esta configuración, se debe poder enrutar el rango de IP del contenedor a través de la VPN, pero no así el rango de IP principal de la VM. En el momento de la creación de la VM, también deberás asignar automáticamente un grupo de direcciones IP que se utilizan para el contenedor.

Para crear esta configuración, haz lo siguiente:

  • Cuando creas la subred, debes configurar los siguientes elementos:
    • Un rango de CIDR principal, por ejemplo, 10.128.0.0/16
    • Un rango de CIDR secundario, por ejemplo, 172.16.0.0/16
  • Usa una plantilla de instancias para crear las VM y asígnale de forma automática a cada una lo siguiente:
    • Una IP principal del rango 10.128.0.0/16
    • Un rango de alias /24 del espacio de CIDR secundario 172.16.0.0/16, de modo que puedas asignar una IP del rango de CIDR secundario /24 a cada contenedor de una VM de
  • Crea dos reglas de firewall.
    • Una regla que impida que el tráfico que viaja entre la VPN desde la ubicación local pueda alcanzar el rango CIDR principal de la subred
    • Una regla que permita que el tráfico que viaja entre la VPN desde la ubicación local pueda alcanzar el rango CIDR secundario de la subred.

Ejemplo: cómo configurar contenedores con rangos de IP de alias

Mediante los rangos de IP de alias, se pueden asignar las direcciones IP del contenedor desde un rango de CIDR secundario y configurarlas como direcciones IP de alias en la VM que aloja al contenedor.

Configura contenedores con direcciones IP de alias.
Configura contenedores con alias de direcciones IP (haz clic para ampliar)

Para crear esta configuración, haz lo siguiente:

  1. Crea una subred con un rango CIDR 10.128.0.0/16, desde la que se asignan las direcciones IP de la VM, y un rango CIDR secundario 172.16.0.0/20 para uso exclusivo del contenedor, que se configurará como rangos de alias de IP en la VM que los aloja:

    gcloud compute networks subnets create subnet-a \
        --network network-a \
        --range 10.128.0.0/16 \
        --secondary-range container-range=172.16.0.0/20
    
  2. Crea VM con una IP principal del rango 10.128.0.0/16 y un rango de IP de alias 172.16.0.0/24 del rango de CIDR secundario 172.16.0.0/20 para que usen los contenedores en esa VM:

    gcloud compute instances create vm1 [...] \
        --network-interface subnet=subnet-a,aliases=container-range:172.16.0.0/24
    gcloud compute instances create vm2 [...] \
        --network-interface subnet=subnet-a,aliases=container-range:172.16.1.0/24
    
  3. Las direcciones IP de los contenedores se configuran en Google Cloud como direcciones IP de alias. En esta configuración, se podrá acceder tanto a las IP principales como de alias mediante el túnel VPN. Si se configuró Cloud Router, el anuncio del rango de subred secundario 172.16.0.0/20 se realiza automáticamente. Para obtener más información sobre cómo usar la VPN con Cloud Router, consulta Crea un túnel VPN mediante el enrutamiento dinámico.

Si deseas obtener más información sobre los comandos que se usaron para crear esta configuración, consulta Configura rangos y direcciones IP de alias.

Ejemplo: Varios rangos de alias de IP configurados en una sola instancia de VM

Los rangos de alias de IP te permiten administrar la asignación de IP para aplicaciones que se ejecutan dentro de las VM, incluidos los contenedores.

Puede ser que tengas una implementación en la que algunos contenedores se pueden migrar entre VM, y otros no. Los contenedores que sí se pueden migrar pueden configurarse mediante rangos /32, lo que facilita la migración individual. Los contenedores que no se pueden migrar pueden configurarse mediante un rango mayor, ya que se mantendrán juntos.

En estos tipos de implementaciones, es posible que necesites más de un rango de IP de alias por instancia de VM; por ejemplo, un /27 para contenedores no migrables y varios /32 para contenedores migrables.

Configura VMs con varios rangos de alias de IP.
Configura VM con varios rangos de alias de IP (haz clic para ampliar)

Para configurar este ejemplo, usa los siguientes comandos de gcloud:

gcloud compute networks create vpc1 --subnet-mode custom
gcloud compute networks subnets create subnet1 --region us-central1 --network vpc1 --range 10.128.0.0/16 --secondary-range secondaryrange1=172.16.0.0/20
gcloud compute instances create vm1 --zone us-central1-a --network-interface "subnet=subnet1,aliases=secondaryrange1:172.16.0.0/27;secondaryrange1:172.16.1.0/32"
gcloud compute instances create vm2 --zone us-central1-a --network-interface "subnet=subnet1,aliases=secondaryrange1:172.16.0.32/27;secondaryrange1:172.16.1.1/32"

Alias de direcciones IP en redes y subredes de VPC de modo automático

Las subredes creadas automáticamente en las redes de VPC de modo automático tienen un rango de CIDR principal, pero no un rango secundario. Para usar una IP de alias con una red de VPC en modo automático, puedes asignar rangos de IP de alias desde el rango de CIDR principal de la subred creada de forma automática o agregar un rango secundario a la subred creada automáticamente y asignar rangos de IP de alias desde el rango secundario nuevo.

Además, puedes crear una subred nueva con rangos secundarios en la red de VPC en modo automático, siempre y cuando ninguno de esos rangos se superponga con 10.128.0.0/9. Luego, puedes crear instancias de VM en la subred nueva y asignar rangos de IP de alias desde cualquier rango en esa subred.

Si deseas agregar rangos secundarios a tu subred, consulta Agrega rangos CIDR secundarios a una subred existente.

Alias de direcciones IP en redes y subredes de modo personalizado

En redes en modo personalizado:

  • Todas las subredes se crean manualmente.
  • Tener un rango CIDR principal es obligatorio.
  • Tienes la opción de crear rangos CIDR secundarios.

Propiedades clave de los rangos de IP de alias

Las siguientes propiedades se aplican a rangos de alias de IP configurados en VM:

  • Desde la perspectiva del SO de la VM, la dirección IP principal y la puerta de enlace predeterminada se asignan normalmente mediante DHCP. Los alias de direcciones IP se pueden configurar en el SO de la VM, que generalmente es Linux o Windows, de forma manual o mediante secuencias de comandos.
  • La dirección IP principal y el rango de alias de IP de la interfaz deben asignarse desde los rangos CIDR configurados como parte de la misma subred. Ten en cuenta los siguientes requisitos:
    • La dirección IP principal debe asignarse desde el rango CIDR principal.
    • El rango de IP de alias puede asignarse ya sea desde el rango CIDR principal o desde el rango CIDR secundario de esa misma subred.
    • Para una interfaz de red de la VM, la IP de alias debe ser del mismo recurso de subred que proporciona la dirección IP para la interfaz de la red principal. No puedes seleccionar un rango CIDR principal o secundario de otro recurso de subred.
    • La dirección IP principal puede ser una dirección IP interna estática o efímera.
    • Los rangos de IP de alias son opcionales y no se agregan de forma automática. Un rango de alias de IP puede configurarse durante la creación o modificación de una instancia.
    • Un rango de IP de alias se puede configurar como un rango de CIDR explícito (por ejemplo, 10.128.1.0/24), una única dirección IP (por ejemplo, 10.128.7.29/32) o una máscara de red (/24). Para especificar o asignar de forma automática un rango de IP de alias, debes especificar la máscara de red.
    • Para usar una sola dirección IP en un rango de alias de IP, usa la máscara de red /32.
    • Debido a que todas las subredes en una red de VPC comparten una única puerta de enlace predeterminada, todos las direcciones IP de alias dentro de una interfaz comparten la misma puerta de enlace predeterminada que la dirección IP principal.
    • No puedes usar direcciones IP reservadas en rangos de alias de IP.
Las IP de alias dentro de una interfaz comparten la misma puerta de enlace predeterminada que la dirección IP principal.
Los alias de IP dentro de una interfaz comparten la misma puerta de enlace predeterminada que la dirección IP principal (haz clic para ampliar)

DNS con alias de direcciones IP

En Google Cloud, se configura de forma automática el DNS interno para la IP principal de la interfaz principal de cada instancia de VM. Esto asocia el nombre de host de la instancia con la dirección IP principal de la interfaz principal. Sin embargo, la búsqueda de DNS sobre ese nombre de host solo funciona en la red que contiene la interfaz principal.

En Google Cloud, no se asocia de forma automática ninguna otra dirección IP con el nombre de host. En Google Cloud, los alias de direcciones IP de la interfaz principal y las direcciones IP de las interfaces secundarias no se asocian con el nombre de host.

Puedes configurar manualmente el DNS para asociar otras direcciones IP.

Firewalls

Todo el tráfico de entrada o salida, incluido el tráfico de los rangos de IP de alias, se evalúa mediante una regla de firewall de VPC para determinar una etiqueta de destino o cuenta de servicio de destino coincidente. Para obtener detalles sobre los destinos y las IP de alias, consulta Objetivos y direcciones IP.

Los rangos de IP de alias no se incluyen cuando especificas fuentes para una regla de firewall de entrada con etiquetas o cuentas de servicio de origen.

Rutas estáticas

Cuando creas una ruta estática que usa una instancia de próximo salto especificada por una dirección IPv4 interna, Google Cloud verifica que la dirección IP de la VM de próximo salto se ajuste a un rango IPv4 de una subred en la red de VPC de la ruta. Sin embargo, Google Cloud programa la ruta solo si la dirección del próximo salto es una dirección IPv4 interna principal que se asigna a la interfaz de red de una VM (NIC) en la red de VPC de la ruta (no una red de VPC con intercambio de tráfico).

Aunque puedes crear una ruta cuya dirección de siguiente salto es una dirección IPv4 interna que se ajusta a un rango de IP de alias, Google Cloud no programa esa ruta, ya que Google Cloud considera que el siguiente salto está inactivo. Es posible que se descarten los paquetes enviados al destino de la ruta, según si existen otras rutas para el mismo destino y si esas otras rutas tienen siguientes saltos que se están ejecutando.

Para obtener más información, consulte:

Intercambio de tráfico entre redes de VPC

El intercambio de tráfico entre redes de VPC te permite intercambiar dos redes de VPC a fin de que las VM de ambas redes puedan comunicarse mediante direcciones IP internas y privadas.

Se puede acceder tanto a los rangos de IP principales como secundarios de una subred mediante instancias de VM en una red con intercambio de tráfico.

La verificación de superposición entre subredes en redes con intercambio de tráfico garantiza que los rangos principales y secundarios no se superpongan con ningún rango con intercambio de tráfico.

Alias de IP con intercambio de tráfico entre redes
Alias de IP con intercambio de tráfico entre redes (haz clic para ampliar)

¿Qué sigue?