En esta página, se proporciona orientación para diagnosticar y resolver problemas comunes de conectividad de red para cargas de trabajo por lotes y sesiones interactivas de Serverless for Apache Spark. Estos problemas pueden impedir que tus cargas de trabajo accedan a las fuentes de datos requeridas, servicios externos o Google Cloud APIs.
Síntomas y mensajes de error comunes
Cuando Serverless for Apache Spark encuentra problemas de conectividad, es posible que veas errores como los siguientes:
Unable to connect to service_name.googleapis.comCould not reach required Google APIsConnection refusedHost unreachableOperation timed outPermission denied(a menudo relacionado con la red si se bloquean las llamadas a la API)
También es posible que veas errores relacionados con el acceso a los datos en Cloud Storage, BigQuery o en otras bases de datos.
Causas comunes y sugerencias para solucionar problemas
En esta sección, se enumeran las causas comunes de los problemas de conectividad de Serverless for Apache Spark y se proporcionan sugerencias para solucionar problemas que te ayudarán a resolverlos.
Configuración de red
Las configuraciones erróneas de la red son una causa frecuente de fallas de conectividad. Las cargas de trabajo y las sesiones de Serverless for Apache Spark se ejecutan en VMs con direcciones IP internas, con el Acceso privado a Google (PGA) habilitado automáticamente en la carga de trabajo o la subred de la sesión para acceder a los servicios y las APIs de Google. Para obtener más información, consulta Configuración de red de Serverless for Apache Spark.
Opciones de acceso:
Private Service Connect (PSC): Puedes crear extremos privados dentro de tu red de VPC para acceder a APIs de Google específicas.
- En la Google Cloud consola, ve a
Private Service Connect > Endpoints.
Conecta extremos o confirma que los extremos estén conectados para
todas las APIs requeridas, como
storage.googleapis.comydataproc.googleapis.comy que se conecten a la carga de trabajo por lotes o a la red de Virtual Private Cloud de la sesión.
- En la Google Cloud consola, ve a
Private Service Connect > Endpoints.
Conecta extremos o confirma que los extremos estén conectados para
todas las APIs requeridas, como
Cloud NAT: Si tu carga de trabajo necesita acceder a Internet pública, puedes configurar Cloud NAT para tu carga de trabajo por lotes o la subred de la sesión:
- En la Google Cloud consola, ve a la
página Cloud NAT.
Configura una puerta de enlace o confirma que se haya configurado una
para la carga de trabajo por lotes
o la red de VPC, la región y la subred de la sesión. Además,
asegúrate de que las reglas de firewall permitan
la salida a
0.0.0.0/0. Para obtener más información, consulta Configura Cloud NAT.
- En la Google Cloud consola, ve a la
página Cloud NAT.
Configura una puerta de enlace o confirma que se haya configurado una
para la carga de trabajo por lotes
o la red de VPC, la región y la subred de la sesión. Además,
asegúrate de que las reglas de firewall permitan
la salida a
Reglas de firewall:
- Las reglas de firewall de salida de tu red de VPC (o del proyecto host de la red de VPC compartida, si corresponde) no
deben bloquear el tráfico saliente a los destinos requeridos.
- Si corresponde, las reglas de salida deben permitir el tráfico a servicios externos, como las APIs públicas y las bases de datos fuera de Google Cloud. Si tu carga de trabajo por lotes o sesión necesita acceso a Internet, puedes usar un Cloud NAT para proporcionar salida de subred.
- Aunque no es una causa común de problemas de conectividad, las reglas de entrada demasiado restrictivas pueden bloquear de forma involuntaria el tráfico de retorno necesario o las comunicaciones internas.
- Las reglas de firewall de salida de tu red de VPC (o del proyecto host de la red de VPC compartida, si corresponde) no
deben bloquear el tráfico saliente a los destinos requeridos.
Resolución de DNS:
- La resolución de DNS debe configurarse dentro de la red de VPC. Las cargas de trabajo y las sesiones deben poder resolver los nombres de host para
las APIs de Google, como
storage.googleapis.comobigquery.googleapis.comy los servicios externos. - Los servidores DNS personalizados y las zonas privadas de Cloud DNS deben reenviar o resolver consultas para los dominios de Google.
- Si usas Private Service Connect para el acceso privado a las APIs de Google, los registros DNS de los servicios de Google deben resolverse en direcciones IP privadas dentro de tu red de VPC con el extremo de PSC.
- La resolución de DNS debe configurarse dentro de la red de VPC. Las cargas de trabajo y las sesiones deben poder resolver los nombres de host para
las APIs de Google, como
Sugerencias para solucionar problemas:
Identifica la configuración de la red y la subred:
- En los detalles de la carga de trabajo por lotes o la sesión de Serverless for Apache Spark, revisa
networkUriysubnetUri. - En la Google Cloud consola, revisa la configuración de la red de VPC y la subred.
- En los detalles de la carga de trabajo por lotes o la sesión de Serverless for Apache Spark, revisa
Prueba la conectividad desde una VM de proxy:
- Inicia una VM de Compute Engine de prueba en la subred de la carga de trabajo por lotes o la sesión con la cuenta de servicio de la carga de trabajo por lotes o la sesión.
- Desde la VM de prueba, realiza las siguientes pruebas de conectividad:
nslookup storage.googleapis.compara verificar la resolución de DNS. Busca otros dominios de la API de Google, comobigquery.googleapis.comydataproc.googleapis.com. Con el Acceso privado a Google, que se habilita automáticamente en las subredes de Serverless for Apache Spark, o Private Service Connect, los dominios deben resolverse en direcciones IP privadas.curl -v https://storage.googleapis.compara verificar la conectividad HTTPS a las APIs de Google. También intenta conectarte a otros servicios de Google.ping 8.8.8.8para probar la conectividad a Internet si tu carga de trabajo por lotes o sesión lo requiere. Pruebacurl -v https://example.comsi se espera Cloud NAT.
- Ejecuta Google Cloud pruebas de conectividad de Network Intelligence Center para diagnosticar las rutas de red desde tu subred hasta los extremos pertinentes, como las APIs de Google y las direcciones IP externas.
Revisa Cloud Logging para ver errores de red:
- Revisa Logging para tu carga de trabajo por lotes o
sesión de Serverless for Apache Spark. Busca mensajes
ERRORoWARNINGrelacionados con tiempos de espera de la red, rechazos de conexión o fallas de llamadas a la API. Filtra porjsonPayload.component="driver"ojsonPayload.component="executor"para problemas de red específicos de Spark.
- Revisa Logging para tu carga de trabajo por lotes o
sesión de Serverless for Apache Spark. Busca mensajes
Permisos de IAM
Los permisos de IAM insuficientes pueden impedir que las cargas de trabajo o las sesiones accedan a los recursos, lo que provoca fallas de red si se rechazan las llamadas a la API.
La cuenta de servicio que usa tu carga de trabajo por lotes o sesión debe tener los roles requeridos:
- Rol de trabajador de Dataproc (
roles/dataproc.worker). - Roles de acceso a los datos, como
roles/storage.objectVieweroroles/bigquery.dataViewer). - Logging (
roles/logging.logWriter).
Sugerencias para solucionar problemas:
- Identifica la cuenta de servicio de la carga de trabajo por lotes o la sesión . Si no se especifica, se usa automáticamente la cuenta de servicio predeterminada de Compute Engine.
- Ve a la página **IAM y administración > IAM** en la Google Cloud consola, busca la cuenta de servicio de la carga de trabajo por lotes o la sesión y, luego, verifica que tenga los roles necesarios para las operaciones de la carga de trabajo. Otorga los roles faltantes.
Configuración del servicio externo
Si tu carga de trabajo se conecta a bases de datos o servicios fuera de Google Cloud, verifica su configuración:
- Verifica que el firewall o el grupo de seguridad del servicio externo permitan las conexiones entrantes desde los rangos de IP de tu red de VPC: si corresponde, verifica las direcciones IP internas con el Intercambio de tráfico entre VPC, Cloud VPN o Cloud Interconnect, o las direcciones IP de Cloud NAT.
- Revisa las credenciales de la base de datos o las cadenas de conectividad. Verifica los detalles de la conexión , los nombres de usuario y las contraseñas.
¿Qué sigue?
- Obtén información sobre las redes de Serverless for Apache Spark.
- Revisa las cuentas de servicio de Serverless for Apache Spark.
- Consulta las guías generales de solución de problemas de red: