首页 文章

VPC中的Amazon ELB

提问于
浏览
65

我们正在使用Amazon EC2,我们希望将ELB(负载均衡器)放在私有子网上的2个实例上 . 如果我们只是将私有子网添加到ELB,它将不会获得任何连接,如果我们将两个子网连接到ELB然后它可以访问实例,但它通常会超时 . 有没有人在他们的VPC私有子网内成功实施ELB?如果是这样,你能解释一下这个程序吗?

谢谢

4 回答

  • 2

    我的队友和我刚刚在一个VPC中实现了ELB,在不同的可用区域中有2个私有子网 . 您获得超时的原因是,对于添加到负载均衡器的每个子网,它会获得一个外部IP地址 . (尝试'挖elb-dns-name-here',你会看到几个IP地址) . 如果其中一个IP地址映射到私有子网,它将超时 . 映射到公有子网的IP将起作用 . 因为DNS可能会为您提供任何一个IP地址,但有时它可以工作,有时会超时 .

    在与亚马逊进行一些来回之后,我们发现ELB应该只放在“公共”子网中,即具有到Internet网关的路由的子网 . 我们希望将我们的Web服务器保留在私有子网中,但允许ELB与它们通信 . 为了解决这个问题,我们必须确保我们拥有私有子网的每个可用区域都有相应的公有子网 . 然后,我们向ELB添加了每个可用区的公共子网 .

    起初,这似乎不起作用,但在尝试了一切后,我们重新创建了ELB,一切都按预期工作 . 我认为这是一个错误,或者ELB只是因为这么多的改变而处于一种奇怪的状态 .

    这或多或少是我们所做的:

    • WebServer-1在可用区us-east-1b中的PrivateSubnet-1中运行,安全组名为web-server .

    • WebServer-2在可用区us-east-1c中的PrivateSubnet-2中运行,安全组名为web-server .

    • 在区域us-east-1b中创建了一个公有子网,我们将其称为PublicSubnet-1 . 我们确保将包含到Internet网关(ig-xxxxx)的路由的路由表与此新子网相关联 . (如果您使用向导创建公共/私有VPC,则此路由已存在 . )

    • 在区域us-east-1c中创建了一个公有子网,我们将其称为PublicSubnet-2 . 我们确保将包含到Internet网关(ig-xxxxx)的路由的路由表与此新子网相关联 . (如果您使用向导创建公共/私有VPC,则此路由已存在 . )

    • 创建了一个新的ELB,添加了PublicSubnet-1和PublicSubnet-2(不是PrivateSubnet-X) . 此外,选择要在ELB中运行的实例,在本例中为WebServer-1和WebServer-2 . 确保分配一个允许传入端口80和443的安全组 . 让我们将此组称为elb-group .

    • 在Web服务器组中,允许来自elb-group的端口80和443的流量 .

    我希望有所帮助!

  • 2

    这里的关键是理解,您不是“向ELB添加子网/可用区域”,而是指定将ELB实例放入哪些子网 .

    是的,ELB是一个软件负载 balancer 器,当您创建ELB对象时,会将自定义负载 balancer EC2实例放入您指定的所有子网中 . 因此,要使ELB(其实例)可访问,必须将它们放入具有通过IGW配置的默认路由的子网中(很可能您将这些子网分类为公共) .

    因此,正如上面已经回答的那样,您必须为ELB指定“公共”网络,并且这些网络应该来自运行EC2实例的AZ . 在这种情况下,ELB实例将能够访问您的EC2实例(只要正确配置了安全组)

  • 12

    我们已经在私有子网中实现了ELB,因此所有ELB需要公开的声明并不完全正确 . 你需要一个NAT . 为私有ELB创建一个私有子网,打开VPC DNS,然后确保私有路由表配置为通过NAT . 还需要设置子网安全组以允许ELB和App以及App到DB子网之间的流量 .

    Beanstalk运行状况检查不起作用,因为它们无法到达负载均衡器,但对于需要在公共范围之外的服务,这是一个很好的折衷方案 .

    建议阅读以启动您的VPC架构:http://blog.controlgroup.com/2013/10/14/guided-creation-of-cloudformation-templates-for-vpc/ .

  • 172

    您必须添加以下设置 .

    • 公有子网区域b =服务器NAT

    • 私有子网区域c =服务器Web

    • 公众子网区域c = ELB

    诀窍是路由:

    • 到NAT的路由器连接到网关A.

    • Server Web的路由器连接到NAT .

    • 公共子网的路由器附加网关A.

    ELB详情:

    1.Zone:公有子网区域c 2.Instance:Server Web 3.Security Groups:启用端口

    http://docs.amazonaws.cn/en_us/ElasticLoadBalancing/latest/DeveloperGuide/UserScenariosForVPC.html

相关问题