2017-03-17 65 views
0

我正在学习AWS以及如何为EC2实例配置网络,并且有几个问题。我在t2.micro实例中使用CentOS 7。AWS NAT网关vs公网IP用于传出互联网连接

  1. 私有IP绑定到实例中的NIC,如ifconfig -a所示。目的似乎是服务器的单一联系点。如ifconfig -a所示,添加另一个网络接口不会添加另一个NIC。由于主网络接口不能是静态IP,因此大多数配置都需要辅助网络接口。例如,要将应用程序连接到数据库服务器,请使用分配给第二个网络接口的静态IP。我是否正确理解这一点?

  2. 假设您配置了SG,公共IP将显示在AWS控制台中,并提供通过SSH连接到实例的方法。公共IP还提供访问互联网进行系统更新的手段。这似乎与NAT的AWS文档相矛盾。如果公共IP已经提供了互联网访问,为什么需要NAT(实例或网关)?这是参考文档引用的系统更新。

您可以使用NAT设备,以使在一个私人子网实例连接到Internet(例如,用于软件更新)或其他AWS服务,但防止互联网开始与连接实例。 NAT设备将私有子网中实例的流量转发到Internet或其他AWS服务,然后将响应发送回实例。

  1. 公共IP和私有IP总是分配给每个实例吗?我还没有完成创建[新] AMI的过程来验证是否有一个选项没有公共IP。如果实例没有公共IP,AWS控制台Connect按钮是否仍然允许您连接到它以管理服务器?在什么情况下,一个实例没有公共IP?你如何连接到该实例来管理它?

我已阅读NAT Gateway文档并了解其中的大部分内容。我无法理解为了启用互联网访问而需要声明NAT网关或互联网网关的部分,但似乎默认情况下启用了。我错过了什么?

+1

您也可以在我的[为什么我们需要VPC中的私有子网](http://stackoverflow.com/a/22212017/1695906)答案中找到一些有用的信息? –

回答

4

我认为你的困惑源于你的第三个问题。公共IP并不总是分配给实例。公共IP是一种可以在公共VPC子网中启用或禁用的选项,而在私有VPC子网中,公共IP根本不是一个选项。对于没有公共IP的EC2实例,需要NAT网关(或NAT实例)才能访问VPC之外的任何内容。

您可能希望在私有子网中放置类似数据库服务器的内容,以便VPC外部无法访问它。但是,您可能希望数据库服务器能够访问Internet以下载补丁程序或其他内容,或者您​​可能希望它访问AWS API以将备份复制到S3或其他服务器上,在这种情况下,您需要一个NAT网关向服务器提供对VPC外部资源的访问权限。

+0

这正是我所错过的。我看到自动分配公共IP在步骤3中启动实例。再次查看文档,测试Internet连接部分澄清它。具有公共IP的实例位于公共子网中,而没有公共IP的实例位于私有子网中。公共/专用IP只能在启动实例时分配。我读过的教程似乎没有说清楚。谢谢@ Mark-B! –

+0

另外,关于你的第一个问题,我认为你是过于复杂的事情。绝对不需要为大多数配置添加第二个网络接口。我不确定您分配给第二个网络接口的“静态IP”是什么,但这不是必需的。在VPC中,私有IP是静态的。要连接到VPC中的其他资源,您应始终使用专用IP,并且应使用安全组ID而不是IP地址将安全组打开到其他VPC资源。 –

+0

RE:“_Private IP是您可以在公共VPC子网启用或禁用的选项_”此选项位于何处? VPC创建后可以更改吗?我通过VPC向导了解到,我拥有一个没有私有子网的公共VPC。 –