我将实例放在aws loadbalancer
后面,我已经配置了可路由并将IGW连接到它,创建了loadbalancer并将此实例添加到aws loadbalancer,每个东西都运行良好,端点URL AWS loadbalancer能够加载HTTP页面
现在我已从路由表中删除了IGW并再次对其进行了测试,AWS loadbalalncer端点URL无法加载页面,但实例状态在AWS loadbalancer中显示为inService
为什么在私有子网上配置负载均衡器时需要IGW,从技术上讲,它意味着它是一个公共子网,阻止我创建NAT无效
答案 0 :(得分:3)
根据定义,没有指向igw-xxxxxxxx Internet网关对象的默认路由的子网是私有子网。如果从公共子网中删除igw,则现在有一个私有子网。
在这样的私有子网中放置面向Internet的负载均衡器(ELB)是不正确的。
听起来好像你正在做一个通常但不正确的假设,即ELB应该配置在与其背后的实例相同的子网中。这也是不正确的。
在公共子网中配置ELB,而不考虑子网背后的实例。
总结:
面向Internet的ELB需要公共子网进行放置。
NAT实例需要公共子网才能放置。
使用这些服务的实例(NAT和ELB)属于不同的私有子网,不同于ELB和NAT实例的子网。
ELB和NAT可以放在同一个子网中,也可以单独放在一起,只要子网是公共的(将IGW作为其默认路由)并且位于相同的可用区域中。
< / LI>答案 1 :(得分:0)
我相信如果没有IGW连接到附加子网的路由表,你就无法做任何事情。
另一种方法是在公有子网中剥离NAT实例(可在AWS市场中找到),将其添加到原始实例所在的专用路由表(0.0.0.0/0 - instanceid)所有流量都将通过NAT实例路由。
答案 2 :(得分:0)
这里主要是我们必须看到两件事情,弹性负载均衡器的子网是公共的还是私有的。 每个VPC应该有一个IGW连接到公众,每个流量应该只通过IGW。如果VPC连接到IGW,IGW将互联网分发到该VPC中的所有实例,如果路由表更改为特定的rt,则互联网流量只能发送到该实例。这里的ELB实例在服务中,因为两者都在同一个VPC中并且可以相互通信意味着检查状态。当我们使用NAT时,IGW将发挥主要作用。 我们始终为IGW或rt提供ip范围为0.0.0.0/0,它表示为公共。 以下链接将解释更多:http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html
答案 3 :(得分:0)
这个小解释可能对某人有帮助。
让我来谈谈你的两个问题
这是负载均衡器的默认行为,因为内部负载均衡器和您的实例可能位于同一个VPC中,因此它们能够进行通信,这就是loadbalancer显示处于服务状态的原因。
如果您想访问任何资源,尤其是来自互联网的EC2,Loadbalancer,您需要IGW。但是,如果将负载均衡器放在私有子网中,则意味着IGW与其中没有负载均衡器的子网无关,因此无法在VPC外部访问此负载均衡器,这是因为您无法加载页面。
当您希望私有子网实例应该能够通过互联网发起请求并且与正常的负载平衡设置无关时,通常会使用NAT实例,除非您希望不希望从Internet安装任何更新到您的实例。
答案 4 :(得分:0)
您正尝试公开访问网页并从loadbalncer子网中删除路由条目IGW。 没有IGW的子网将变为私有,因此您无法访问它。
答案 5 :(得分:0)
首先,具有通过互联网网关(IGW)路由流量的路由表的子网是公有子网。 IGW是必需的,因为在AWS VPC中创建的子网是内部IP,并且由于内部IP不能通过Internet路由,因此属于内部IP的EC2实例之间的流量需要一种方法来完成这些请求。这是IGW发挥作用的地方。 IGW允许您的EC2实例向Internet发出出站请求,并允许其他用户/客户端向您的ec2实例发出入站请求。
公共子网是VPC中的一组IP(称为子网),允许来往ec2实例的互联网流量。没有Internet网关的子网是私有子网。正如您已经猜到的那样,不允许进出任何流量。
也就是说,VPC中私有子网中的实例仍然需要向互联网发起出站请求以下载软件或执行更新。在这种情况下,您必须创建NAT网关或NAT实例并将其附加到私有子网。 NAT网关和NAT实例仅允许到Internet的出站流量,但不允许相反的出站流量。在某些情况下,出于安全原因,您可能希望生产EC2位于私有子网中,ELB位于公有子网中。
ELB通常属于公共子网,所以它也可以从互联网上访问,就像你的情况一样。
回答您的一些问题 - 当您从路由表中删除IGW时,您的ELB会自动成为私有子网,因此您的网页会停止加载。
此外,即使您删除了IGW,您仍然可以看到ELB背后的ec2实例为InService,因为ELB和EC2实例可以通过内部IP进行通信,因为它们位于同一网络或VPC中。
答案 6 :(得分:0)
ELB需要一条通往互联网的路线,以便通过互联网向您发送回复。就这么简单。
在公共子网中配置ELB,无论您的实例在何处。
答案 7 :(得分:0)
基本上有两种类型的负载平衡器。
1)内部 2)外部
内部负载均衡器是在私有子网中启动的内部负载均衡器,只能由内部elb的同一vpc上的实例在内部访问
外部负载均衡器可通过互联网访问,应在子网中启动,该子网连接有互联网网关,并且路由表已正确配置以路由请求。
如果您将一个互联网网关连接到一个子网,它就会成为一个公共子网。如果您创建一个需要从互联网访问的负载均衡器,它应该是一个外部负载均衡器,并且aws不允许它在私有子网。实例在服务中显示,因为它使用私有ip-address在内部进行通信。