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

如何用GCP/AWS/Azure实现按需拉起、浏览器可访问的Linux VM终端

三大云平台适配纯浏览器VM访问需求的可行方案

Azure Bastion默认会话必须从Azure portal内部发起的限制,本质是直接复用了云厂商门户封装的交互逻辑,三个云平台均有可脱离门户调用的底层能力,完全可以实现点击网页按钮自动拉起Linux VM、纯浏览器提供终端的流程——全程不需要用户依赖SSH client,也不需要跳转到云平台控制台,最终交互体验可以对齐Katacoda类在线操作平台的效果。

各平台可落地的实现路径

AWS 平台

  • 核心依托能力:Systems Manager Session Manager
    • 该能力原生不要求VM开放公网SSH端口、不依赖本地SSH客户端,支持通过服务端API直接建立WebSocket类型的终端会话
    • 实现链路为:用户点击Access VM按钮 → 服务端调用EC2 RunInstances API拉起指定配置的Linux VM → 等待VM内置的SSM Agent完成服务端注册 → 调用Session Manager接口生成带短时效鉴权的终端访问凭证 → 服务端返回终端链接,前端在新标签页直接加载终端界面
    • 优势:不需要单独维护自有堡垒机,会话日志可直接存储在自有可控的存储桶中,全流程无AWS控制台跳转

GCP 平台

  • 核心依托能力:Compute Engine 原生Web SSH接入能力
    • 对应GCP的浏览器内置SSH终端能力,原生支持通过服务端API生成鉴权信息,不强制要求用户在GCP门户内发起会话
    • 实现链路为:用户触发操作后,服务端调用Compute Engine API创建Linux实例,配置好服务账号的访问权限后,直接调用Web Terminal接口生成带临时授权的终端URL,前端加载即可完成交互
    • 注意事项:需要提前配置服务账号权限,避免终端链接鉴权时跳转到GCP官方登录页,所有鉴权逻辑均可在自有服务端完成,用户全程无云平台感知

Azure 平台

  • 核心依托能力:Bastion REST API + 自部署终端转发层
    • 此前测试中遇到的Bastion必须从门户发起的限制,是因为直接调用了门户封装的交互入口;实际上Bastion本身支持通过REST API直接建立WebSocket会话,可通过自有的前端转发层接入,完全不需要跳转Azure门户
    • 轻量化替代方案:在拉起的Linux VM启动脚本中自动部署轻量Web终端代理组件,通过Azure负载均衡/私有链路将终端流量接入自有接入层,用户访问的终端页面完全部署在自有域名下
    • 实现链路为:用户点击Access VM后,服务端调用Azure Compute API拉起Linux VM,VM初始化完成后自动注册到自有终端管理服务,服务端生成短时效访问令牌,前端新标签页加载对应终端页面

对齐Katacoda类平台体验的通用优化要点

  • 所有云平台API调用全部在服务端完成,前端只负责打开生成的终端链接,不嵌入任何云平台的登录、鉴权交互逻辑
  • 提前做好VM启动状态轮询,确认VM内的终端代理完全就绪后再返回访问链接,避免出现页面加载空白的问题
  • 配置资源自动回收逻辑,用户断开会话或到达预设使用时长后,服务端自动调用云API销毁对应VM,避免产生不必要的资源成本
  • 终端交互层直接对接云平台原生的WebSocket终端通道,不需要自行开发PTY终端封装逻辑,可大幅降低开发成本

内容的提问来源于stack exchange,提问作者John Seen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.29 00:45:04