我正在尝试找到一个完全基于远程/基于云的开发工作流程。
我已经创建了aws自由层ec2实例,并且在那个盒子上,我正在开发一个gatsby网站(框架并不重要,我正在寻找的解决方案应该与框架无关)。由于代码在另一个盒子上,因此我无法运行开发服务器,然后像往常一样在本地计算机上打localhost
。
所以
gatsby develop
并访问ec2盒上托管的开发服务器?谢谢。
答案 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 groups
和ssh
隧道将是确保安全访问开发服务器的主要选择。
您还可以将端点公开,但是将开发服务器的安全组设置为仅允许通过IP进行Internet访问。
您还可以将开发服务器放在专用子网中,以与Internet完全隔离。使用堡垒主机进行访问,或设置到您的localhost
的双SSH隧道。
其他方法是在localhost
上进行所有开发,将代码推送到CodeCommit
,并让CodePipeline
使用CodeDeploy
管理将代码部署到开发服务器。 >
您还可以使用ssh
来部分消除SSM Session Manager
。
希望这会有所帮助。