到底如何使用VPC

时间:2019-02-05 01:28:55

标签: amazon-web-services vpc aws-vpc

我了解VPC的主要概念和高级体系结构。据我了解,VPC主要用于网络的底层详细信息。这主要用于ec2实例。我知道ec2实例是IAAS。

我的问题是VPC如何与PAAS或FAAS的其他资源一起使用。在VPC中拥有RDS,EB,Lambda之类的资源与不在VPC中拥有该资源有什么区别?如果这些资源在VPC中使用,是否通过ec2实例显示它们?还是在VPC中拥有它能够控制该资源的网络详细信息的要点?

2 个答案:

答案 0 :(得分:4)

VPC是物理网络的虚拟版本

考虑您的家庭网络。家里的每个设备都需要物理连接到路由器,或通过wifi连接到路由器。让我们暂时忽略wifi。

如果家中的两个设备要互相通信,则需要将它们连接到同一网络。您无法连接到邻居的设备,因为它们在不同的网络上。

您的路由器还可以连接到Internet,从而使设备可以访问家外的计算机。

VPC也是如此。希望彼此通信的任何资源(例如EC2,RDS)必须位于同一VPC上。如果VPC是通过Internet网关连接到Internet的,则它们也可以与通过Internet访问的任何内容进行通信。

  • Amazon EC2实例始终连接到VPC。 (有一个名为EC2-Classic的旧版本,但我们可以忽略它)
  • AWS Elastic Beanstalk 部署Amazon EC2实例,因此它们也已连接到VPC。
  • Amazon RDS实例在“幕后”使用EC2,因此它们始终连接到VPC。
  • AWS Lambda功能可选地连接到VPC 。如果它们没有连接到VPC,则可以直接访问Internet。如果它们 连接到VPC,则它们只能访问VPC内的资源-需要NAT网关才能使功能访问Internet。
  • Amazon S3 是一项始终运行且始终可以从Internet访问的Web服务。您可以“使用”它,但不能“创建”它。因此,它不连接到VPC。要使用它,VPC上的资源(例如EC2实例)需要能够访问Internet,或使用从VPC直接连接到S3的“ VPC端点”。

VPC纯粹用于为资源提供“物理”连接,就像将资源插入同一路由器一样。它不授予资源本身的访问权限。就像将笔记本电脑插入我的家庭网络一样-除非您将笔记本电脑配置为允许访问(例如,访问磁盘共享),否则它不会授予我访问笔记本电脑的权限。

答案 1 :(得分:0)

您已经知道,VPC是完全私有的虚拟网络服务。在此专用网络中,您将能够根据需要创建子网并组织它们,例如,某些网络可以具有公共IP地址(例如前端服务),而另一些完全私有(例如RDS)。 / p>

现在,公用子网仅称为公用子网,因为它已连接到称为Internet Gateway的AWS资源,因此您的公用IP将被路由。这意味着,即使您的子网中的EC2实例上的公用IP没有通过路由表连接到Internet网关,您也将无法连接到Internet。

如果您希望私有子网中的实例能够与世界其他地方进行通信,则必须添加一个AWS NAT网关来为您完成数据包转换(最简单的方法)。

现在拥有VPC的目的是拥有堆栈中正在进行的数据,例如,即使您可以用安全组保护它们,也不想在Internet上公开关键数据库和后端服务。< / p>

VPC中的lambda函数将是在您指定的子网中执行网络接口(ENI)期间将提供给该资源的资源。这将使您可以连接到未公开到Internet的资源(RDS,Elasticache等)

通常,如果不需要访问留在VPC内的私有资源,则希望在不使用VPC的情况下使用lambda。