You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取AWS Glue读取BigQuery时访问的所有URL及解决代理阻塞问题

AWS Glue BigQuery Connector 代理环境下URL拦截问题解决方案

获取连接器访问的所有URL/端点

  • 开启DEBUG日志抓取请求URL
    在Glue作业的「作业参数」中添加以下配置,强制Connector输出DEBUG级别的日志:

    --conf spark.driver.extraJavaOptions=-Dorg.slf4j.simpleLogger.defaultLogLevel=debug
    --conf spark.executor.extraJavaOptions=-Dorg.slf4j.simpleLogger.defaultLogLevel=debug
    

    运行作业后,前往CloudWatch日志组中搜索包含http、request、endpoint的日志条目,就能找到Connector发起的所有请求URL。Google的BigQuery客户端库会在DEBUG模式下打印完整的请求地址。

  • 用tcpdump抓包分析流量
    通过Glue作业的生命周期脚本,在EC2工作节点启动时安装tcpdump并执行抓包命令,过滤HTTPS流量:

    tcpdump -i any port 443 -w /tmp/glue_bq_traffic.pcap
    

    作业结束后将抓包文件上传到S3,用Wireshark等工具分析,提取所有目标域名和URL。注意需要给Glue作业的IAM角色添加S3写入权限,以及允许在VPC中执行网络抓包的权限。

  • 参考官方文档整理核心端点
    BigQuery Connector依赖的核心端点包括:

    • BigQuery API:*.bigquery.googleapis.com
    • GCS存储端点(数据中转用):*.storage.googleapis.com
    • OAuth认证端点:accounts.google.com/o/oauth2/token
      但部分动态生成的分区存储URL可能会用到*.googleapis.com下的其他子域名,建议结合日志补全白名单。

替代实现方法

  • 配置全局JVM代理参数
    确保Glue作业的驱动和执行器所有HTTP/HTTPS请求都走指定代理,在作业参数中添加:

    --conf spark.driver.extraJavaOptions="-Dhttp.proxyHost=你的代理IP -Dhttp.proxyPort=代理端口 -Dhttps.proxyHost=你的代理IP -Dhttps.proxyPort=代理端口"
    --conf spark.executor.extraJavaOptions="-Dhttp.proxyHost=你的代理IP -Dhttp.proxyPort=代理端口 -Dhttps.proxyHost=你的代理IP -Dhttps.proxyPort=代理端口"
    

    若代理需要认证,追加-Dhttp.proxyUser=用户名 -Dhttp.proxyPassword=密码 -Dhttps.proxyUser=用户名 -Dhttps.proxyPassword=密码即可。

  • 检查代理服务器规则
    确认代理允许CONNECT方法(HTTPS请求依赖该方法建立隧道),同时放行所有Google相关域名的流量,避免因代理的HTTPS拦截规则导致请求失败。

  • 重新配置原生Spark BigQuery Connector
    若之前配置失败,可按以下步骤调整:

    1. 上传Google服务账号密钥文件到S3,确保Glue角色有读取权限。
    2. 在作业参数中添加Hadoop和Spark的核心配置:
      --conf spark.hadoop.fs.gs.impl=com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystem
      --conf spark.hadoop.google.cloud.auth.service.account.enable=true
      --conf spark.hadoop.google.cloud.auth.service.account.json.keyfile=s3://你的密钥文件路径.json
      --conf spark.hadoop.http.proxyHost=你的代理IP
      --conf spark.hadoop.http.proxyPort=代理端口
      
    3. 确保作业依赖的Spark BigQuery Connector版本与Glue的Spark版本兼容,避免版本冲突。

内容的提问来源于stack exchange,提问作者Abhinav S J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 08:18:23