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



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

我已经创建了一个aws免费的第二层ec2实例,并在这个盒子上开发了一个gatsby站点(框架无关紧要,我正在寻找的解决方案应该与框架无关(。由于代码在另一个盒子上,我不能像往常一样运行开发服务器,然后从本地计算机上点击localhost

所以,

  • 我需要做什么才能运行gatsby develop并访问ec2盒子上的开发服务器
  • 如何提供对该端点的公共访问
  • 是否可以提供临时访问权限,以便当我注销该框时,它不再可访问
  • 有没有什么机制可以让我成为唯一一个可以达到终点的人
  • 我是否应该利用其他功能来保护该端点

谢谢。

我无法运行开发服务器,然后像正常情况下一样从本地计算机访问localhost

您可以。您可以使用ssh将远程端口通过隧道连接到localhost,并从localhost访问服务器。

我需要做什么才能运行gatsby-develop并访问ec2盒子上的开发服务器?

ssh进入dev服务器,运行gatsby develop,然后通过ssh隧道在localhost上访问它,或者通过其公共IP地址将其公开访问。

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

或者,您可以在dev服务器上设置vncserver,使用ssh通过隧道连接vnc,并通过remove桌面使用访问dev服务器。稍轻的东西会很好,例如fluxbox作为vnc的桌面环境。

是否可以提供临时访问权限,以便在我注销该框时,它不再可访问?

是的。通过ssh隧道。你关闭隧道,通道就完成了。

是否有一些机制可以让我成为唯一一个可以达到该端点的人?

ssh隧道以及security group,只允许ssh用于您的IP地址。

我是否应该利用其他功能来保护该端点?

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

您也可以公开端点,但将开发服务器的安全组设置为仅允许从IP访问internet。

您也可以将开发服务器放在一个私有子网中,以便与互联网完全分离。使用bastion主机访问它,或者设置到localhost的双ssh隧道。

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

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

希望这能有所帮助。

相关内容

最新更新