使用Amazon VPC将端口路由到实例

时间:2016-08-10 16:22:26

标签: amazon-web-services amazon-ec2

我在Amazon EC2上有一个简单的VPC,有两个实例:SFTP服务器和Web服务器。我想将来自端口22的互联网的传入流量路由到SFTP服务器,将端口80和443路由到Web服务器。

我很难找到确切的方法。我使用过的所有硬件路由器都非常简单。

有人能指出我的文档/示例/或者只是告诉我该怎么做?

编辑: 我不清楚我希望远程主机能够向单个IP地址发出请求,但是在不同的端口上,并且将不同的端口路由到不同的实例;我已经设置了安全组,因此我可以接受每个实例的公共IP地址的流量。

2 个答案:

答案 0 :(得分:1)

以下是您需要遵循的步骤来实现您的用例。

  1. 正如您所说,两台服务器都在VPC中,您需要确保它们是 在公共子网中连接了一个互联网网关。(这可以 也可以在私有子网中实现,但会变得更加复杂 你的过程)有关更多信息,请检查此 https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario1.html

  2. 用于SFTP的EC2 Server 1您需要通过添加IP地址或打开世界规则来打开安全组中的SSH端口22。然后,您可以使用首选的SFTP客户端进行SFTP。

  3. EC2 Server 2用于端口80和443.您需要在实例的安全组中添加两个规则。检查下面的截图。完成后,您将能够通过端口80和443路由http流量。

  4. 有关安全组的更多信息,请点击此处。

    https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html

    enter image description here

    关于您的编辑。您必须在实例的前面运行实例。

    将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实例。

要进行此设置,请执行以下操作:

  1. 使用新的“应用程序负载均衡器”模式创建新的ELB。
  2. 为端口22创建一个目标组。
  3. 将您的EC2实例作为此目标组的SSH目标。
  4. 为端口80和443创建另一个目标组。
  5. 将您的EC2实例作为HTTP / HTTPs目标添加到此目标组。
  6. 使用此系统,对ELB的SSH请求将被转发到SSH实例,并且对ELB的HTTP / HTTPs请求将被转发到Web服务器