AWS经典的3层web app部署架构图:
AZ(可用区):在某一个区域(Region)部署服务时,就会为你提供一些相应的可用区,只需要做出选择就可以了。一般区域都是由若干个可用区组成,可用区与区域的关系如图所示:
网络ACL:网络控制层,主要控制进出的流量,实现网络的安全防护。
入站规则:
出站规则:
VPC(Virtual Private Cloud):是公有云上自定义的逻辑隔离网络空间,是一块可我们自定义的网络空间,托管在VPC内的是我们在私有云上的服务资源,如云主机、负载均衡、云数据库等。我们可以自定义网段划分、IP地址和路由策略等,并通过安全组和网络ACL等实现多层安全防护,创建VPC有四种选择,如图所示:
子网(Subnet):就是对VPC网络划分后的子网。每个子网必须完全位于一个可用区内,并且不能跨越区域。通常,在一个VPC中我们会创建3种类型的VPC Subnet:Pubilc Subnet NAT Subnet Private Subnet.
ELB(Elastic Load Balancing):可以在多个EC2实例间分配应用程序的传入流量,可以让应用程序拥有更大的容错能力,同时无缝提供相应应用程序传入流量所需要的负载均衡容量。ELB可以检测出运行不正常的实例,并自动将流量路由到正常的实例,直到不正常的实例恢复为止,可以在单个或多个可用区中启用ELB。
三位一体。实现弹性扩展、高可用的架构核心服务
Auto scaling:是为了方便用户增减虚拟机的服务,以达到最大化系统使用率和最小化成本的目的。Autoscaling维护了一组 EC2 实例,EC2 实例可以分布在不同的可用区里以保证可用性。AutoScaling 能检查实例健康状况,自动替换不健康的实例,能根据特定规则增减需要的实例数量,并能在启动、销毁 EC2 实例时触发事件调用其他服务。AutoScaling 服务能够与 ELB 弹性负载均衡服务结合使用,实例不需要公网 IP,而且实例在启动后会自动加入 ELB 的目标组,在终止实例前会先等待 ELB连接耗尽。要注意它的策略。
实现的结构如图所示:
目标组:目标组是一个或多个目标(这里的“目标”可以是EC2实例)的集合,通常一组目标运行相同的应用或服务,一个目标可以注册到一个或多个目标组中。在目标组中可以配置运行状况检查,实例监控,等待连接耗尽及粘性会话等操作。创建目标组时,指定其目标类型,此类型将确定您在向此目标组注册目标时指定的目标的类型。创建目标组后,将无法更改其目标类型。不能指定可公开路由的 IP 地址。如果使用实例 ID 指定目标,则使用实例的主网络接口中指定的主私有 IP 地址将流量路由到实例。如果使用 IP 地址指定目标,则可以使用来自一个或多个网络接口的任何私有 IP 地址将流量路由到实例。这使一个实例上的多个应用程序可以使用同一端口。每个网络接口都可以有自己的安全组。
创建目标组的视图:
安全组:安全组起着虚拟防火墙的作用,可控制一个或多个实例的流量。在您启动实例时,可指定一个或多个安全组;否则,我们将使用默认安全组。您可以为每个安全组添加规则,规定流入或流出其关联实例的流量。您可以随时修改安全组的规则;新规则会自动应用于与该安全组关联的所有实例。
在 VPC 中启动实例时,您必须指定一个为该 VPC 创建的安全组。启动实例后,您可以更改其安全组。安全组与网络接口关联。
Aamzon S3(Amazon Simple Storage Service):是一种面向Internet 的存储服务。可以通过 Amazon S3 随时在 Web 上的任何位置存储和检索的任意大小的数据。
存储桶:存储桶是S3中用于存储对象的容器。每个对象都存储在一个存储桶中。
对象:对象是S3中存储的基本实体。对象由对象数据和元数据组成。数据部分对S3不透明,元数据是一组描述对象的名称-值对。
键:键是存储桶中对象的唯一标识符。存储桶内的每个对象都只能有一个键。由于将存储桶、键和版本ID组合在一起可唯一地标识每个对象,可将S3视为一种“存储桶+键+版本”与对象本身间的基本数据映射。
区域:选择地理区域供S3存储创建的存储桶。主要目的是优化延迟、尽可能减低成本或满足法规要求
创建如图所示:
直接点击创建就行,权限问题可用根据你自己的需求进行配置。
数据库Amazon Relational Database Service (Amazon RDS):
RDS就是AWS托管的数据库服务。是一种 Web 服务,可让用户更轻松地在云中设置、操作和扩展关系数据库。它可以为行业标准关系数据库提供经济高效且可以调节大小的容量,并管理常见数据库管理任务。
创建过程图示:
选择一个数据库引擎。
配置数据库的一些信息,随后在根据后面的提示配置相应的网络以及安全组
创建结果图:
缓存(Amazon CloudFront):举个简单的例子来说明。比如你在中国,想请求一张 Web 服务器位于美国的图片,在检索到图片之前,这个请求会从一个网络路由到另一个网络,在经历n多个路由后,才能到达该图片所在的服务器,这是一个非常大的跳数,同时会对性能、可用性和可靠性产生很大影响。但是如果将原始服务器与CloudFront关联,这时不再通过原始服务器访问图片,而是通过CloudFront分配的URL访问图片,则该请求将被路由到迟延最短的CloudFront边缘站点。如果该内容在迟延最短的CloudFront边缘站点的缓存中存在,则将直接从该边缘站点的缓存中返回图片。如果请求的内容不在该边缘站点的缓存中,才从源去取。这样大大减少了路由数,从而提高了性能。
基础过程配置图:
1.选择Web选项
2.源设置:
IGW(nternet 网关):nternet 网关是一种横向扩展、支持冗余且高度可用的 VPC 组件,可实现 VPC 中的实例与 Internet 之间的通信。因此它不会对网络流量造成可用性风险或带宽限制。
Internet 网关有两个用途,一个是在 VPC 路由表中为 Internet 可路由流量提供目标,另一个是为已经分配了公有 IP 地址的实例执行网络地址转换 (NAT)。
创建完IGW一定要附加到VPC上,以实现VPC 中的实例与 Internet 之间的通信。
NGW(NAT网关):要创建 NAT 网关,您必须指定 NAT 网关应处于哪个公有子网中。还必须在创建 NAT 网关时指定与该网关关联的弹性 IP 地址。一旦将弹性 IP 地址与 NAT 网关关联,便无法更改它。创建 NAT 网关之后,必须更新与您的一个或多个私有子网关联的路由表,以将 Internet 绑定流量指向该 NAT 网关。这使您的私有子网中的实例可以与 Internet 通信。
每个 NAT 网关都在特定可用区中创建,并在该可用区进行冗余实施。您可以在一个可用区中创建的 NAT 网关存在数量限制。
指定要在其中创建 NAT 网关的子网,并选择要与该 NAT 网关关联的弹性 IP 地址的分配 ID。
NAT实例:通过使用您 VPC 中公有子网内的网络地址转换 (NAT) 实例,可让私有子网中的实例发起到 Internet 或其他 AWS 服务的出站 IPv4 流量,但阻止这些实例接收由 Internet 上的用户发起的入站流量。
NAT实例的配置:首先创建VPC,并且在这个VPC内创建两个子网,再将创建好的IGW附加到VPC上,创建一个用于将流向 VPC 外的流量发送到 Internet 网关的自定义路由表,然后将该路由表与一个子网关联,使其成为公有子网。
以上就是介绍AWS经典的架构的介绍,这只是本人的一些理解。如有不恰当的地方还请大佬的多多指点。