Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services EC2实例无法通过主机名访问自身_Amazon Web Services_Networking_Amazon Ec2_Aws Security Group - Fatal编程技术网

Amazon web services EC2实例无法通过主机名访问自身

Amazon web services EC2实例无法通过主机名访问自身,amazon-web-services,networking,amazon-ec2,aws-security-group,Amazon Web Services,Networking,Amazon Ec2,Aws Security Group,我在ELB后面创建了一个EC2实例,主机名是 mysubdomain.domain.com 可以通过internet从我的本地工作站访问该实例(已打开从我的IP-->到它所属的安全组中的实例的所有连接) 但是,在表演的时候, curl mysubdomain.domain.com 从实例内部超时 我是否需要分配一个public(我假设我希望它是弹性的,这样我就不必时不时地在我的安全组入站规则中更改它),并从该特定IP在我的安全组(实例所属)中添加一个允许规则 考虑到我已经达到了弹性IP的极限

我在ELB后面创建了一个EC2实例,主机名是

mysubdomain.domain.com
可以通过internet从我的本地工作站访问该实例(已打开从我的IP-->到它所属的安全组中的实例的所有连接)

但是,在表演的时候,

curl mysubdomain.domain.com
从实例内部超时

我是否需要分配一个public(我假设我希望它是弹性的,这样我就不必时不时地在我的安全组入站规则中更改它),并从该特定IP在我的安全组(实例所属)中添加一个允许规则


考虑到我已经达到了弹性IP的极限,还有其他方法可以实现吗?

对于要访问Internet的Amazon EC2实例,它必须是:

  • 在具有公共IP地址的公共子网中,或
  • 在具有NAT网关或类似NAT服务的专用子网中
默认情况下,安全组允许所有出站流量,因此您无需修改安全组

即使您已达到弹性IP地址的限制,也可以通过
自动分配公共IP
,使用公共IP地址启动EC2实例-这与弹性IP地址不同,因为它是在实例启动时分配的,并且在实例停止/启动时可能会更改。然而,获得互联网接入将非常有效


如果某个实例位于负载平衡器后面,则没有理由希望直接从Internet访问该实例。因此,不需要弹性IP地址。事实上,在最佳实践体系结构中,实例应该位于私有子网中,以便更好地保护它们不受Internet的影响。这将需要一个NAT网关或NAT实例,以使实例能够访问Internet。

是的,我只是指实例需要通过Internet本身访问的特殊情况;e、 g.假设我(出于某种原因)从实例中执行curl mysubdomain.domain.com;在这种情况下,如果您试图通过
curl mysubdomain.domain.com
访问负载平衡器,我需要在SGs中使用实例的公共IP明确允许规则(因此永久/静态/弹性IP的需求永远不会改变,因此我不必不断更新我的SG规则),然后,您只需要默认的安全组设置,以及如上所述的公共子网中的公共IP地址或NAT网关/实例。如果您的实例试图通过公共名称访问自身,那么您的体系结构设计得很糟糕。