AWS 基础架构怎么设计?新手入门架构图详解?

文章导读
Previous Quiz Next 这是 AWS EC2 的基本结构,其中 EC2 代表 Elastic Compute Cloud。EC2 允许用户根据需求使用不同配置的虚拟机。它提供各种配置选项、单个服务器映射、多种定价选项等。我们将在 AWS Products 部分
📋 目录
  1. AWS 中 Web 托管的关键考虑因素
A A

Amazon Web Services - 基本架构



Previous
Quiz
Next

这是 AWS EC2 的基本结构,其中 EC2 代表 Elastic Compute Cloud。EC2 允许用户根据需求使用不同配置的虚拟机。它提供各种配置选项、单个服务器映射、多种定价选项等。我们将在 AWS Products 部分详细讨论这些内容。以下是该架构的图示表示。

Architecture

注意 − 在上图中,S3 代表 Simple Storage Service。它允许用户使用 API 调用存储和检索各种类型的数据。它不包含任何计算元素。我们将在 AWS products 部分详细讨论此主题。

负载均衡

负载均衡 简单来说就是将负载分配到 web 服务器上,从而提高服务器和应用程序的效率。以下是带有负载均衡的 AWS 架构图示表示。

硬件负载均衡器是传统 web 应用程序架构中非常常见的网络设备。

AWS 提供 Elastic Load Balancing 服务,它将流量分发到多个可用区域中的 EC2 实例,并支持动态添加和移除 Amazon EC2 主机从负载均衡轮转中。

Elastic Load Balancing 可以动态扩展和收缩负载均衡容量以适应流量需求,并支持 sticky sessions 来满足更高级的路由需求。

Amazon CloudFront

它负责内容分发,即用于交付网站。它可以使用全球 edge locations 网络分发动态、静态和流媒体内容。用户端的请求会自动路由到最近的 edge location,从而提高性能。

Amazon CloudFront 针对与其他 Amazon Web Services(如 Amazon S3 和 Amazon EC2)的协作进行了优化。它也可以与任何非 AWS origin server 良好协作,并以类似方式存储原始文件。

在 Amazon Web Services 中,没有合同或月度承诺。我们只需为通过该服务交付的内容支付相应费用。

Elastic Load Balancer

它用于将流量分发到 web 服务器,从而提高性能。AWS 提供 Elastic Load Balancing 服务,其中流量被分发到多个可用区域中的 EC2 实例,并支持动态添加和移除 Amazon EC2 主机从负载均衡轮转中。

Elastic Load Balancing 可以根据流量条件动态扩展和收缩负载均衡容量。

安全管理

Amazon 的 Elastic Compute Cloud (EC2) 提供了一个名为 security groups 的功能,类似于入站网络防火墙,我们需要指定允许访问 EC2 实例的协议、端口和源 IP 范围。

每个 EC2 实例可以分配一个或多个 security groups,每个 group 将适当的流量路由到每个实例。Security groups 可以使用特定子网或 IP 地址进行配置,从而限制对 EC2 实例的访问。

Elastic Cache

Amazon Elastic Cache 是一个管理云中内存缓存的 web 服务。在内存管理中,cache 扮演着非常重要的角色,有助于减少服务负载,通过缓存常用信息来提高数据库层的性能和可扩展性。

Amazon RDS

Amazon RDS (Relational Database Service) 提供与 MySQL、Oracle 或 Microsoft SQL Server 数据库引擎类似的访问方式。相同的查询、应用程序和工具都可以与 Amazon RDS 一起使用。

它会根据用户指令自动修补数据库软件并管理备份。它还支持 point-in-time recovery。不需要预先投资,我们只需为使用的资源付费。

在 EC2 实例上托管 RDMS

Amazon RDS 允许用户在 EC2 实例上安装所需的 RDBMS (Relational Database Management System),如 MySQL、Oracle、SQL Server、DB2 等,并按需管理。

Amazon EC2 使用 Amazon EBS (Elastic Block Storage),类似于网络附加存储。运行在 EC2 实例上的所有数据和日志都应放置在 Amazon EBS volumes 上,即使数据库主机失败,这些 volumes 仍然可用。

Amazon EBS volumes 在可用区内自动提供冗余,从而提高简单磁盘的可用性。此外,如果 volume 不足以满足数据库需求,可以添加 volume 来提高数据库性能。

使用 Amazon RDS,服务提供商管理存储,我们只需专注于管理数据。

存储与备份

AWS 云提供各种选项用于存储、访问和备份 web 应用程序数据和资产。Amazon S3 (Simple Storage Service) 提供了一个简单的 web services 接口,可用于随时随地存储和检索任意数量的数据。

Amazon S3 将数据作为对象存储在称为 buckets 的资源中。用户可以根据需要存储任意数量的对象,并可以从 bucket 中读取、写入和删除对象。

Amazon EBS 对于需要作为 block storage 访问且需要在运行实例生命周期之外持久存在的数据非常有效,例如数据库分区和应用程序日志。

Amazon EBS volumes 可以最大化到 1 TB,这些 volumes 可以 striped 以获得更大的卷和更高的性能。Provisioned IOPS volumes 设计用于满足对存储性能和一致性敏感的数据库工作负载。

Amazon EBS 当前支持每个 volume 最多 1,000 IOPS。我们可以将多个 volumes striped 一起,为应用程序提供数千 IOPS。

自动伸缩

AWS 云架构与传统托管模型的区别在于,AWS 可以按需动态扩展 web 应用程序舰队以应对流量变化。

在传统托管模型中,通常使用流量预测模型来提前为预计流量预置主机。在 AWS 中,可以根据一组触发器按需动态预置实例来扩展或收缩舰队。Amazon Auto Scaling 可以创建可以按需增长或收缩的服务器容量组。

AWS 中 Web 托管的关键考虑因素

以下是 Web 托管的一些关键考虑因素 −

无需物理网络设备

在 AWS 中,用于 AWS 应用的网络设备(如防火墙、路由器和负载均衡器)不再驻留在物理设备上,而是被软件解决方案取代。

有多种选项可确保高质量的软件解决方案。对于负载均衡,可选择 Zeus、HAProxy、Nginx、Pound 等。对于建立 VPN 连接,可选择 OpenVPN、OpenSwan、Vyatta 等。

无安全担忧

AWS 提供了一种更安全的模型,其中每个主机都被锁定。在 Amazon EC2 中,为架构中的每种类型的主机设计了 security groups,并且可以创建大量简单和分层的 security models,以根据需求在架构内的主机之间启用最小访问权限。

数据中心的可用性

EC2 instances 在 AWS 区域的大多数 availability zones 中很容易获得,并提供了一种模型,用于在数据中心之间部署您的 application,以实现高可用性和可靠性。