进行远程/云开发时访问开发服务器

时间:2020-04-10 23:16:14

标签: amazon-web-services localhost cloud gatsby remote-access

我正在尝试找到一个完全基于远程/基于云的开发工作流程。

我已经创建了aws自由层ec2实例,并且在那个盒子上,我正在开发一个gatsby网站(框架并不重要,我正在寻找的解决方案应该与框架无关)。由于代码在另一个盒子上,因此我无法运行开发服务器,然后像往常一样在本地计算机上打localhost

所以

  • 我需要做什么才能运行gatsby develop并访问ec2盒上托管的开发服务器?
  • 我如何提供对该端点的公共访问权限?
  • 是否可以提供临时访问权限,以便当我注销后不再可用?
  • 有没有可以实施的机制,这样我是唯一可以实现目标的机制?
  • 我还应该利用其他功能来保护该端点吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

我无法运行开发服务器,然后像往常一样在本地计算机上访问localhost

可以。您可以使用ssh将远程端口传送到localhost,并从localhost访问服务器。

我需要做些什么才能运行gatsby development并访问ec2盒上托管的dev服务器?

ssh进入开发服务器,运行gatsby develop并通过ssh隧道在localhost上对其进行访问,或者将其公开以通过其公共IP地址进行访问。

使用sshfs将开发服务器上的开发文件夹安装到本地主机上。

或者,您可以在开发服务器上设置vncserver,使用ssh建立vnc连接,并通过删除桌面访问开发服务器。轻量级的东西会很好,例如fluxbox作为vnc的桌面环境。

是否可以提供临时访问权限,以便当我注销后即无法访问?

是的。通过ssh隧道。关闭隧道,访问完成。

我是否可以采用某种机制使我成为唯一可以达到该终点的机制?

SSH隧道和security group一起仅允许SSH用于您的IP地址。

我还应该利用其他功能来保护该端点吗?

Security groupsssh隧道将是确保安全访问开发服务器的主要选择。

您还可以将端点公开,但是将开发服务器的安全组设置为仅允许通过IP进行Internet访问。

您还可以将开发服务器放在专用子网中,以与Internet完全隔离。使用堡垒主机进行访问,或设置到您的localhost的双SSH隧道。

其他方法是在localhost上进行所有开发,将代码推送到CodeCommit,并让CodePipeline使用CodeDeploy管理将代码部署到开发服务器。 >

您还可以使用ssh来部分消除SSM Session Manager

希望这会有所帮助。