Snowplow AWS快速启动:Snowflake Loader URL配置错误排查求助
Snowplow AWS快速部署中sp-sf-loader-server的Snowflake URL格式错误导致SSL证书验证失败
问题分析
核心问题是sp-sf-loader-server生成的Snowflake URL多了冗余的.aws后缀,导致SSL证书的主题备用名称(SAN)不匹配。错误日志显示生成的URL为<SNOWFLAKE_ID>.us-east-2.aws.snowflakecomputing.com,但us-east-2区域的正确Snowflake URL格式应为<SNOWFLAKE_ID>.us-east-2.snowflakecomputing.com。
排查与解决步骤
1. 定位URL生成的Terraform模块
Snowplow AWS快速启动依赖snowplow-devops/quickstart/aws模块,URL生成逻辑通常在snowflake-loader子模块的配置文件中:
- 进入部署目录,查看
.terraform/modules/quickstart/snowflake-loader路径下的文件 - 查找包含Snowflake URL拼接逻辑的文件,比如
main.tf、variables.tf或配置模板(如config.properties.tpl) - 找到类似以下的错误拼接代码:
snowflake_url = "${var.snowflake_account}.${var.snowflake_region}.aws.snowflakecomputing.com"
2. 修正URL格式
将上述代码中的.aws后缀移除,修改为正确的格式:
snowflake_url = "${var.snowflake_account}.${var.snowflake_region}.snowflakecomputing.com"
3. 重新部署验证
- 执行
terraform plan确认变更内容,确保只有Snowflake URL的修改 - 执行
terraform apply完成部署 - 查看CloudWatch日志,确认SSL证书验证错误不再出现
临时应急方案(无需重新部署)
如果无法立即修改Terraform模块,可直接调整服务配置:
- 找到sp-sf-loader-server对应的ECS任务定义或EC2实例
- 修改服务的环境变量或配置文件中的Snowflake URL,去掉
.aws部分 - 重启服务,验证日志恢复正常
补充说明
us-east-2属于AWS原生区域,Snowflake在此区域的URL格式不需要.aws后缀,该后缀仅适用于特定场景(如第三方云厂商的Snowflake部署)。此问题属于Terraform模块的硬编码格式错误,修正后即可解决证书不匹配问题。
内容的提问来源于stack exchange,提问作者Zack Biernat
相关产品推荐
相关产品推荐

