我正在尝试找到完全基于远程/基于云的开发工作流程。
我已经创建了aws自由层ec2实例,并且在那个盒子上,我正在开发一个gatsby网站(框架并不重要,我正在寻找的解决方案应该与框架无关)。因为代码在另一个盒子上,所以我无法运行开发服务器,然后像往常一样在本地计算机上按localhost
。
所以,
gatsby develop
并运行ec2盒上托管的开发服务器?谢谢。
我无法运行开发服务器,然后像往常一样在本地计算机上击中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
。
希望这会有所帮助。