《AWS云端企业实战圣经:亚马逊如何构造云端计算》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:林允溥著
  • 出 版 社:清华大学出版社
  • 出版年份:2012
  • ISBN:
  • 页数:363 页
图书介绍:AWS(AmazonWebServices)是目前世界上最成功的云端运算服务,非常多新创网站或中小型企业透过AWS架设自己的云端数据库、网络应用系统,许多大型企业利用AWS架设企业内的云端功能,许多大型网络公司(例如twitter、zynga)利用AWS的优势快速更新自己的服务。作者以其多年的AWS使用经验,带领读者深入了解AWS和元计算架构的建立和使用。

第1章 谁应该使用云计算 2

1.1适应网络未来的云计算 2

网络=水、电等民生资源 2

云计算就像把发电机交给专责发电厂 2

云计算是因为有这样的需求而诞生 2

流言终结者:云计算其实不是什么 3

1.2云计算的具体服务内容 4

如何定义云计算 4

通过云端服务让系统运算升级 5

IaaS(Infrastructure as a Service) 5

PaaS(Platform as a Service) 6

SaaS(Software as a Service) 6

1.3云计算带来的优势竞争力 7

传统运算架构的局限 7

云计算更有可伸缩性 8

云计算更节省成本 8

云计算更可用、更持久 9

云计算商业性优点快览 10

1.4使用云计算的风险评估 10

厂商锁定(vendor locks in)考虑 10

部署可用性考虑 10

网络稳定性考虑 11

数据安全性考虑 11

数据机密性考虑 11

1.5适合使用云计算的情境 12

云计算技术性优点 12

新创公司(Startup companies) 12

高可扩展性的网络应用 12

大量的运算需求 12

备份与灾害恢复 13

开发与测试 13

第2章 云计算领导者AWS 15

2.1 AWS是什么 15

Amazon与AWS 15

AWS的组合式服务概念 15

AWS特色一览 16

为什么我们尚未善用AWS 17

2.2案例:采用AWS创造更多利润 17

新兴网站偏爱使用EC2 17

Zynga用AWS应付用户成长 18

PlayFish用AWS快速推出新游戏 18

Twitter用AWS管理存储空间 18

Reddit用AWS构建数据库 19

MySpace用AWS测试新服务 19

Justin.tv用AWS节省单位成本 19

Smugmug用AWS省下设备费 19

Animoto用AWS应付瞬间超大流量 19

Newsweek用AWS开源节流 19

2.3如何开始使用AWS 20

地区和所在地 20

申请AWS账号 20

申请个别服务 23

2.4 AWS上使用的凭证和识别码 26

访问密钥(Access Keys) 26

X.509凭证 28

密钥对(Key Pairs) 29

AWS账号和密码 29

AWS MFA(Multi-Factor Authentication) 30

AWS账号识别码和标准化用户识别码 31

第3章 AWS上手必备工具 33

3.1 AWS服务快速比较 33

3.2使用AWS的一般注意事项 34

因特网传输收费节约要诀 34

失败重试时的要诀 35

幂等函数避免数据不一致 35

注意服务器时间校定 36

避免XML交换格式错误 36

免费使用层级(AWS Free Usage Tier) 36

AWS识别及访问管理(Identify and Access Management) 37

AWS的访问策略语言(Access Policy Language,APL) 37

3.3 AWS图形接口工具 38

AWS Management Console 38

AWS Toolkit for Eclipse 39

S3fox 46

Elasticfox 46

jetS3t 46

AWS收费计算器 46

3.4 AWS应用程序接口 46

EC2 API Tools和EC2 AMI Tools 47

安装ec2-api-tools 47

安装ec2-ami-tools 49

3.5 AWS SDK(开发套件) 50

AWS已经针对手持设备推出SDK 50

AWS SDK for Java 50

AWS SDK for.NET 51

AWS SDK for PHP 51

AWS SDK for Android 52

AWS SDK for iOS 52

AWS开发中心 52

s3sync 53

boto 54

jclouds 54

typica 54

cloud tools 55

s3tools 55

3.6 AWS的其他资源 55

alestic.com 55

AWS的blog 55

AWS的开发者文件 56

其他资源的网址 56

第4章 AWS基础:S3与云端存储服务 58

4.1 AWS的存储功能 58

4.2一般性的存储功能:S3 59

S3解决动态数据存储问题 59

S3的特性 60

容器与对象 61

容器的地区(region) 63

低备份存储(Reduced Redundancy Storage) 64

对象版本 65

标头(headers)及其他数据 66

访问控制列表(Access Control List) 67

对象名称浏览(key listing) 67

多部分上传(Multipart Upload) 68

日志记录(logging)和范围读取(Range) 68

用AWS Management Console开始操作S3 69

4.3简单数据库:SimpleDB 77

NoSQL的潮流 77

SimpleDB的特性 79

SimpleDB的相关名词 81

再回顾一致性 82

SimpleDB的查询语言 83

数值数据 85

日期数据 86

排序 86

计数 87

引号(quoting)规则 87

保留字 87

查询的调校 88

数据分割 89

使用AWS SDK for Java操作SimpleDB 89

建立Domain 91

列出Domain清单 91

查看Domain元数据 91

读取数据 92

新增或更新数据 92

条件式新增(更新)数据 93

查询数据 95

删除数据 95

条件式删除数据 96

批处理更新与删除 96

删除Domain 97

实际应用诀窍 97

4.4数据库的另一选择:RDS 98

实际的存储需求 99

RDS的概念:DB Instance 100

维护与备份 105

多所在地部署 106

安全组 107

设置数据库安全组和数据库参数组 109

建立DB Instance 111

使用与设置DB Instance 112

备份与恢复 114

建立读取副本 116

从原本的MySQL移植到RDS 116

第5章 AWS核心:EC2与其相关服务 118

5.1什么是EC2 118

EC2是AWS架构体系中的核心服务 118

从EC2服务特色看云计算实质 119

使用EC2的优点 119

EC2开机?亚马逊机器映像文件(AMI) 120

5.2 EC2虚拟机的基础结构 120

EC2的AMI root device比较 121

EC2的机器类型比较 122

EC2机器收费标准比较 122

EC2新机器类型:集群运算虚拟机 123

EC2新机器类型:集群运算GPU虚拟机 124

32位或64位?这是个大问题 125

5.3 EC2虚拟机的延伸结构 125

Instance Storage(虚拟机存储) 125

EBS(Elastic Blocking Store) 126

在EC2上使用微软Windows系统 127

EC2云端机器的地区与所在地 128

5.4 EC2的一些延伸问题与解决 129

EC2的IP地址及DNS名称问题与解决 129

解决利用EC2传送邮件的需求 131

EC2的防火墙安全组(security group) 131

元数据(metadata)及用户数据(user-data) 132

EC2上怎么分配I/O资源 133

5.5 EC2开机操作实战范例 133

登录AWS Management Console 133

申请EC2的Key Pairs 135

管理安全组 137

开启一台虚拟机 140

进入之前建立的机器 147

第6章 AWS高级:实现EC2部署策略 152

6.1使用公开EBS-backed AMI 152

如何搜索公开的AMI 152

用EBS root partition建立EBS-backed AMI 155

用挂载的EBS volume建立EBS-backed AMI 156

6.2建立S3-backed AMI 160

用来源机器的root device建立S3-backed AMI 161

使用alestic的脚本建立S3-backed AMI 163

使用loopback文件建立S3-backed AMI 164

6.3 AMI实现疑难问题解决 168

做出无法开机的AMI怎么办 168

清理资源 169

虚拟机(EC2 instance)的属性修改 169

AMI的属性修改 174

6.4 AMI有效实战策略分析 174

一般性AMI 175

特定性AMI 176

参考RightScale的实现流程 177

6.5 EC2自动初始化机制 177

EC2的user-data 178

使用ec2-run-user-data 178

使用runurl 179

管理EC2虚拟机常用的工具 181

卷标功能 182

第7章 AWS架构关键1:组建高可扩展性系统 184

7.1高可扩展性和云计算 184

什么是可扩展性(scalability) 184

可扩展性为什么重要 185

传统模式:向上延展(scale up) 185

传统模式:向外延展(scale out) 185

云计算解决延展问题 186

追求高可扩展性 186

常见的高可扩展性架构模式 187

如何实现有效率同步联机 188

7.2实现负载平衡的做法 189

负载平衡的选择 189

Round robin DNS 190

软件的负载平衡 191

7.3弹性负载平衡(ELB) 191

负载平衡器(Load Balancer)的概念 192

地区和所在地 193

安装Elastic Load Balancing APITools 193

建立一个HTTP负载平衡器 195

让负载平衡器分配请求到多个所在地 197

暂停(disable)所在地 199

拆掉负载平衡器(tear down a Load Balancer) 201

建立定时的黏着联机状态(Sticky session) 201

建立自定义的黏着联机状态(Sticky session) 203

7.4自动延展(Auto Scaling) 205

Auto Scaling的概念 205

自动延展组(Auto Scaling Group) 206

触发器(trigger) 207

重新平衡(rebalancing) 208

安装Auto Scaling APITools 209

建立一个自动延展的EC2集群 210

建立多所在地自动延展的EC2集群 213

合并自动延展组 214

删除自动延展组 215

停止使用自动延展组 215

第8章 AWS架构关键2:异步消息构建策略 218

8.1什么是异步消息传递 218

异步的好处 218

“消息导向中间件”简介 218

AWS中的消息传递服务 220

8.2 AWS的简单队列服务(SQS) 220

使用SQS的优点 221

使用SQS要注意的地方 221

消息队列Queue 222

可读取(Visibility)和读取逾时(Visibility timeout) 223

SQS里的消息的生命周期 224

SQS的访问控制 224

在SQS使用访问权限策略语言的额外限制 225

使用AWS SDK for Java操作SQS 225

建立Queue 226

查看Queue 227

查看Queue的属性 228

更改Queue的属性 229

更改Queue的访问权限 230

从Queue收送消息 232

更改读取逾时以及删除消息 234

删除Queue 235

8.3 AWS的简单通知服务(SNS) 235

建立主题(Topic) 236

订阅主题 238

发布消息到主题 240

停止订阅 242

删除主题 242

在SNS使用访问权限策略语言的额外限制 243

第9章 AWS架构关键3:高可用性的云计算 246

9.1为何高可用性重要 246

改进系统架构以适用于云计算 246

云计算有新的策略方法 247

AWS与传统成本的比较 247

9.2实现高可用性的基本AWS应用 249

使用多重所在地(multiple availability zones) 249

使用EIP(Elastic IP Addresses)实现重定向 249

9.3 EC2 instances挂掉了如何处理 254

EC2虚拟机没有回应的检查步骤 254

快速恢复挂掉的EC2虚拟机 257

9.4 CloudFront改进用户体验 261

提供用户最快速的网站使用经验 261

内容传递网络(CDN) 262

CloudFront的工作原理 263

文件逾时(expiration)的处理策略 266

文件移除(eviction)与主动清除 267

发布单位(distribution) 268

使用自定义来源服务器(Custom Origins) 268

从S3改用CloudFront 270

用AWS Management Console操作CloudFront 272

文件的URL 277

访问日志 278

服务流媒体(streaming media) 279

服务私有内容(private content) 279

9.5管理动态IP地址的方法 284

使用EIP(弹性IP地址) 285

使用动态DNS(Dynamic DNS) 285

使用Hosts文件 286

9.6用Amazon CloudWatch监视系统健康 286

CloudWatch的概念 288

使用CloudWatch 291

安装CloudWatch API Tools 293

用mon-list-metrics列出测量项目 295

用mon-get-stats读取统计数据 295

第10章 AWS活用策略:企业云端优化方案 297

10.1保护云端数据安全 297

数据传输的问题 297

数据存储加密 298

善用EC2的安全组(security groups) 299

定期更新OS的安全性更新 300

10.2如何善用花在AWS上的每块钱 300

使用EC2 Reserved Instances 301

使用RDS Reserved虚拟机 305

使用Spot Instances处理大量数据 306

10.3用分布式运算处理大量数据 312

MapReduce与Hadoop 312

云端上的Hadoop: EMR (Elastic MapReduce) 313

数据安全性 315

Hadoop 315

工作流程(Job Flow) 317

JSON配置文件(JSON Configuration Files) 321

用AWS Management Console操作EMR 322

使用Elastic MapReduce Ruby Client 328

使用初始程序 330

除错流程 332

批处理执行工作流程 337

其他常见的操作 338

一般注意事项 339

10.4用虚拟私有云扩张既有系统 340

VPC的名词 341

地区和所在地 341

VPC的特性 342

VPC收费 342

建立VPC的流程 343

用命令行工具建立VPC资源 343

建立VPC 344

建立子网段 345

建立客户端网关 347

建立VPN网关 348

建立VPN联机 349

建立VPN连接 351

在VPC里面创建EC2虚拟机 352

使用特定的IP地址 352

使用DHCP功能 353

删除VPC 355

更换VPC通道证书 356

附录A AWS其他服务接口 358

Amazon Beanstalk 358

Amazon Simple Email Service 358

AWS CloudFormation 358

Amazon弹性付费服务(Amazon Flexible Payments Service) 358

Amazon开发者付费服务(Amazon DevPay) 359

Amazon商务实现服务(Amazon Fulfillment Web Service) 359

Amazon人力外包(Amazon Mechanical Turk) 359

AWS输入/输出(AWS Import/Export) 359

AWS商业支持(AWS Premium Support) 360

Alexa Top Sites与Alexa Web Information Service 360

Amazon Route 53 360

解决方案提供商(solution providers) 360

附录B AWS竞争对手介绍 362

Google App Engine(PaaS) 362

Google App Engine和AWS如何取舍 362

Microsoft Windows Azure Platform(PaaS) 362

Rackspace Cloud 363

公有云和私有云 363