参考:AWS Cloud Practitioner Essentials Module 4
本模块将进行AWS网络功能学习,从了解网络的基本概念开始,进而了解公有网络和私有网络的差异,以及虚拟私有网关和虚拟私有网络的真实应用场景。此外,还会涉及AWS Direct Connect和混合部署(hybrid deployments)的好处。最后,你将知道不同的安全层级在IT策略中的应用,以及用户可以使用哪些服务与AWS的全球网络进行交互。
AWS连通性
Amazon Virtual Private Cloud (Amazon VPC)
想象一下有数百万甚至更多的用户使用AWS创建他们各自的资源,比如Amazon EC2实例。假如这些实例间没有边界,那么整个网络中的数据流动将不受任何限制。为此,AWS提供了Amazon Virtual Private Cloud (Amazon VPC)以建立资源的边界。
Amazon VPC可以让你在AWS云环境中建立自己独立的区域,从而让你的资源运行在位于该独立区域的虚拟网络中。在VPC里,你可以将资源组织在不同的子网(subnet)中。一个子网就是VPC中可以容纳例如Amazon EC2实例资源的区域。
Internet gateway
如果要允许互联网的公共数据访问你的VPC,你需要挂载一个互联网网关(internet gateway)到你的VPC上。一个internet gateway就是用来连通VPC和互联网的服务,就像咖啡店的大门一样能让顾客进出是一个道理。
Virtual Private Gateway
通常情况下,VPC中的一部分资源是私有的,并不希望开放给整个互联网访问,而是只允许经过授权的网络,例如公司内部网络。这时则需要一个虚拟私有网关(Virtual Private Gateway),用来建立私有网络之间的VPN连接,从而使它们之间可以互相访问。例如一些企业除了在云上部署业务外,还会有自己部署的数据中心。虽然它们是不同的物理网络,但都属于公司的内部网络,那么可以在AWS上使用Virtual Private Gateway将其连通。
AWS Direct Connect
AWS Direct Connect提供在自有部署的数据中心和Amazon VPC之间建立专用私有连接的服务。其实就是专线的意思,如果不差钱,并且对网络质量要求很高,那么可以考虑采用AWS Direct Connect。
子网和网络访问控制列表
在VPC中可以划分子网,引入子网划分的一个重要原因是:VPC中的资源可以分为公有和私有两大类,那些公有资源划分到公共子网中(即能够连通互联网网关),私有资源划分到私有子网中,以屏蔽外部访问。此外,子网还可以有自己的访问控制设置,也就是network access control list。可以把network ACLs看作护照检查官,只有当你的护照在批准列表上,你才会被同意入境或出境。注意跟护照检查类似,network ACLs是做双向检查的,即入向和出向的数据都会被检查。
NACLs的检查机制是无状态的,这意味着所有出入的数据包都会被进行规则检查是否允许通过,即便一些数据包是相互关联的,比如一对请求和响应,请求被允许进入子网,而响应则可能不允许流出子网。
NACLs可以用来对子网的数据进出进行控制,但它并能不能对一个数据包(packet)能否进出子网中的实例进行控制。一个子网通常包含一个或多个EC2实例,每个实例对于不同的数据包可能有不同的访问控制要求。因此需要引入另一个安全控制级别 - 安全组(Security Group)。安全组是实例级别的访问控制功能,可以用来设置每个实例自己的数据包出入规则。默认的安全组设置下,任何数据包都不能进入实例,而所有流出实例的数据包都是被允许的。
与NCALs的无状态检查不同,Security Group是有状态的。即相互关联的数据包,根据之前的检查结果,不再做重复检查。还是以一对请求和响应为例,如果请求被允许进入实例,那么响应则会被直接放行。
全球网络
Domain Name System(DNS)
域名系统提供主机名和IP地址的映射服务。我们在访问一个网站时,通常在浏览器中输入的是一串web地址,而在定位这个web地址时需要其对应的IP地址。这个映射就是由DNS来实现的。可以把DNS理解为在互联网中使用的电话号码本。
Amazon Route 53
在AWS中提供DNS服务的是Amazon Route 53。它能将运行在AWS中的主机名或web地址与其对应的IP地址进行映射,从而使用户能够主机名或web地址访问目的应用。
在之前的模块中我们介绍过Amzon CloudFront,一种内容交付服务(content delivery service)。下面举个例子描述Amzon Route 53和Amazon CouldFront是如何一同完成为用户交付内容这项工作的。
假设用户要访问运行在AWS上的AnyCompany网站,大致可以分为以下几个步骤:
- 用户发起访问AnyCompany网站请求
- Amazon Route 53使用DNS解析来确定AnyCompany网站的IP地址,并将这个地址返回给用户
- 用户的请求发给距离最近的egde location,这基于Amazon CloudFront提供的服务
- Amazon CloudFront是和Load Balancer相连的,并进一步将请求发给了Amazon EC2 实例