15158846557 在线咨询 在线咨询
15158846557 在线咨询
所在位置: 首页 > 营销资讯 > 网站运营 > AWS-小型企业-架构设计

AWS-小型企业-架构设计

时间:2023-07-27 18:39:01 | 来源:网站运营

时间:2023-07-27 18:39:01 来源:网站运营

AWS-小型企业-架构设计:作者:guoliangdi

AWS 发展历史







AWS 服务概览







AWS 服务简介-计算服务




AWS 服务简介-网络服务





AWS 服务简介-数据库服务




AWS 服务简介-存储服务





Part 1 - AWS Architecture Design

BRIEF

Imagine that you meet with a small startup company in the early stages of their operations. Currently their architecture uses a LAMP stack with MySQL, Apache and PHP all running on one desktop PC within their small office. Like many small start-ups they are confident that they will be the next big thing and expect significant, rapid, yet unquantified growth in the next few months. With this in mind, they are concerned about:

  1. Scaling to meet the demand, but with uncertainty around when and how much this demand will be they are very concerned about buying too much infrastructure too soon or not enough too late!
扩大规模以满足需求,但由于不确定需求会在什么时候出现以及会有多大,他们非常关心是否购买了太多的基础设施,太早或不够,太晚!

需求分析:

说明用户对未来服务使用量规模不确定,如果过早投入必然造成资源与成本的浪费,太迟则可能会影响企业的稳定发展。针对此类问题要求所有基础设施应具备弹性计算的能力,可以根据使用情况而自动扩展与缩小服务规模。

方案:

采用 Amazon EC2 Auto Scaling 来维持应用程序的可用性,确保 EC2 队列的可用性并根据其需求自动扩展和缩减该队列,以最大限度提高性能和降低成本,同时实例类型可以采用按需实例,实际消耗的计算容量支付费用,而不是预留实例。

  1. Their lack of provision for Disaster Recovery.
他们缺乏灾难恢复的准备。

需求分析:

灾难恢复涉及到基础设施高可用与异地多活的能力,备用电力等条件,如自建机房部署方式如果出现故障会造成灾难性的后果,即使恢复也可能丢失掉部分数据。做为云计算需要有快速恢复故障的能力同时确保数据不会丢失。

方案:

采用 Amazon EC2 实例恢复的机制,如果实例出现问题,替代实例可以在其中以可预见的方式快速启动。Amazon RDS 具备主备数据库构成的高可用数据库,通常备用实例也是存放在其他可用区中,Amazon RDS 会将数据同步复制到其他可用区 (AZ) 的备用实例中,同时设置数据库的快照。另外在发生硬件故障的情况下,Amazon RDS 将自动更换用于支持部署的计算实例。

  1. Their ability to configure their database and data access layer for high performance and throughput.
他们配置数据库和数据访问层以获得高性能和吞吐量的能力。

需求分析:以直观的方式显示数据库负载,即使非专业人士也能检测性能问题。

方案:

Amazon RDS Performance Insights 是一项数据库性能调优和监控功能,通过看板可分析和调整 RDS 数据库性能,可帮助您迅速评估数据库负载压力与吞吐量的监测。

另外提高性能需要注意的有以下措施:

1、在配置方面可以采用高性能的存储类型(IOPS(SSD))保证数据库提供高性能的读写操作;

2、通过多个只读副本读写分离,从而负载数据库的访问;

3、高性能数据库必要的时候通过缓存减少数据库访问次数。

  1. Making the user experience in the browser very low latency even though a large portion of their user base will be from far away.
使浏览器中的用户体验延迟极低,即使他们的大部分用户来自很远的地方。

需求分析:应用可以被远端用户以最小的网络延迟被访问,通常是采用CDN方式。

方案:通地 AWS CloudFront 能够使的边缘站点缓存静态数据,加速分配给最终用户的 Web 服务。

  1. Effective distribution of load.
负荷的有效分配。

需求分析:动态流量分发

方案:EC2 可以通过 Elastic Load Balancing 自动分配传入的应用程序流量。

1、通过使用 Elasticache 缓存应用数据来减少数据库读的压力。

2、加快应用程序性能、减轻后端数据库负载。

  1. A self-healing infrastructure that recovers from failed service instances.
从失败的服务实例中恢复的自修复基础设施。

需求分析:服务健康监控

方案:通过 Amazon Cloudwatch 中定义的报警指标检测 auto-scaling。CloudWatch 以日志、指标和事件的形式收集监控和运营数据,并使用自动化控制面板将其可视化。

创建 Amazon CloudWatch 警报来监控 Amazon EC2 实例。如果实例因需要 AWS 参与才能修复的基础硬件故障或问题而受损,可自动恢复实例。

  1. Security of data at rest and in transit.
静止和传输中的数据的安全性。

需求分析:访问链路安全

方案:通过AWS Certificate Manager 来申请 SSL 证书。

1、数据安全通常做法在数据传输过程和存储能够加密的形式。

2、数据存储的安全性通常的做法是使用加密算法存储数据。

3、对数据在传输过程中的安全,由于VPC起到了隔离资源的作用。那么在网络层可以仅由客户使用IAM给定的特权来建立连接。数据在运输过程中可以通过SSL / TLS传输协议。

  1. Securing access to the environment as the delivery team expands.
随着交付团队的扩展,确保对环境的访问。

方案:

使用AWS IAM 定义 用户/角色和组的不同权限,针对不同资源向不同人员授予不同权限,例如,您可以允许某些用户完全访问 Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Simple Storage Service (Amazon S3)、Amazon DynamoDB、Amazon Redshift 和其他 AWS 服务。对于另一些用户,您可以允许仅针对某些 S3 存储桶的只读访问权限,或是仅管理某些 EC2 实例的权限,或是访问您的账单信息但无法访问任何其他内容的权限。不必共享您的密码或访问密钥。

  1. An archival strategy for inactive objects greater than 6 months.
大于6个月的不活动对象的归档策略。

需求分析:需要有一个存储档案的容器可以定期存在相关的日志和非活动的对象。

方案:Amazon S3 是一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。各种规模和行业的客户可以为几乎任何使用案例存储和保护任意数量的数据,例如数据湖。且S3提供不同访问频率的服务规格。

  1. Ability to easily manage and replicate multiple environments based on their blueprint architecture.
能够基于蓝图架构轻松管理和复制多个环境。

方案:如果复制到不同 region,可以采用AWS CloudFormation ,它提供了一种通用语言来描述和预配置您的云环境中的所有基础设施资源。CloudFormation 使您可以跨所有地区和账户使用简单的文本文件以自动化的安全方式为您的应用程序需要的所有资源建模并对其进行预配置。

如快速部署环境、开发环境等可采用 AWS Elastic Beanstalk,只需上传代码,Elastic Beanstalk 即可自动处理包括容量预配置、负载均衡、自动扩展和应用程序运行状况监控在内的部署工作。

Solution Design 系统架构图:


Design Detail

网络层:

Route53:实现的DNS域名解析服务,通过CNAME连接到 CloudFront endpoint 。

CloudFront: 实现全球内容发布网络,用户请求将被引导到最低延迟的节点,提供传送的内容最佳性能,需要设置CloudFront 设置访问源为应用的ELB节点。

AWS Regoin 是应用部署的区域,一个Region可以有A-Z可用区。

应用层:

Auto Scaling与 ELB 集成来实现应用服务的可用性和扩展性,将ELB附加到现有 Auto Scaling组实现负载均衡,它能够自动注册组内的实例,并将传入请求分配给这些实例。 在可用性方面,如果有服务失败宕机,那么auto-scaling 能够迅速发现问题机器并启动一台新的机器,持续服务。在扩展性方面使用 Auto Scaling,可以设置Min/MaX/参数实现自动扩缩 EC2 的服务实例数量。 AutoScaling组中的每个实例都在不同的可用区,防止在可用区发生故障。

数据层:

elasticache:

使用ElastiCache Redis 提高生产部署的可靠性,缓解对数据库访问的压力,降低延迟。

Redis 组包含一个应用程序可读写入的主节点和 2个只读节点。在向主节点写入数据时,也会在只读副本节点上异步更新数据。 这样可以有效的防止节点故障,而在两个可用区各分别部署一个集群服务,主要是为了避免可用区故障。

DataBase:

数据库负责数据库的高可用和高性能的数据存储,一个高可用的数据库通常包含两个数据库实例:一个主数据库和备用数据库。当所有请求发送到主数据库时,由 RDS实例来负责响应服务器请求,完成对数据的读写操作。主和备用数据库之间的数据同步复制。如果主数据库由于硬件或网络故障而不可用时,RDS会自动侦测到故障,启动故障转移过程,备用数据库将成为了主数据库,同时DNS也会自动更新,来实现快速故障转移。

VPC&安全组设置:

每一层都设计了安全组和子网,能够更加有效提供安全保障机制。

在应用层autoScaling的安全控制中定义允许访问的80和443端口,允许特定访问 eg. ssh 22。

安全组入站策略定义允许访问MYSQL/Aurora/redis等端口。

监控:

通过使用CloudWatch来监控整个系统的内存使用率、利用率等一系列指标来监控服务器运行状况。

Summary 总结:

创业公司提出的需求正是云平台提供商所要解决的问题,如何提供可管理的,高性能,高可用,安全的基础服务平台,同时方便用户日常的运维,发布和应对突发事件的能力。

高性能:也是客户非常关注的,AWS覆盖全球25个地理区域,81可用区,在提供高可用的服务同时,也能够提供高性能服务。AWS提供了各种类型的实例类型,内存优化,存储优化等等,适应不同的需求。

高可用性:无论是APP层的AutoScaling、数据库、S3都会提供不同成本的规格,而且是在不同的可用区,这个可以保证一个可用区不可用时,应用可以快速切换到另外的可用区,做到高可用。

安全性:AWS通过强大自动监控系统可以做到保护网络和增强互联网接入的安全性,通过VPC和安全组的控制,做到网络的安全性和隔离性。





References 引用:

https://aws.amazon.com/cn/vpc/?nc2=h_ql_prod_fs_vpc

https://aws.amazon.com/cn/ec2/?nc2=h_ql_prod_cp_ec2

https://aws.amazon.com/cn/rds/aurora/?nc2=h_ql_prod_db_aa

https://aws.amazon.com/cn/cloudfront/?nc2=type_a

https://aws.amazon.com/cn/s3/?nc2=h_ql_prod_st_s3

关键词:设计,企业,小型

74
73
25
news

版权所有© 亿企邦 1997-2025 保留一切法律许可权利。

为了最佳展示效果,本站不支持IE9及以下版本的浏览器,建议您使用谷歌Chrome浏览器。 点击下载Chrome浏览器
关闭