为什么从Google CloudRun到EC2实例的出站SSH连接速度慢得难以形容



我有一个部署到Google CloudRun的Node API,它负责管理外部服务器(干净的新Amazon EC2 Linux虚拟机(,包括通过SSH和SFTP。SSH和SFTP最终确实可以工作,但连接需要2-5分钟才能启动。有时它们会因握手超时错误而超时。

在我的笔记本电脑上运行的相同服务,连接到相同的外部服务器,没有问题,连接速度与任何正常的SSH连接一样快。

CloudRun上的部署非常标准。我用一个允许访问机密等的服务帐户运行它。分配了大量内存。

我已经设置了VPC连接器,并且已经通过VPC连接器路由了所有流量,按照这里的说明:https://cloud.google.com/run/docs/configuring/static-outbound-ip

我还尝试在EC2上的/etc/ssh/sshd_config文件中设置UseDNS no,这是根据一些关于ssh登录缓慢的在线建议进行的,但这并没有什么不同。

我已经重建和重新部署了几十次项目,所有的测试都是在全新的EC2实例上进行的。

我正在节点ssh2库、节点sshssh2-sftp客户端上使用开源包装器尝试这些连接。

想法?

只有当HTTP请求处于活动状态时,云运行才能工作。

在云运行期间,您没有主动请求,因为在主动请求之外,CPU会受到限制。

最适合此管道的是云工作流和常规计算引擎实例。

您可以设置工作流来启动此任务的计算引擎,并在完成这些步骤后停止。

我是一篇文章的作者:运行shell命令并用云工作流编排计算引擎虚拟机它将指导您如何设置。

执行工作流可以由Cloud Scheduler或HTTP ping触发。

最新更新