Amazon web services 了解eth0上的aws ELB和专用ip

Amazon web services 了解eth0上的aws ELB和专用ip,amazon-web-services,amazon-ec2,amazon-elb,amazon-route53,amazon-vpc,Amazon Web Services,Amazon Ec2,Amazon Elb,Amazon Route53,Amazon Vpc,我在建立VPC时遇到了一些奇怪的行为,我想了解一下R53、ELB和ec2的使用。在阅读了aws上的文档和一些帖子之后,我读到了相互矛盾的信息 基本问题是,如果我使用ELB,我是否需要实例上的EIP才能从url查看它 为了测试,我打开了所有端口 R53 = abc.domain.com -> (use as url for ssh into EC2) type = A Alias = yes Alias = ELB DNS name (myElb-1111111.eu-w

我在建立VPC时遇到了一些奇怪的行为,我想了解一下R53、ELB和ec2的使用。在阅读了aws上的文档和一些帖子之后,我读到了相互矛盾的信息

基本问题是,如果我使用ELB,我是否需要实例上的EIP才能从url查看它

为了测试,我打开了所有端口

R53 = abc.domain.com -> (use as url for ssh into EC2)
   type  = A
   Alias = yes
   Alias = ELB DNS name (myElb-1111111.eu-west-1.elb.amazonaws.com)

ELB = myElb
Listeners = in:tcp:22  out:tcp:22
Security = in:all out:all
AZ = eu-west-1a
instance = i-xxxxxxxx (myEc2)
health = in service (only using private IP on eth0)

EC2 = MyEc2
AZ = eu-west-1a
subnet =  subnet-11111 (connects to igw-000000)
security : in:all out:all
现在,如果我从eth0=private only开始,我无法使用abc.domain.com进行连接。根据文件,ELB仅在eth0上连接

如果我添加第二个NIC作为eth1,并添加一个EIP,现在我可以连接abc.domain.com

现在我删除了eth1,我仍然可以通过一个新的会话连接到EC2

这是正确的行为吗

如果我稍微更改设置,并将ELB指向未连接到IGW的第二个子网中的EC2,我是否能够通过
abc.domain.com
访问
YourEc2

EC2 = YourEc2
AZ = eu-west-1a
subnet =  subnet-2222 (no IGW in route table)

谢谢艺术。

你的问题中有很多东西似乎有点无关紧要。如果您想使用弹性负载平衡器,那么您的流量将如下所示:

浏览器->ELB->EC2服务器

通过将弹性IP分配给EC2服务器,然后尝试访问该IP,您只需完全绕过ELB并直接访问服务器

所以要回答您的问题,不,如果您使用ELB,您不需要为任何内容分配弹性IP

另外,您如何测试连接到eth0上的私有IP?显然,你不能将你的域名指向那个,因为它是一个私有IP。该IP只能从VPC内部访问。您必须测试从VPC内运行的服务器命中该IP


如果你的ELB说实例是健康的,那么你真的应该能够点击ELB并得到响应。如果您尝试在ELB的DNS名称处直接点击ELB(不是abc.domain.com,而是myElb-1111111.eu-west-1.ELB.amazonaws.com),会发生什么情况?

有趣的是,如果我尝试使用直接ELB DNS连接,我只会在eth0和ELB报告实例上使用私有ip,但在服务中没有任何结果。如果我在eth1上添加了一个EIP,那么我可以使用EIP direct访问该实例。我再次检查了安全组,所有的都是:全部进入和退出。您部署了NAT实例吗?没有公共IP的EC2实例不应位于igw xxxx的子网上,但ELB必须位于igw xxxx的子网上,这意味着ELB和EC2位于单个AZ内的两个不同子网上,这是正常的。我怀疑您的实际问题与EC2机器上需要出站Internet才能正常启动有关,这可能解释了为什么您可以随后将其拿走,并继续工作。与ELB没有直接关系。@Michael sqlbot,感谢您的评论,它让我们找到了一个将IGW从子网中分离的胭脂脚本,因此出现了随机行为。