📚 系列:亚马逊云科技上的 databricks(第四部分)
- 在亚马逊云科技上构建 databricks 人工智能平台
- 基于功能角色组的基于角色的访问控制
- 计算治理:实例池、策略、集群
- 引导超时之谜 ← 你在这里
- 通过亚马逊云科技私有链接修复问题
- 我们如何组织地形代码结构
弹性计算云节点状态健康——三项状态检查全部通过。但集群仍然无法启动。正是这个十一分钟的超时问题,迫使我们跨三个亚马逊云科技账户追踪数据包。
大多数关于“我的 databricks 集群无法启动”的帖子最终以“开放四百四十三号端口”告终。但这次不同——因为防火墙确实允许了四百四十三号端口的流量。流量是在其他地方中断的,而找到问题的唯一方法是从集群节点开始,跟踪单个数据包直到 databricks 控制平面。
如果你在集中式出口网关(传输网关 → 检查防火墙)后的客户管理虚拟私有云中运行 databricks 经典计算资源,这就是没人警告过你的故障模式。
环境设置
在亚马逊云科技上部署 databricks 工作区,使用经典计算资源、客户管理的虚拟私有云、安全集群连接(集群节点无公网 IP 地址)。新工作区复用了现有的“分支”虚拟私有云,该虚拟私有云通过共享网络枢纽进行出口通信:
集群节点(无公网 IP 地址)
→ 分支虚拟私有云路由表:0.0.0.0/0 → 传输网关
→ 传输网关(共享网络枢纽账户)
→ 非军事区虚拟私有云 → 网关负载均衡器检查防火墙 → 网络地址转换 → 互联网网关 → 互联网 → databricks 控制平面
应用了实例池。应用了集群策略。然后是集群本身:
$ atlantis apply -d .../ws-landing/compute
databricks_cluster.this["shared_small"]: 仍在创建中... [已耗时 10 分 20 秒]
...
错误:无法创建集群:未能达到运行状态,变为已终止:
启动期间自引导超时 ... 引导超时
大约二十五分钟的“仍在创建中”,然后变为“已终止”。
排除半数网络建议的症状
我拉取了集群事件日志。关键的一行如下:
引导超时:[ID:实例 ID(i-xxxx),状态:实例初始化中,...]
在 704524 毫秒后超时。无法获取亚马逊云科技引导诊断输出。
请检查从数据平面到控制平面的网络连接。
两点迅速缩小了范围:
- 弹性计算云节点已启动且健康 —— 亚马逊云科技控制台中的三项状态检查全部通过,无公网 IP 地址(符合安全集群连接的预期)。
-
实例初始化中+ “无法获取诊断输出” —— 控制平面甚至无法连接到节点以拉取日志。
健康的弹性计算云实例 + 集群从未达到运行状态 = 节点已启动,但无法回连主控。不是容量问题。不是身份与访问管理问题。不是地形代码问题。纯粹是出口问题:节点从未打开其通往控制平面安全集群连接中继站的出站隧道。
databricks 自身的错误信息 literally 说“检查从数据平面到控制平面的网络连接。”请相信它。
为什么“只需使用虚拟私有云端点”无法解决此问题
第一反应(也是我们安全团队的反应)是:通过虚拟私有云端点路由所有流量,不经过互联网。这对于亚马逊云科技来说是正确的
免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。