Configura una red de VPC

Las instancias de Google Cloud Managed Lustre se aprovisionan en una red administrada por Google que se conecta a tu nube privada virtual (VPC) mediante el acceso privado a servicios.

Puedes conectar tu instancia de Managed Lustre a VMs de Compute Engine o clústeres de Google Kubernetes Engine con cualquiera de las siguientes configuraciones de red:

  • Misma red de VPC: Conecta tus recursos de cliente y tu instancia de Managed Lustre a la misma red de VPC.

  • Redes de VPC independientes: Implementa tus recursos de cliente en una red de VPC independiente y conecta ambas redes con Network Connectivity Center. Para obtener instrucciones sobre cómo configurar NCC, consulta la documentación de Network Connectivity Center.

Para ambas configuraciones, sigue las instrucciones de esta página para configurar la red de VPC en la que se aprovisionará la instancia de Managed Lustre. Si usas redes de VPC independientes, las instrucciones incluyen una nota con los pasos necesarios para tu red de VPC de cliente.

Permisos necesarios

Debes contar con los siguientes permisos de IAM:

  • serviceusage.services.enable
  • compute.networks.create
  • compute.addresses.create
  • compute.addresses.get
  • compute.firewalls.create
  • servicenetworking.services.addPeering

Para otorgar estos permisos, agrega todos los siguientes roles predefinidos:

O bien, crea un rol personalizado que contenga los permisos específicos.

Para otorgar una función a un usuario, haz lo siguiente:

Google Cloud Consola de

  1. En la Google Cloud consola de, dirígete a la página IAM.

    Ir a IAM

  2. Haz clic en Otorgar acceso.

  3. En el campo Nuevos principales, ingresa la dirección de correo electrónico del usuario.

  4. En el menú desplegable Seleccionar un rol, selecciona el rol que deseas otorgar.

  5. Para otorgar varios roles, haz clic en Agregar otro rol y selecciona el siguiente rol.

  6. Haz clic en Guardar.

gcloud

gcloud projects add-iam-policy-binding PROJECT_ID \
  --member="user:EMAIL_ADDRESS" \
  --role=ROLE

Crea y vincula la VPC

Para crear una red de VPC y configurar una conexión de acceso privado a servicios para Managed Lustre, sigue estos pasos:

Google Cloud Consola de

  1. Habilita la API de Service Networking.

    Habilitar la API de Service Networking

  2. Crea una red de VPC en modo personalizado:

    1. En la Google Cloud consola de, ve a la página Redes de VPC.

      Ir a Redes de VPC

    2. Haz clic en Crear red de VPC.

    3. Ingresa un Nombre para la red.

    4. Anula la selección de Establecer MTU automáticamente y, luego, ingresa 8896 en el campo Unidad de transmisión máxima (MTU).

    5. En Modo de creación de subred, selecciona Personalizado.

  3. Crea una subred principal para tus recursos de GKE o Compute Engine:

    1. En la sección Subred nueva, ingresa un Nombre para la subred.
    2. Selecciona una Región.
    3. En el campo Rango de IPv4, ingresa el rango de IPv4 principal (por ejemplo, 10.128.0.0/20).
    4. Haz clic en Listo.
    5. Haz clic en Crear para crear la red de VPC.
  4. Asigna un rango de IP para el acceso privado a servicios.

    Este rango de IP interna se usa para la conexión de acceso a servicios privados, que vincula tu red de VPC con la red administrada por Google en la que se aprovisionan los recursos de Managed Lustre. Este rango asignado se usa para proporcionar IPs para instancias de Managed Lustre y no debe superponerse con ninguna subred de tu red de VPC.

    Cada instancia de Managed Lustre requiere un bloque CIDR contiguo con una longitud de prefijo de al menos 23.

    Te recomendamos que crees un rango de IP más grande de /20 para permitir la creación de varias instancias de Managed Lustre o el uso de otros Google Cloud servicios.

    1. En la página Redes de VPC, haz clic en el nombre de tu red de VPC.
    2. Selecciona la pestaña Acceso privado a servicios.
    3. Selecciona la pestaña Rangos de IP asignados a servicios.
    4. Haz clic en Asigna rangos de IP.
    5. Ingresa un Nombre y una Descripción para el rango asignado (por ejemplo, Managed Lustre VPC Peering).
    6. Especifica el rango de direcciones IP:
    7. Para permitir que Google seleccione un rango disponible, selecciona Automático y, luego, ingresa una longitud de prefijo de 20.
    8. Para especificar un rango específico, selecciona Personalizado y, luego, ingresa un bloque CIDR con una longitud de prefijo de al menos /23 (como 10.128.0.0/20).
    9. Haz clic en Allocate.
  5. Anota el bloque CIDR asociado al rango asignado.

    En la tabla Rangos de IP asignados a servicios, busca el rango que creaste y anota el valor en la columna Rango de IP interna (por ejemplo, 10.128.0.0/20). Especificarás este rango como la fuente en el siguiente paso.

  6. Crea una regla de firewall para permitir el tráfico TCP desde el rango de IP que creaste.

    1. En la Google Cloud consola de, ve a la página Políticas de firewall.

    Ir a Políticas de firewall

    1. Haz clic en Crear regla de firewall.
    2. Ingresa un Nombre para la regla de firewall.
    3. En el campo Red, selecciona tu red de VPC.
    4. En Dirección del tráfico, selecciona Ingress.
    5. En Acción en caso de coincidencia, selecciona Permitir.
    6. En Destinos, haz clic en Todas las instancias de la red.
    7. En Filtro de fuente, selecciona Rangos de IPv4.
    8. En el campo Rangos de IPv4 de origen, ingresa el bloque CIDR del rango asignado que anotaste en el paso anterior.
    9. En Protocolos y puertos, selecciona Protocolos y puertos especificados.
    10. Selecciona la casilla de verificación TCP y, en el campo Puertos , ingresa 988, 6988.
    11. Haz clic en Crear.

    Para redes de VPC independientes: Si tus VMs de cliente o clústeres de GKE residen en una red de VPC independiente conectada a través de Network Connectivity Center, las reglas de firewall de ambas redes de VPC deben permitir el tráfico desde el rango de IP asignado. Repite el paso Crea una regla de firewall… para crear una regla de firewall en la red de VPC de cliente que permita el tráfico TCP de entrada en los puertos 988 y 6988 desde el bloque CIDR asignado.

  7. Establece la conexión de acceso a servicios privados.

    Esta conexión solo es necesaria en la red de VPC en la que se aprovisiona la instancia de Managed Lustre.

    1. En la página Redes de VPC, haz clic en el nombre de tu red de VPC.
    2. Selecciona la pestaña Acceso privado a servicios.
    3. Selecciona la pestaña Conexiones privadas a servicios.
    4. Haz clic en Crear conexión.
    5. En la lista Asignación designada, selecciona el rango de IP asignado que creaste.
    6. Haz clic en Conectar.

gcloud

  1. Habilita las herramientas de redes de servicios.

    gcloud services enable servicenetworking.googleapis.com
    
  2. Crea una red de VPC en modo personalizado.

    gcloud compute networks create NETWORK_NAME \
      --subnet-mode=custom \
      --mtu=8896
    
  3. Crea una subred principal para tus recursos de GKE o Compute Engine.

    gcloud compute networks subnets create SUBNET_NAME \
      --network=NETWORK_NAME \
      --range=10.128.0.0/20 \
      --region=REGION
    
  4. Asigna un rango de IP para el acceso a servicios privados.

    Este rango de IP interna se usa para la conexión de acceso a servicios privados, que vincula tu red de VPC con la red administrada por Google en la que se aprovisionan los recursos de Managed Lustre. Este rango asignado se usa para proporcionar IPs para instancias de Managed Lustre y no debe superponerse con ninguna subred de tu red de VPC.

    Cada instancia de Managed Lustre requiere un bloque CIDR contiguo con una longitud de prefijo de al menos 23.

    Te recomendamos que crees un rango de IP más grande de /20 para permitir la creación de varias instancias de Managed Lustre o el uso de otros Google Cloud servicios.

    gcloud compute addresses create IP_RANGE_NAME \
      --global \
      --purpose=VPC_PEERING \
      --prefix-length=20 \
      --description="Managed Lustre VPC Peering" \
      --network=NETWORK_NAME
    
  5. Obtén el bloque CIDR asociado al rango que creaste en el paso anterior.

    CIDR_BLOCK=$(
      gcloud compute addresses describe IP_RANGE_NAME \
        --global  \
        --format="value[separator=/](address, prefixLength)"
    )
    
  6. Crea una regla de firewall para permitir el tráfico TCP desde el rango de IP que creaste.

    gcloud compute firewall-rules create FIREWALL_NAME \
      --allow=tcp:988,tcp:6988 \
      --network=NETWORK_NAME \
      --source-ranges=$CIDR_BLOCK
    

    Para redes de VPC independientes: Si tus VMs de cliente o clústeres de GKE residen en una red de VPC independiente conectada a través de Network Connectivity Center, las reglas de firewall de ambas redes de VPC deben permitir el tráfico desde el rango de IP asignado ($CIDR_BLOCK). Ejecuta el comando firewall-rules create una segunda vez para crear la regla de firewall en la red de VPC de cliente:

     gcloud compute firewall-rules create CLIENT_FIREWALL_NAME \
        --allow=tcp:988,tcp:6988 \
        --network=CLIENT_NETWORK_NAME \
        --source-ranges=$CIDR_BLOCK
     
  7. Establece la conexión de acceso a servicios privados.

    gcloud services vpc-peerings connect \
      --network=NETWORK_NAME \
      --ranges=IP_RANGE_NAME \
      --service=servicenetworking.googleapis.com
    

    Esta conexión solo es necesaria en la red de VPC en la que se aprovisiona la instancia de Managed Lustre.

Crea subredes adicionales para multi-NIC

Si planeas usar varias tarjetas de interfaz de red (multi-NIC) para agregar ancho de banda, debes crear una subred independiente dentro de tu red de VPC para cada NIC.

Para aprovechar multi-NIC, debes usar tipos de máquinas de Compute Engine con varias NIC físicas que estén conectadas a VPCs regulares. Las NIC que se conectan a VPCs con perfiles de red de RDMA no se pueden usar para aumentar el ancho de banda de red general. Consulta Herramientas de redes y máquinas con GPU para obtener más detalles.

Para crear una subred para una NIC física adicional, haz lo siguiente:

Google Cloud Consola de

  1. En la Google Cloud consola de, ve a la página Redes de VPC.

    Ir a Redes de VPC

  2. Haz clic en el nombre de tu red de VPC.

  3. Haz clic en Agregar subred.

  4. En la sección Subred nueva , haz lo siguiente:

    1. Ingresa un Nombre para la subred.
    2. Selecciona una Región.
    3. Ingresa un rango de direcciones IP (por ejemplo, 10.130.0.0/20).
    4. Haz clic en Agregar.

gcloud

gcloud compute networks subnets create SUBNET_NAME_2 \
  --network=NETWORK_NAME \
  --range=10.130.0.0/20 \
  --region=REGION

Repite este paso para cada NIC adicional. Asegúrate de que los rangos de IP de cada subred no se superpongan.

Controles del servicio de VPC

Managed Lustre admite los Controles del servicio de VPC (VPC-SC). Consulta Protege instancias con un perímetro de servicio para obtener más detalles.

Soluciona problemas de configuración de VPC

Se denegó el permiso para agregar vinculación para el servicio servicenetworking.googleapis.com

ERROR: (gcloud.services.vpc-peerings.connect) User [$(USER)] does not have
permission to access services instance [servicenetworking.googleapis.com]
(or it may not exist): Permission denied to add peering for service
'servicenetworking.googleapis.com'.

Este error significa que no tienes el permiso de IAM servicenetworking.services.addPeering en tu cuenta de usuario.

Consulta Control de acceso con IAM para obtener instrucciones sobre cómo agregar uno de los siguientes roles a tu cuenta:

  • roles/compute.networkAdmin o
  • roles/servicenetworking.networksAdmin

No se pueden modificar los rangos asignados en CreateConnection

ERROR: (gcloud.services.vpc-peerings.connect) The operation
"operations/[operation_id]" resulted in a failure "Cannot modify allocated
ranges in CreateConnection. Please use UpdateConnection."

Este error se muestra cuando ya creaste una vinculación de VPC en esta red con diferentes rangos de IP. Existen dos soluciones posibles:

Reemplaza los rangos de IP existentes:

Google Cloud Consola de

  1. En la Google Cloud consola de, ve a la página Redes de VPC.

    Ir a Redes de VPC

  2. Haz clic en el nombre de tu red de VPC.

  3. Selecciona la pestaña Acceso privado a servicios.

  4. En la pestaña Acceso privado a servicios, selecciona la pestaña Conexiones privadas a servicios.

  5. Haz clic en el nombre de la conexión (como servicenetworking-googleapis-com).

  6. En la lista Asignación designada, selecciona el nuevo rango asignado y desmarca las casillas de verificación de los rangos asignados que deseas reemplazar.

  7. Haz clic en Guardar.

gcloud

gcloud services vpc-peerings update \
  --network=NETWORK_NAME \
  --ranges=IP_RANGE_NAME \
  --service=servicenetworking.googleapis.com \
  --force

O bien, agrega el nuevo rango de IP a la conexión existente:

Google Cloud Consola de

  1. En la Google Cloud consola de, ve a la página Redes de VPC.

    Ir a Redes de VPC

  2. Haz clic en el nombre de tu red de VPC.

  3. Selecciona la pestaña Acceso privado a servicios.

  4. En la pestaña Acceso privado a servicios, selecciona la pestaña Conexiones privadas a servicios.

  5. Haz clic en el nombre de la conexión.

  6. En la lista Asignación designada, mantén seleccionados los rangos asignados existentes y selecciona el nuevo rango asignado.

  7. Haz clic en Guardar.

gcloud

  1. Recupera la lista de rangos de IP existentes para la vinculación:

    EXISTING_RANGES="$(
      gcloud services vpc-peerings list \
        --network=NETWORK_NAME \
        --service=servicenetworking.googleapis.com \
        --format="value(reservedPeeringRanges.list())" \
        --flatten=reservedPeeringRanges
    )
    
  2. Luego, agrega el nuevo rango a la vinculación:

    gcloud services vpc-peerings update \
      --network=NETWORK_NAME \
      --ranges="${EXISTING_RANGES}",IP_RANGE_NAME \
      --service=servicenetworking.googleapis.com
    

¿Qué sigue?