AirJD 焦点
AirJD

没有录音文件
00:00/00:00
加收藏

亚马逊AWS高可用性架构设计最佳实践 by 张荣典

发布者 arch
发布于 1451264553979  浏览 6787 关键词 架构 
分享到

第1页

亚马逊AWS高可用性架构设计最佳实践

张荣典(Forest Zhang), AWS解决方案架构师 2014年12月20日

© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.



第2页

“Everything fails, all the time.”

沃纳∙威格尔 Werner Vogels - 亚马逊 CTO



第3页

高可用性架构设计原则

Design for failure, and nothing will really fail.

 假定任何事物都会失效  尽可能采用容错的服务作为架构部件  尽最大可能避免架构中的单故障节点



第4页

基于AWS服务构建高可用性架构



初始设计就是高可用和容错的服务



 Amazon Route53  Amazon CloudFront  Elastic Load Balancing  Amazon S3  Amazon DynamoDB  Amazon Kinesis



 Amazon SQS  Amazon SNS  Amazon SES  Amazon SWF …



通过正确的架构设计既可实现高可用的服务

 Amazon EC2  Amazon EBS  Amazon RDS  Amazon ElastiCache  Amazon VPC …



第5页

高可用性架构设计的基础: 全球网络

 遍布全球的网络  区域(Region)、可用区(Availability Zone)和边缘节点(Edge Location)



第6页

高可用性架构设计的基础: 区域(Region)



AZ AZ AZ

AZ



Transit AZ

Transit



 全球11个区域(Region)  每个区域拥有两个或者两个以上的可用区(AZ)

* 个别区域有多达5个AZ



第7页

高可用性架构设计的基础: 可用区(Availability Zone)



AZ AZ AZ

AZ



Transit

AZ

Transit



 全球28个可用区(Availability Zone)  AZ之间是DWDM链路,通常延迟低于2毫秒

 每个可用区是一个或多个数据中心

* 某些AZ有多达6个数据中心



第8页

高可用性架构设计的基础: 数据中心(DC)

 一个典型的DC至少包含超过50000台服务器, 经常有DC超过80000台服务器

* 避免更大规模的DC(爆炸半径)



第9页

高可用性架构的基础构件:Amazon Route53



AWS Region



AWS Region



Route 53

100% 高可用和可扩展的域名管理系统 极可靠并且节省成本



特点 全球化



细节 从AWS遍布全球的Edge Locations提供服务



可扩展 基于延迟的路由

与其他AWS服务配合 使用 安全



能够自动扩展来处理非常大的查询量,无需 您的干预。

通过遍布全球的 DNS 服务器任播网络,根据 网络条件自动将您的用户路由到最佳的位置。

可以使用 Route 53 映射域名到EC2 实例、 S3 存储段、CloudFront 分配和其他 AWS 资源。

可以为 AWS 账户中的各个用户授予唯一的证 书并管理其权限



第10页

高可用性架构的基础构件:Amazon CloudFront



3 Served from S3 /images/*



London

Paris 1 Single CNAME

www.mysite.com



NY



2 Served from EC2 *.php



CloudFront

全球内容分发服务 - CDN 将内容低延迟,高速的分发给最终用户 SLA: 99.9%



特点 快速

与其他服务配合使用 支持动态内容

流媒体支持



细节

位于世界各地的节点,Amazon CloudFront 在 离浏览者最近的节点缓存您的静态内容副本

无缝的与ELB、EC2和S3配合使用

通过单个 CloudFront 分配提交您的整个网站, 同时包含静态内容和动态(或交互)内容在内

支持从S3通过rtmp协议向flash传输内容



第11页

高可用性架构的基础构件:Elastic Load Balancing



Elastic Load Balancing

创建高可用应用程序 向不同可用区的EC2实例分发流量



特点 自动扩展

可用性

健康检查

Session stickiness Secure sockets layer

监控



细节 自动扩展应付增加的流量

向不同可用区的实例分发流量

自动检查EC2实例的健康状况,将他们移除或者 移入 可以记住session状态,从而向同一实例分发 支持SSL证书

使用Cloud Watch监控运行状态



第12页

高可用性架构的基础构件:Amazon S3



S3

用于任何对象的持久性存储 单个对象最大至5TB 99.999999999% 对象持久性 (Standard) 或者 99.99% 对象持久性 (RRS)



特点 灵活的存储空间

访问控制 服务器端加密 Multi-part上传 对象版本控制

对象过期 访问记录 静态网站托管

成本低

Import/Export



细节 存储桶就像驱动器,可以建立目录 细粒度的控制每一个对象访问权限 256bit AES encryption of objects 提高上传速率 存档旧对象,新对象建立版本 自动删除或者存档过期对象 详细的操作记录 用S3直接托管静态网站,无需服务器 按照存储量计费 通过邮寄硬盘导入导出数据



第13页

高可用性架构的基础构件:Amazon DynamoDB



DynamoDB

配置吞吐量的非关系型数据库 快速、可预测的性能 自动存储扩展 完全分布式的无共享架构 Key – Value GET/PUT 操作,采用用户定义的主键



特点 配置吞吐量 可预测的性能



细节 创建表时,只需指定所需的请求容量即可。 通过后台使用基于SSD的存储,平均几毫秒的延迟



强一致性

内置容错能力 监控 安全

Elastic MapReduce 集成



读取操作使用强一致性检验以确保始终读取最新的 值 可用区域之间自动同步备份数据

与Cloud Watch集成 与IAM服务相集成

可轻松使用 Amazon EMR 来分析 DynamoDB 中 存储的数据集



第14页

高可用性架构的基础构件:Amazon Kinesis



Kinesis

大规模流数据进行实行处理 实时收集与处理数据 并行处理数据流 吞吐可弹性扩展



特点 易用 集成性

弹性 高可靠性



细节

可以在数秒内创建Kinesis的Stream

使用Kinesis Client Library和Kinesis Connector Library可以很快构建Kinesis应用与S3、 DynamoDB、Redshift和ElasticSearch集成

可以弹性扩展吞吐,从每小时数MB到数个TB,从 每秒数千到数百万个Put Record请求

Kinesis实时地往三个数据中心复制数据



第15页

高可用性架构的基础构件*:Amazon EC2



Elastic Compute Cloud (EC2)

计算资源的基本单元 可以选择CPU,内存和实例存储 SLA: 99.95%



特点 灵活 可扩展

虚机镜像

完全控制 安全 监控

多种计费方案 VM Import/Export



细节 可以运行多种版本Windows和Linux操作系统 多种实例大小随意选择

使用自己的虚机镜像快速启动实例,支持跨区域 的转移 完全的ROOT和管理员权限 可以完全配置的安全组 使用Cloud Watch监控实例 按需实例,预留实例和竞价实例

Import and export VM images to transfer configurations in and out of EC2



* 通过正确的架构设计可以实现高可用性架构



第16页

高可用性架构的基础构件*:Amazon EBS



Elastic Block Store

高性能的块级存储,可以挂载至EC2 1GB至1TB Magnetic, SSD, 预配置 IOPS 卷 SLA: 99.95%



特点 高性能文件系统



细节 根据需求格式话



灵活的大小 安全 性能



可以创建1G至1T的卷 只对自己instance可见,并且可选加密 通过使用预配置IOPS的卷获得稳定的高IO性能



可用性 备份 监控



在同一可用区内创建副本

给卷做快照,并且可以在region间复制 使用Cloud Watch监控运行状态



* 通过正确的架构设计可以实现高可用性架构



第17页

高可用性架构的基础构件*:Amazon RDS



Relational Database Service

Database-as-a-Service; 无需安装和管理数据库实例 可扩展和高容错的配置 按需付费的许可方式以及自带许可

Multi-AZ SLA: 99.95%



特点 平台支持

预配置

自动补丁升级



细节 MySQL, SQL Server, Oracle, PostgreSQL 从默认配置即可开始使用

自动保持你的数据平台最新



存储和备份 预配置IOPS

故障转移



最大3TB的数据库存储,自动备份以及按照时间 点恢复

根据需求确定IO吞吐量25,000 IOPS for Oracle; 30,000 IOPS for MySQL; 10,000 for SQL Server

使用Multi-AZ,可以自动切换至备用数据库实例



读复制



简便的创建MySQL读副本,无缝的在可用区域间 复制数据



第18页

高可用性架构的基础构件:Amazon Aurora

Amazon RDS for Aurora

兼容MySQL 高可用性、数据持久性和容错性 高可扩展性和安全性

 Commercial-grade Database Engine at Open-source Cost  1/10th the cost of the leading commercial database solutions  5X better performance than standard MySQL



第19页

高可用性架构的基础构件:Amazon Aurora (续)



AZ 1

SQL Txns Caching



AZ 2



AZ 3



Store Store



Store Store



Store Store



Transform: Write to Read Format Optimized



Transform: Write to Read Format Optimized



Transform: Write to Read Format Optimized



3个Availability Zone 6份数据拷贝 “极端情况” 如2个数据中心同时故障不丢失数据 丢失两份拷贝不影响写可用性 丢失三份拷贝不影响读可用性



第20页

高可用性架构设计最佳实践:EC2 (Web Server)



第21页

高可用性架构设计最佳实践: +RDS (DB Server)



第22页

高可用性架构设计最佳实践: +EIP (Public IP)



第23页

高可用性架构设计最佳实践: +Route53 (DNS)



第24页

高可用性架构设计最佳实践: EIP与HA



第25页

高可用性架构设计最佳实践:EIP与HA



第26页

高可用性架构设计最佳实践:EBS与HA



第27页

高可用性架构设计最佳实践:EBS与HA



第28页

高可用性架构设计最佳实践:EBS与HA



第29页

高可用性架构设计最佳实践:+ELB



第30页

高可用性架构设计最佳实践:ELB与HA



第31页

高可用性架构设计最佳实践:ELB与HA



第32页

高可用性架构设计最佳实践:ELB与HA



第33页

高可用性架构设计最佳实践:+AZ 和 RDS Multi-AZ



第34页

高可用性架构设计最佳实践:RDS Multi-AZ与HA



第35页

高可用性架构设计最佳实践:RDS Multi-AZ与HA



第36页

高可用性架构设计最佳实践: +AZ 和 ELB Multi-AZ



第37页

高可用性架构设计最佳实践: +Cloud Watch & ASG



第38页

高可用性架构设计最佳实践: ASG与HA



第39页

高可用性架构设计最佳实践: ASG与HA



第40页

高可用性架构设计最佳实践: ASG与HA



第41页

高可用性架构设计最佳实践: ASG与HA



第42页

高可用性架构设计最佳实践: ASG与HA



第43页

高可用性架构设计最佳实践: ASG与HA



第44页

高可用性架构设计最佳实践: ASG与HA



第45页

高可用性架构设计最佳实践: ASG与HA



第46页

高可用性架构设计最佳实践: ASG与HA



第47页

高可用性架构设计最佳实践: ASG与HA



第48页

高可用性架构设计最佳实践: ASG与HA



第49页

高可用性架构设计最佳实践: ASG与HA



第50页

高可用性架构设计进阶:+DynamoDB和S3



第51页

高可用性架构设计进阶:+ SQS松耦合设计



第52页

验证你的高可用性架构设计



第53页

更多参考资料



• AWS官网

– http://aws.amazon.com

• AWS参考架构

– http://aws.amazon.com/architecture/

• AWS白皮书

– http://aws.amazon.com/whitepapers/



第54页

谢谢!



Website www.amazonaws.cn



Blog blog.csdn.net/awschina



Weibo weibo.com/amazonaws



Wechat AWS 中国



支持文件格式:*.pdf
上传最后阶段需要进行在线转换,可能需要1~2分钟,请耐心等待。