aws 负载均衡ELB访问后端私有子网中的服务(Private subnet)

 

常见Web系统的网络架构:

 

 这个架构涉及几个问题:

1. 如何将面向公众的负载均衡器连接到具有私有 IP 地址的 EC2 实例

2.在私有实例中如何访问互联网的服务(比如第三方的接口)等

 

重要的两个概念:

公有子网

如果子网的默认流量路由到互联网网关,则该子网称为公有子网。例如,如果在此子网中启动的实例具有弹性 IP 地址或与之关联的公有 IP 地址,则该实例可以公开访问。

私有子网

如果子网的默认流量路由到 NAT 实例/网关或完全没有默认路由,则该子网称为私有子网。例如,即使具有弹性 IP 地址或与之关联的公有 IP 地址,在此子网中启动的实例也不可公开访问。

 

重要的约束:

1.ALB如果要互联网访问,必须关联共有子网。

2.私有子网的实例如果想访问互联网,必须经过NAT服务(非互联网网关)。

 

 

VPC的配置流程:

1.创建VPC,创建2个私有子网,分布在两个不同的可用区。将实例放入这两个私有子网。

2.创建两个公有子网B,C,分布在两个不同的可用区。

3.创建一个公有子网A,随意选择一个可用区。

4.创建NAT,绑定公有子网A

5.将私有子网的路由表增加路由到NAT的路由。

6.创建ELB,绑定VPC,及公有子网B,C

 

最后的结果如下:

 

 

 

两个场景:

1.用户从internet访问web,走右边的虚线。从internet gateway到ELB,到Public subnet,最后到private subnet

2.private subnet中的后端服务需要访问互联网上的第三方服务,走左边的虚线。从EC2服务器,到private subnet,然后NAT gateway,然后直接到internet。

 

 

 

参考:

1. https://amazonaws-china.com/cn/premiumsupport/knowledge-center/public-load-balancer-private-ec2/

2.https://stackoverflow.com/questions/9257514/amazon-elb-in-vpc

3.http://thebluenode.com/exposing-private-ec2-instances-behind-public-elastic-load-balancer-elb-aws

posted @ 2020-04-17 12:11  cwwhy  阅读(1607)  评论(0编辑  收藏  举报