AWS Glue脚本ETL连接Snowflake超时,可视化版本运行正常
问题分析与解决建议
核心问题
AWS Glue可视化编辑器中运行正常的PostgreSQL转Snowflake ETL任务,复制代码创建独立脚本作业后出现Snowflake连接超时(端口443),且已配置相同VPC/子网,Snowflake账号密码存储于AWS Secrets Manager。
排查与修复步骤
确认Snowflake连接配置完整性
你提供的代码仅包含PostgreSQL读取逻辑,缺失Snowflake写入部分。检查复制的脚本是否完整包含Snowflake连接配置,特别是connection_options中是否正确引用Secrets Manager密钥,以及是否指定仓库、数据库、Schema等必要参数。示例配置参考:# Snowflake写入节点示例 Snowflake_node = glueContext.write_dynamic_frame.from_options( frame=PostgreSQL_node1699996107716, connection_type="snowflake", connection_options={ "connectionName": "你的Snowflake连接名", "dbtable": "目标表名", "warehouse": "你的仓库名", "database": "目标数据库", "schema": "目标Schema" }, transformation_ctx="Snowflake_node" )验证VPC网络配置
- 检查作业所在子网的路由表:确认是否包含Snowflake公网路由,或已配置Snowflake PrivateLink端点。可视化编辑器可能默认使用Glue内置网络配置,脚本作业需确保子网能访问错误信息中列出的Snowflake IP段(52.27.88.193、44.241.78.214等)。
- 检查安全组出站规则:确认是否允许443端口访问Snowflake IP范围或符合安全策略的目标地址。
检查IAM角色权限
确认脚本作业使用的IAM角色是否拥有访问Secrets Manager中Snowflake密钥的权限(需添加secretsmanager:GetSecretValue策略),以及Glue连接的访问权限。可视化编辑器可能使用默认Glue服务角色,新脚本作业可能存在权限缺口。对齐作业运行参数
- 检查Glue版本是否一致:可视化编辑器可能绑定特定版本,新脚本作业需确保版本匹配(如Glue 3.0 vs 4.0)。
- 确认Worker类型与数量是否相同:资源不足可能导致连接超时。
测试网络连通性
在Glue作业所在VPC的EC2实例中,执行telnet qha38537-etlworks-us-prod.snowflakecomputing.com 443或curl https://qha38537-etlworks-us-prod.snowflakecomputing.com,验证网络层面是否能正常访问Snowflake端点。
内容的提问来源于stack exchange,提问作者bob3409
相关产品推荐
相关产品推荐

