我在设置VPC时遇到了一些奇怪的行为,并希望使用R53,ELB和ec2有一些清晰度。在阅读了关于aws和SO的文档和一些帖子后,我正在阅读相互矛盾的信息。
基本问题是,如果我使用的是ELB,我是否需要在实例上使用EIP才能从网址中查看...
为了进行测试,我打开了所有端口。
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,我无法使用abc.domain.com进行连接。根据文档,ELB仅在eth0上连接。
如果我将第二个NIC添加为eth1,并添加EIP,现在我可以连接abc.domain.com。
现在我删除了eth1,我仍然可以通过新会话连接到EC2。
行为是否正确?
如果我稍微改变设置并将ELB指向未连接到IGW的第二个子网中的EC2,我是否应该能够YourEc2
使用abc.domain.com
?
EC2 = YourEc2
AZ = eu-west-1a
subnet = subnet-2222 (no IGW in route table)
感谢艺术。
答案 0 :(得分:2)
你的问题中有很多东西似乎有点无关紧要。如果您想使用Elastic Load Balancer,那么您的流量将如下所示:
浏览器 - > ELB - > EC2服务器
通过将弹性IP分配给EC2服务器,然后尝试命中该IP,您只需完全绕过ELB并直接转到服务器。
所以要回答你的问题,如果你使用ELB,不应该为任何事情分配弹性IP。
另外,您如何测试连接到eth0上的私有IP?显然,您无法将您的域名指向该域名,因为它是一个私有IP。只能从您的VPC中访问该IP。您必须测试从VPC内部运行的服务器上击中该IP。
如果您的ELB说实例是健康的,那么您真的应该能够击中ELB并获得回复。如果您尝试直接以ELB的DNS名称(不是abc.domain.com而是myElb-1111111.eu-west-1.elb.amazonaws.com)点击ELB会发生什么?