您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 《云计算(第二版)》―第三章 Amazon云计算AWS
电子工业出版社《云计算(第二版)》配套课件解放军理工大学刘鹏教授主编华东交通大学刘鹏制作第3章Amazon云计算AWS《云计算(第二版)》购买网址:当当网京东商城姊妹力作《实战Hadoop》购买网址:当当网京东商城提纲Amazon平台基础存储架构:Dynamo弹性计算云EC2简单存储服务S3简单队列服务SQS简单数据库服务SimpleDB关系数据库服务RDS内容推送服务CloudFront其他Amazon云计算服务AWS应用实例小结Amazon提供的云计算服务弹性计算云EC2简单存储服务S3简单数据库服务SimpleDB简单队列服务SQS弹性MapReduce服务内容推送服务CloudFront电子商务服务DevPay灵活支付服务FPSDynamo在Amazon服务平台的地位面向服务的Amazon平台架构Amazon平台的架构是完全的分布式、去中心化需求——Amazon平台中有很多服务对存储的需求只是读取、写入,(满足简单的键/值式存储)Amazon怎么处理这个需求?Dynamo简单的键/值方式存储数据,不支持复杂的查询存储的是数据值的原始形式(bit),不解析数据的具体内容、不识别任何数据结构,这使得它几乎可以处理所有的数据类型Amazon平台基础存储架构:DynamoDynamo架构的主要技术问题采取的相关技术数据均衡分布改进的一致性哈希算法,数据备份数据冲突处理向量时钟(vectorclock)临时故障处理Hintedhandoff(数据回传机制),参数(W,R,N)可调的弱quorum机制永久故障后的恢复Merkle哈希树成员资格以及错误检测基于gossip的成员资格协议和错误检测数据均衡分布的问题一致性哈希算法平衡性单调性分散性负载两步进行:求出设备节点的哈希值,并配置到环上的一个点;接着计算数据的哈希值,按顺时针方向将其映射到环上距其最近的节点;添加新节点时,按照上述规则,调整相关数据到新的节点上。删除节点和添加节点过程相反Dynamo采用的改进算法虚拟节点数据分区和等份存储数据备份当数据被均匀存储到环上各节点后,Dynamo将冗余存储数据(备份数据)思考:Amazon可以保证相邻的节点分别位于不同地区区域,即使某个数据中心由于自然灾害或断电的原因整体瘫痪,仍可以保证在世界上其他数据中心中保存有数据的备份。这里就有一个非常重要的问题——如何进行节点分布,保证相邻节点位于不同的数据中心?数据冲突问题Dynamo系统选择牺牲一致性来换取系统的可靠性和可用性解决数据冲突:最终一致性模型(EventualConsistency)向量时钟向量时钟原理图容错机制Dynamo临时故障处理机制1)临时故障处理机制在数据读写中采用了一种称为弱quorum(Sloppyquorum)的机制,涉及三个参数W、R、NW—代表一次成功的写操作至少需要写入的副本数R—代表一次成功读操作需由服务器返回给用户的最小副本数N—每个数据存储的副本数满足R+WN,用户即可自行配置R和W优势:实现可用性与容错性之间的平衡容错机制2)永久性故障处理机制Merkle哈希树技术每个虚拟节点保存三颗Merkle树,即每个键值区间建立一个Merkle树哈希树的叶子节点是存储每个数据分区内所有数据对应的哈希值,父节点是其所有子节点的哈希值成员资格及错误检测基于Gossip协议的成员资格检测机制Gossip(闲聊)协议错误检测机制基于Gossip协议的成员资格检测机制基于Gossip协议的最优传遍路径提纲Amazon平台基础存储架构:Dynamo弹性计算云EC2简单存储服务S3简单队列服务SQS简单数据库服务SimpleDB关系数据库服务RDS内容推送服务CloudFront其他Amazon云计算服务AWS应用实例小结主要特性灵活性:EC2允许用户对运行实例类型、数量自行配置,还可以选择实例运行的地理位置,根据用户的需求随时改变实例的使用数量低成本:EC2使得企业不必为暂时的业务增长而购买额外的服务器等设备。EC2的服务都是按小时来收费,而且价格非常合理安全性:EC2向用户提供了一整套安全措施,包括基于密钥对机制的SSH方式访问、可配置的防火墙机制等,同时允许用户对它的应用程序进行监控易用性:用户可以根据Amazon提供的模块自由构建自己的应用程序,同时EC2还会对用户服务请求自动进行负载平衡容错性:利用系统提供的诸如弹性IP地址之类的机制,在故障发生时EC2能最大程度地保证用户服务仍能维持在稳定的水平弹性计算云EC2EC2基本架构及主要概念EC2的基本架构Amazon机器映像(AMI)AMI(AmazonMachineImage)是一个可以将用户的应用程序、配置等一起打包的加密机器映像AMI是用户云计算平台运行的基础,用户使用EC2服务的第一步就是要创建一个自己的AMIAmazon提供的AMI有四种类型(1)公共AMI(2)私有AMI(3)付费AMI(4)共享AMIEC2基本架构及主要概念实例类型和其相关配置实例(Instance)用户创建好AMI后,实际运行的系统称为一个实例资源SmallLargeExtraLargeHigh-CPUMediumHigh-CPUExtraLarge平台32位64位64位32位64位CPU1ECU4ECU8ECU5ECU20ECU内存1.7GB7.5GB15GB1.7GB7GB存储容量160GB850GB1690GB350GB1690GB实例类型名m1.smallm1.largem1.xlargec1.mediumc1.xlargeEC2的关键技术1.弹性块存储(EBS)长期保存或比较重要的数据,需要用弹性块存储(ElasticBlockStore,EBS),Amazon限制每个EBS最多创建20个卷快照(Snapshot)2.区域地理区域(RegionZone)可用区域(AvailabilityZone)EC2的关键技术3.EC2的通信机制EC2服务中,系统各模块之间及系统和外界之间的信息交互是通过IP地址进行公共IP地址(PublicIPAddress)私有IP地址(PrivateIPAddress)弹性IP地址(ElasticIPAddress)4.弹性负载平衡(ElasticLoadBalancing)允许EC2实例自动分发应用流量,从而保证工作负载不会超过现有能力,并且在一定程度上支持容错5.监控服务(CloudWatch)AmazonCloudWatch是一个Web服务,提供了AWS资源的可视化检测功能包括EC2实例状态、资源利用率、需求状况、CPU利用率、磁盘读取、写入和网络流量等指标EC2的关键技术6.自动缩放(AutoScaling)自动缩放可以按照用户自定义的条件,自动调整EC2的计算能力7.服务管理控制台(AWSManagementConsole)服务管理控制台是一种基于Web的控制环境,可用于启动、管理EC2实例和提供各种管理工具和API接口关键技术配合工作图EC2安全及容错机制EC2特点之一:允许用户随时更新实例状态,用户可以随时加入或删除实例,实例状态的动态变化方便了用户,但是却给防火墙的配置带来了麻烦EC2引入了安全组(SecurityGroup)概念安全组其实就是一组规则,用户利用这些规则来决定哪些网络流量会被实例接受,其他则全部拒绝一个用户目前最多可以创建100个安全组。当用户的实例被创建时,如果没有指定安全组,则系统自动将该实例分配给一个默认组(DefaultGroup)EC2安全及容错机制用户访问EC2时需要使用SSH(SecureShell)密钥对(KeyPair)来登录服务密钥对的名称(KeyPairName)和公钥(PublicKey)储存在EC2中用户创建新实例时,EC2会将它保存的信息复制一份放在实例的元数据(Metadata)中,然后用户使用自己保存的私钥(PrivateKey)就可以安全地登录EC2并使用相关服务用户使用密钥对登录服务EC2安全及容错机制弹性IP地址弹性IP地址和用户账号绑定而不是和某个特定的实例绑定,这给系统的容错带来极大的方便,每个账号默认绑定5个弹性IP地址。当系统正在使用的实例出现故障时,用户只需要将弹性IP地址通过网络地址转换技术转换为新实例所对应的私有IP地址,这样就将弹性IP地址与新的实例关联起来,访问服务时不会感觉到任何差异提纲Amazon平台基础存储架构:Dynamo弹性计算云EC2简单存储服务S3简单队列服务SQS简单数据库服务SimpleDB关系数据库服务RDS内容推送服务CloudFront其他Amazon云计算服务AWS应用实例小结基本概念S3系统构架在Dynamo之上,采取的并不是传统的关系数据库存储方式,原因:使文件操作尽量简单、高效;使用关系数据库只会增加系统的复杂性1.对象数据(任意类型)和元数据(描述数据的数据)元数据是通过一对键-值(Name-Value)集合来定义元数据名称名称含义last-modified对象被最后修改的时间ETag利用MD5哈希算法得出的对象值Content-Type对象的MIME(多功能网际邮件扩充协议)类型,默认为二进制/八位组Content-Length对象数据长度,以字节为单位系统默认元数据基本概念2.键对象的唯一标示符3.桶存储对象容器(最多创建100个桶,不限桶中数量)桶具体命名规则建议使用规则S3的基本结构图基本操作基本操作根据Amazon提供的技术文档,目前S3支持的主要操作包括:Get、Put、List、Delete和Head操作目标GetPutListDeleteHead桶获取桶中对象创建或更新桶列出桶中所有键删除桶无对象获取对象数据和元数据创建或更新对象无删除对象获取对象元数据数据一致性模型S3系统采用冗余存储优势:某些服务器出现故障时用户仍然可以对其数据进行操作弊端:用户在操作时可能会出现如下几种情况(1)一个进程写入一个新的对象并立即尝试读取它,但在该改变被传送到S3的多个服务器前,服务器对该操作可能返回“键不存在”(2)一个进程写入一个新的对象并立即尝试列出桶中已有的对象,但在该改变被传送到S3的多个服务器前,该对象很可能不会出现在列表中(3)一个进程用新数据替换现有的对象并立即尝试读取它,但在该改变被传送到S3的多个服务器前,S3可能会返回以前的数据(4)一个进程删除现有的对象并立即尝试读取它,但在该改变被传送到S3的多个服务器前,S3可能会返回被删除的数据(5)一个进程删除现有的对象并立即尝试列出桶中的所有对象,但在该改变被传送到S3的多个服务器前,S3可能会列出被删除的对象为什么出现这些现象?出现这些现象是因为S3为了保证用户数据的一致性而采取的一种折中手段,即在数据被充分传播到所有的存放节点之前返回给用户的仍是原数据S3安全措施1.身份认证基于HMAC-SHA1的数字签名方式来确定用户身份S3数字签名具体实现过程S3安全措施S3数字签名具体实现过程权限允许操作目标具体权限内容READ桶列出已有桶对象读取数据及元数据WRITE桶创建、覆写、删除桶中对象READ_ACP桶读取桶的ACL对象读取对象中的ACLWRITE_ACP桶覆写桶的ACP对象覆写对象的ACPFULL_CONTROL桶允许进行以上所有操作,是S3提供的最高权限对象2.访问控制列表S3提供的可供用户自行定义的访问控制策略列表S3中有三大类型的授权用户1)所有者2)个人授权用户3)组授权用户提纲Amazon平台基础存储架构:Dynamo弹性计算云EC2简单存储服务S3简单队列服务SQS简单数据库服务SimpleDB关系数据库服务RDS内容推送服务CloudFront其他Amazon云计算服务AWS应用实例小结SQS基本模型简单队列服务(SimpleQ
本文标题:《云计算(第二版)》―第三章 Amazon云计算AWS
链接地址:https://www.777doc.com/doc-3148001 .html