内部账单系统
数据收集

数据传输
DTH

应用系统架构搭建

使用 Amazon Route 53 的 DNS 服务 – 提供 DNS 服务以简化域管理。
使用 Amazon CloudFront 进行边缘缓存 – 边缘缓存大量内容以减少对客户的延迟。
使用 AWS WAF 为 Amazon CloudFront 提供边缘安全 – 通过客户定义的规则筛选恶意流量,包括跨站点脚本 (XSS) 和 SQL 注入。
使用 Elastic Load Balancing (ELB) 实现负载均衡 – 使您能够将负载分散到多个可用区和 AWS Auto Scaling 组,以实现服务的冗余和解耦。
使用 AWS Shield 实现 DDoS 防护 – 自动保护您的基础设施免受最常见的网络和传输层 DDoS 攻击。
带安全组的防火墙 – 将安全性移至实例,以便为 Web 服务器和应用程序服务器提供有状态的主机级防火墙。
使用 Amazon ElastiCache 进行缓存 – 通过 Redis 或 Memcached 提供缓存服务,以消除应用程序和数据库的负载,并降低频繁请求的延迟。
使用 Amazon Relational Database Service (Amazon RDS) 托管数据库 – 创建具有六个可能的数据库引擎的高可用性、多可用区数据库架构。
使用 Amazon Simple Storage Service (Amazon S3) 进行静态存储和备份 – 为备份和静态资产(如图像和视频)启用基于 HTTP 的简单对象存储。
网络管理
Amazon VPC 是一项服务,可让您完全控制在 AWS 中设置的网络的详细信息。这种控制的示例包括为 Web 服务器创建面向公众的子网,以及为数据库创建没有 Internet 访问权限的私有子网。

主机安全
除了在边缘进行入站网络流量筛选外,AWS 还建议 Web 应用程序在主机级别应用网络流量筛选。Amazon EC2 提供了一个名为安全组的功能。安全组类似于入站网络防火墙,让您能够指定允许访问 EC2 实例的网络协议、端口和以及源 IP 范围。
您可以为每个 EC2 实例分配一个或多个安全组。每个安全组均允许适当的流量进入每个实例。可以配置安全组,以便只有特定的子网、IP 地址和资源才能访问 EC2 实例。或者,它们可以引用其他安全组来限制对特定组中 EC2 实例的访问。
在图 3 中的 AWS Web 托管架构中,Web 服务器集群的安全组可能只允许从 Web 层负载均衡器进行访问,并且仅允许通过端口 80 和 443(HTTP 和 HTTPS)上的 TCP 进行访问。另一方面,应用程序服务器安全组可能只允许从应用程序层负载均衡器进行访问。在此模型中,您的支持工程师还需要访问 EC2 实例
跨集群的负载均衡
硬件负载均衡器是传统 Web 应用程序架构中常见的网络设备。AWS 通过 Elastic Load Balancing (ELB) 服务提供此功能。ELB 自动将传入的应用程序流量分配到多个目标,例如 EC2 实例、容器、IP 地址、AWS Lambda 函数和虚拟设备。它可以在单个可用区内处理不断变化的应用程序流量负载,也可以跨多个可用区处理此类负载。Elastic Load Balancing 提供四种负载均衡器,它们均能实现高可用性、自动扩展和可靠的安全性,因此能让您的应用程序获得容错能力。
在 Web 应用程序内进行缓存
内存中的应用程序缓存可以通过缓存常用信息来降低服务负载并提高数据库层的性能和扩展性。Amazon ElastiCache 是一种让用户能够在云中轻松部署、操作和扩展内存缓存的 Web 服务。您可以将创建的内存中的缓存配置为随负载自动扩展并自动替换故障节点。ElastiCache 兼容 Memcached 和 Redis 协议,从而简化了当前本地解决方案的迁移。
数据库配置、备份和故障转移
Amazon RDS
Amazon Relational Database Service (Amazon RDS) 使您可以访问熟悉的 MySQL、PostgreSQL、Oracle 和 Microsoft SQL Server 数据库引擎的功能。您已经使用的代码、应用程序和工具可以在 Amazon RDS 上继续使用。Amazon RDS 可自动为数据库软件打补丁,自动备份您的数据库,并且仅保存用户定义的保存期内的备份数据。
数据和资产的存储与备份
AWS 云中有许多选项可用于存储、访问和备份 Web 应用程序数据和资产。Amazon S3 提供了高度可用且冗余的对象存储。对于静态或变化缓慢的对象,如图像、视频和其他静态媒体,Amazon S3 是非常棒的存储解决方案。Amazon S3 还通过与 CloudFront 交互,支持对这些资产执行边缘缓存和流式传输。
自动扩展机群
Auto Scaling 服务可用于创建按需伸缩的服务器容量组。也可以直接将 Auto Scaling 与 CloudWatch 配合使用以用于监控指标数据,以及与 Elastic Load Balancing 配合使用以添加和删除用于负载分发的主机。例如,如果 Web 服务器报告在一段时间里 CPU 的使用率超过 80%,系统会迅速再部署一个 Web 服务器,然后自动将其添加到负载均衡器中,以便立即将其纳入负载均衡循环。
如在 AWS Web 托管架构模型中所示,可针对架构的不同层级创建多个Auto Scaling 组,以支持各个层级独立进行扩展。例如,Web 服务器 Auto Scaling 组可以根据网络 I/O 量的波动触发扩展和收缩,而应用程序服务器 Auto Scaling 组可能会根据 CPU 使用率进行扩展和收缩。您可以设置下限和上限,以帮助确保全天候可用性以及最高用量。
可以设置 Auto Scaling 触发条件来增加和缩减某层级的机群总量,从而使资源使用率与实际流量需要相匹配。除了 Auto Scaling 服务外,还可以直接通过 Amazon EC2 API 扩展 Amazon EC2 机群,Amazon EC2 API 可用于启动、终止或检查实例。
Last updated