Configura el acceso a Internet y las reglas de firewall

En esta página, se explica cómo proporcionar rutas y definir tus reglas de firewall de Google Cloud para la red asociada con tus trabajos de Dataflow.

Acceso a Internet para Dataflow

Las máquinas virtuales (VM) de trabajador de Dataflow deben poder alcanzar las API y los servicios de Google Cloud. Puedes configurar las VM de trabajador con una dirección IP externa para que cumplan con los requisitos de acceso a Internet o puedes usar el Acceso privado a Google.

Con el Acceso privado a Google, las VM que solo tienen direcciones IP internas pueden acceder a IP públicas seleccionadas para Google Cloud y los servicios. Lee Configura el Acceso privado a Google para obtener más información sobre los requisitos de las reglas de firewall y el enrutamiento y los pasos de configuración.

Los trabajos que acceden a las API y los servicios fuera de Google Cloud requieren acceso a Internet. Por ejemplo, los trabajos del SDK de Python necesitan acceso al Índice de paquetes de Python (PyPI). En este caso, debes configurar VM de trabajadores con direcciones IP externas o usar una solución de traducción de direcciones de red, como Cloud NAT. Lee el artículo Managing Python Pipeline Dependencies (Administra las dependencias de canalización de Python) en el sitio web de Apache Beam para obtener más detalles.

Limitaciones del sistema de nombres de dominio (DNS)

No se admite BIND personalizado cuando se usa Dataflow. Para personalizar la resolución de DNS cuando usas Dataflow con los Controles del servicio de VPC, usa las zonas privadas de Cloud DNS en lugar de los servidores BIND personalizados. Para usar tu resolución de DNS local, considera usar un método de reenvío de DNS de Google Cloud.

Reglas de firewall

Con las reglas de firewall, puedes permitir o rechazar el tráfico hacia y desde tus VM. En esta página, suponemos que estás familiarizado con el funcionamiento de las reglas de firewall de Google Cloud como se describe en las páginas Descripción general de las reglas de firewall y Usa reglas de firewall, incluidas las reglas de firewall implícitas.

Reglas de firewall que requiere Dataflow

Dataflow requiere que las VM de trabajador se comuniquen entre sí mediante puertos TCP específicos dentro de la red de VPC que especificaste en tus opciones de canalización. Debes configurar las reglas de firewall en la red de VPC para permitir este tipo de comunicación.

Algunas redes de VPC, como la red default creada de forma automática, incluyen una regla default-allow-internal que cumple con los requisitos de firewall de Dataflow.

Dado que todas las VM de los trabajadores tienen una etiqueta de red con el valor dataflow, puedes crear una regla de firewall más específica para Dataflow. Un propietario, editor o administrador de seguridad del proyecto puede usar el siguiente comando de gcloud para crear una regla de permiso de entrada que permita el tráfico en los puertos TCP 12345 y 12346 de las VM con la etiqueta de red dataflow a las VM con la misma etiqueta:

gcloud compute firewall-rules create FIREWALL_RULE_NAME \
    --network NETWORK \
    --action allow \
    --direction DIRECTION \
    --target-tags dataflow \
    --source-tags dataflow \
    --priority 0 \
    --rules tcp:12345-12346

En el ejemplo anterior, reemplaza las siguientes variables:

  • FIREWALL_RULE_NAME por un nombre para la regla de firewall
  • NETWORK por el nombre de la red que usan tus VM de trabajador
  • DIRECTION por la dirección de la regla de firewall

Para obtener orientación sobre las reglas de firewall, consulta Usa reglas de firewall. Para los puertos TCP específicos que usa Dataflow, puedes consultar el manifiesto del contenedor del proyecto. El manifiesto del contenedor especifica de manera explícita los puertos para asignar puertos de host al contenedor. También puedes ver la configuración y la actividad de red si abres una sesión SSH en uno de tus trabajadores y ejecutas iproute2. Lee la página sobre iproute2 para obtener más información.

Acceso SSH a las VM de trabajador

Dataflow no requiere SSH; sin embargo, SSH es útil para la solución de problemas.

Si tu VM de trabajador tiene una dirección IP externa, puedes conectarte a la VM a través de Cloud Console o mediante la herramienta de línea de comandos de gcloud. Para conectarse mediante SSH, debes tener una regla de firewall que permita conexiones entrantes en el puerto TCP 22 desde al menos la dirección IP del sistema en el que se ejecuta gcloud o el sistema que ejecuta el navegador web que usas para acceder a Cloud Console.

Si necesitas conectarte a una VM de trabajador que solo tiene una dirección IP interna, consulta Conéctate a instancias que no tienen direcciones IP externas.