我在Amazon EC2上有一个简单的VPC,有两个实例:SFTP服务器和Web服务器。我想将来自端口22的互联网的传入流量路由到SFTP服务器,将端口80和443路由到Web服务器。
我很难找到确切的方法。我使用过的所有硬件路由器都非常简单。
有人能指出我的文档/示例/或者只是告诉我该怎么做?
编辑: 我不清楚我希望远程主机能够向单个IP地址发出请求,但是在不同的端口上,并且将不同的端口路由到不同的实例;我已经设置了安全组,因此我可以接受每个实例的公共IP地址的流量。
答案 0 :(得分:1)
以下是您需要遵循的步骤来实现您的用例。
正如您所说,两台服务器都在VPC中,您需要确保它们是 在公共子网中连接了一个互联网网关。(这可以 也可以在私有子网中实现,但会变得更加复杂 你的过程)有关更多信息,请检查此 https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario1.html
用于SFTP的EC2 Server 1您需要通过添加IP地址或打开世界规则来打开安全组中的SSH端口22。然后,您可以使用首选的SFTP客户端进行SFTP。
EC2 Server 2用于端口80和443.您需要在实例的安全组中添加两个规则。检查下面的截图。完成后,您将能够通过端口80和443路由http流量。
有关安全组的更多信息,请点击此处。
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html
关于您的编辑。您必须在实例的前面运行实例。
将HTTP代理添加到此新创建的实例。然后应使用IP表实现端口重定向。检查以下IP表配置您需要添加到该服务器。假设您的HTTP代理服务器是服务器1.端口22服务器是服务器2,端口80和443服务器是服务器3.因此服务器1 IP表将具有以下规则。
point start.point end.point
1 10 20 30
答案 1 :(得分:0)
截至今天,Amazon Elastic Load Balancers有一个新的“应用程序负载均衡器”模式,该模式支持根据HTTP路径,和端口等路由将请求路由到不同的EC2实例。
要进行此设置,请执行以下操作:
使用此系统,对ELB的SSH请求将被转发到SSH实例,并且对ELB的HTTP / HTTPs请求将被转发到Web服务器