我正试图找到一个完全远程/基于云的开发工作流。
我已经创建了一个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 groups
和ssh
隧道将是确保安全访问dev服务器的主要选择。
您也可以公开端点,但将开发服务器的安全组设置为仅允许从IP访问internet。
您也可以将开发服务器放在一个私有子网中,以便与互联网完全分离。使用bastion主机访问它,或者设置到localhost
的双ssh隧道。
另一种方法是在localhost
上进行所有开发,将代码推送到CodeCommit
,并让CodePipeline
使用CodeDeploy
管理代码到开发服务器的部署。
您也可以使用SSM Session Manager
来部分消除ssh
。
希望这能有所帮助。