我有一个实例,它既充当 SFTP 服务器,又充当我们内部网络的 NFS 共享驱动器。
该实例有一个公共 IP,可通过 SFTP 接收数据。该数据保存到我内部网络内共享的卷中。
我使用一个安全组,允许将端口 22 流量列入白名单,并将所有端口列入我的内部网络的白名单。
这些数据很敏感,而且由于此实例具有公共 IP,因此安全组可能会失误而无法向所有人开放。
我想从实例中删除公共 IP,但它需要从 Internet 进行 SFTP 访问。
我想到解决方案是创建一个公共负载均衡器,将端口 22 上的流量转发到我的实例,添加安全组并从我的实例中删除公共 IP,因此即使我搞砸了,该实例也无法公开访问。
我知道 ELB 不是为此而设计的,但理论上它应该可以工作。这个解决方案有问题吗?有没有更好/更可取的方法来实现这样的功能?
答案1
ELB 不是实现此目的的正确方法。您的问题不够清晰,但我会尽力回答。我认为您需要一个带有 DMZ 的私有子网。
我认为最好使用 t2.nano 实例(或更大)作为 SFTP 服务器,并使用脚本将数据移动到需要进入内部服务器的位置。您可以将该实例用作堡垒主机,这样您就可以通过 ssh 连接到它,然后连接到私有子网中的服务器。这基本上构成了一个 DMZ。如果您需要传出互联网访问,请使用NAT 实例。
如果您可以用 S3 替换 sftp,那么您就可以消除对传入代理服务器的需求,这可能会更便宜。您可以将所有数据保存在 S3 上,这比 EBS 更便宜。
如果您可以澄清并扩展您的用例,您可能会得到更好的回应。