En este documento, se describen los requisitos para la configuración de red de Google Cloud Serverless para Apache Spark.
Requisitos de la subred de la nube privada virtual
En este documento, se describen los requisitos de la red de la nube privada virtual para Google Cloud Serverless para Apache Spark cargas de trabajo por lotes y sesiones interactivas.
Acceso privado a Google
Las cargas de trabajo por lotes y las sesiones interactivas de Serverless para Apache Spark se ejecutan en VMs solo con direcciones IP internas y en una subred regional con Acceso privado a Google (PGA) habilitado automáticamente en la subred.
Si no especificas una subred, Serverless para Apache Spark selecciona la subred default en la región de la carga de trabajo o la sesión por lotes como la subred para una carga de trabajo o una sesión por lotes.
Si tu carga de trabajo requiere acceso a Internet o a una red externa, por ejemplo, para descargar recursos como modelos de AA de PyTorch Hub o Hugging Face, puedes configurar Cloud NAT para permitir el tráfico saliente con IPs internas en tu red de VPC.
Conectividad de subred abierta
La subred de VPC para la región seleccionada para la carga de trabajo por lotes o la sesión interactiva de Serverless para Apache Spark debe permitir la comunicación interna en todos los puertos entre las instancias de VM dentro de la subred.
Para evitar que las secuencias de comandos maliciosas en una carga de trabajo afecten a otras cargas de trabajo, Serverless para Apache Spark implementa medidas de seguridad predeterminadas.
El siguiente comando de Google Cloud CLI adjunta un firewall de red a una subred que permite las comunicaciones de entrada internas entre las VMs con todos los protocolos en todos los puertos:
gcloud compute firewall-rules create allow-internal-ingress \ --network=NETWORK_NAME \ --source-ranges=SUBNET_RANGES \ --destination-ranges=SUBNET_RANGES \ --direction=ingress \ --action=allow \ --rules=all
Notas:
SUBNET_RANGES: Consulta Permite conexiones de entrada internas entre VMs. La red de VPC
defaulten un proyecto con la regla de firewalldefault-allow-internal, que permite la comunicación de entrada en todos los puertos (tcp:0-65535,udp:0-65535, yicmp protocols:ports), cumple con el requisito de conectividad de subred abierta. Sin embargo, esta regla también permite la entrada de cualquier instancia de VM en la red.
Política de firewall del sistema regional creada automáticamente
Para satisfacer el requisito de conectividad de subred abierta,
las cargas de trabajo por lotes y las sesiones interactivas de Serverless para Apache Spark
que usan la versión de entorno de ejecución 3.0 o posterior crean automáticamente una
política de firewall del sistema regional dataproc-firewall-policy-[network-id]-region o
dataproc-fw-[network-id]-region en la subred de VPC de la sesión o el lote.
Esta política contiene las siguientes reglas de entrada y salida.
| Nombre | Objetivo | Prioridad | Dirección | Acción | Origen y destino | Protocolo y puertos |
|---|---|---|---|---|---|---|
dataproc-allow-internal-ingress-rule-[subnetworkId] |
Permite toda la comunicación interna necesaria solo desde otras VMs de Serverless para Apache Spark etiquetadas dentro de la misma subred. | 4 | ENTRADA | PERMITIR |
srcSecureTag: Es el valor de la etiqueta segura para esta subred.targetSecureTags:Es el valor de la etiqueta segura para esta subred. |
tcp:0-65535, udp:0-65535, icmp protocols:ports |
dataproc-allow-internal-egress-rule-[subnetworkId] |
Permite que las VMs de Serverless para Apache Spark descarguen paquetes, por ejemplo, pip y apt-get, y accedan a las APIs de Google con Acceso privado a Google. | 5 | SALIDA | PERMITIR |
destIpRanges: 0.0.0.0/0.targetSecureTags:Es el valor de la etiqueta segura para esta subred. |
tcp:0-65535, udp:0-65535, icmp protocols:ports |
Notas:
Serverless para Apache Spark aprovisiona un proyecto de tenant asociado con el proyecto del usuario para almacenar etiquetas seguras. Serverless para Apache Spark crea una etiqueta segura para la subred en el proyecto de tenant y la adjunta a las VMs de Serverless para Apache Spark, lo que garantiza que la política de firewall del sistema creada solo se aplique a las VMs de Serverless para Apache Spark.
No se admite la política de firewall del sistema creada automáticamente para la VPC compartida.
Serverless para Apache Spark y redes de VPC-SC
Con los Controles del servicio de VPC, los administradores de red pueden definir un perímetro de seguridad alrededor de los recursos de los servicios administrados por Google para controlar la comunicación entre esos servicios.
Ten en cuenta las siguientes estrategias cuando uses redes de VPC-SC con Serverless para Apache Spark:
Crea una imagen de contenedor personalizada que preinstale dependencias fuera del perímetro de VPC-SC y, luego, envía una carga de trabajo por lotes de Spark que use tu imagen de contenedor personalizada.
Para obtener más información, consulta Controles del servicio de VPC: Serverless para Apache Spark.