科技
类型
6.5
豆瓣评分
可以朗读
语音朗读
286千字
字数
2018-07-01
发行日期
展开全部
主编推荐语
一本详细介绍亚马逊AWS云计算平台的书,面向将分布式应用迁移到AWS平台的开发者和DevOps工程师。
内容简介
Amazon Web Services(AWS)是亚马逊公司的云计算平台,它提供了一整套基础设施和应用程序服务,可以帮助用户在云中运行几乎一切应用程序。本书介绍了AWS云平台的核心服务,如计算、存储和网络等内容。读者还可以从本书中了解在云上实现自动化、保证安全、实现高可用和海量扩展的系统架构的实践。
本书分4个部分,共14章。本书从介绍AWS的基本概念开始,引入具体的应用示例,让读者对云计算和AWS平台有一个整体的了解;然后讲解如何搭建包含服务器和网络的基础设施;在此基础上,深入介绍如何在云上存取数据,让读者熟悉存储数据的方法和技术;最后展开讨论在AWS上如何设计架构,了解实现高可用性、高容错率和高扩展性的实践。
目录
- 版权信息
- 内容提要
- 译者序
- 序
- 前言
- 资源与支持
- 配套资源
- 提交勘误
- 与我们联系
- 关于异步社区和异步图书
- 致谢
- 关于本书
- 路线图
- 代码的约定和下载
- 关于作者
- 关于封面插画
- 第一部分 AWS云计算起步
- 第1章 什么是Amazon Web Services
- 1.1 什么是云计算
- 1.2 AWS可以做什么
- 1.2.1 托管一家网店
- 1.2.2 在专有网络内运行一个Java EE应用
- 1.2.3 满足法律和业务数据归档的需求
- 1.2.4 实现容错的系统架构
- 1.3 如何从使用AWS上获益
- 1.3.1 创新和快速发展的平台
- 1.3.2 解决常见问题的服务
- 1.3.3 启用自动化
- 1.3.4 灵活的容量(可扩展性)
- 1.3.5 为失效而构建(可靠性)
- 1.3.6 缩短上市的时间
- 1.3.7 从规模经济中受益
- 1.3.8 全球化
- 1.3.9 专业的合作伙伴
- 1.4 费用是多少
- 1.4.1 免费套餐
- 1.4.2 账单样例
- 1.4.3 按使用付费的机遇
- 1.5 同类对比
- 1.6 探索AWS服务
- 1.7 与AWS交互
- 1.7.1 管理控制台
- 1.7.2 命令行接口
- 1.7.3 SDK
- 1.7.4 蓝图
- 1.8 创建一个AWS账户
- 1.8.1 注册
- 1.提供登录凭据
- 2.提供联系信息
- 3.提供支付信息的细节
- 4.验证身份
- 5.选择支持计划
- 1.8.2 登录
- 1.8.3 创建一个密钥对
- 1.Linux与Mac OS X
- 2.Windows
- 1.8.4 创建计费告警
- 1.9 小结
- 第2章 一个简单示例:5分钟搭建WordPress站点
- 2.1 创建基础设施
- 2.2 探索基础设施
- 2.2.1 资源组
- 2.2.2 Web服务器
- 2.2.3 负载均衡器
- 2.2.4 MySQL数据库
- 2.3 成本是多少
- 2.4 删除基础设施
- 2.5 小结
- 第二部分 搭建包含服务器和网络的虚拟基础设施
- 第3章 使用虚拟服务器:EC2
- 3.1 探索虚拟服务器
- 3.1.1 启动虚拟服务器
- 1.选择操作系统
- 2.选择虚拟服务器的尺寸
- 3.实例详细信息、存储、防火墙和标签
- 4.检查输入并为SSH选择一个密钥对
- 3.1.2 连接到虚拟服务器
- 1.Linux和Mac OS X
- 2.Windows
- 3.登录信息
- 3.1.3 手动安装和运行软件
- 3.2 监控和调试虚拟服务器
- 3.2.1 显示虚拟服务器的日志
- 3.2.2 监控虚拟服务器的负载
- 3.3 关闭虚拟服务器
- 3.4 更改虚拟服务器的容量
- 3.5 在另一个数据中心开启虚拟服务器
- 3.6 分配一个公有IP地址
- 3.7 向虚拟服务器添加额外的网络接口
- 3.8 优化虚拟服务器的开销
- 3.8.1 预留虚拟服务器
- 3.8.2 对未使用的虚拟服务器竞价
- 3.9 小结
- 第4章 编写基础架构:命令行、SDK和CloudFormation
- 4.1 基础架构即代码
- 4.1.1 自动化和DevOps运作
- 4.1.2 开发一种基础架构语言:JIML
- 4.2 使用命令行接口
- 4.2.1 安装CLI
- 1.Linux和Mac OS X
- 2.Windows
- 4.2.2 配置CLI
- 4.2.3 使用CLI
- 1.Linux和Mac OS X
- 2.Windows
- 3.为什么要写脚本
- 4.3 使用SDK编程
- 4.3.1 使用SDK控制虚拟服务器:nodecc
- 4.3.2 nodecc如何创建一台服务器
- 4.3.3 nodecc是如何列出服务器并显示服务器的详细信息
- 4.3.4 nodecc如何终止一台服务器
- 4.4 使用蓝图来启动一台虚拟服务器
- 4.4.1 CloudFormation模板解析
- 1.格式版本及描述
- 2.参数
- 3.资源
- 4.输出
- 4.4.2 创建第一个模板
- 4.5 小结
- 第5章 自动化部署:CloudFormation、Elastic Beanstalk和OpsWorks
- 5.1 在灵活的云环境中部署应用程序
- 5.2 使用CloudFormation在服务器启动时运行脚本
- 5.2.1 在服务器启动时使用用户数据来运行脚本
- 5.2.2 在虚拟服务器上部署OpenSwan作为VPN服务器
- 1.使用CloudFormation来启动虚拟服务器并使用用户数据
- 2.使用脚本安装并配置一个VPN服务器
- 5.2.3 从零开始,而不是更新已有的服务器
- 5.3 使用Elastic Beanstalk部署一个简单的网站应用
- 5.3.1 Elastic Beanstalk的组成部分
- 5.3.2 使用Elastic Beanstalk部署一个Node.js应用Etherpad
- 1.为AWS Elastic Beanstalk创建应用
- 2.为AWS Elastic Beanstalk创建版本
- 3.用Elastic Beanstalk创建一个环境来执行Etherpad
- 4.玩转Etherpad
- 5.使用管理控制台探索Elastic Beanstalk
- 5.4 使用OpsWorks部署多层架构应用
- 5.4.1 OpsWorks的组成部分
- 5.4.2 使用OpsWorks部署一个IRC聊天应用
- 1.创建一个新的OpsWorks堆栈
- 2.为OpsWorks堆栈创建一个Node.js层
- 3.为OpsWorks堆栈创建一个自定义层
- 4.向Node.js层添加一个应用程序
- 5.添加实例来运行IRC客户端与服务器
- 6.玩转kiwiIRC
- 5.5 比较部署工具
- 5.5.1 对部署工具分类
- 5.5.2 比较部署服务
- 5.6 小结
- 第6章 保护系统安全:IAM、安全组和VPC
- 6.1 谁该对安全负责
- 6.2 使软件保持最新
- 6.2.1 检查安全更新
- 6.2.2 在服务器启动时安装安全更新
- 6.2.3 在服务器运行时安装安全更新
- 6.3 保护AWS账户安全
- 6.3.1 保护AWS账户的root用户安全
- 6.3.2 IAM服务
- 6.3.3 用于授权的策略
- 6.3.4 用于身份认证的用户和用于组织用户的组
- 6.3.5 用于认证AWS的角色
- 6.4 控制进出虚拟服务器的网络流量
- 6.4.1 使用安全组控制虚拟服务器的流量
- 6.4.2 允许ICMP流量
- 6.4.3 允许SSH流量
- 6.4.4 允许来自源IP地址的SSH流量
- 6.4.5 允许来自源安全组的SSH流量
- 6.4.6 用PuTTY进行代理转发
- 6.5 在云中创建一个私有网络:虚拟私有云
- 6.5.1 创建VPC和IGW
- 6.5.2 定义公有堡垒主机子网
- 6.5.3 添加私有Apache网站服务器子网
- 6.5.4 在子网中启动服务器
- 6.5.5 通过NAT服务器从私有子网访问互联网
- 6.6 小结
- 第三部分 在云上保存数据
- 第7章 存储对象:S3和Glacier
- 7.1 对象存储的概念
- 7.2 Amazon S3
- 7.3 备份用户的数据
- 7.4 归档对象以优化成本
- 7.4.1 创建S3存储桶配合Glacier使用
- 7.4.2 添加生命周期规则到存储桶
- 7.4.3 测试Glacier和生命周期规则
- 7.5 程序的方式存储对象
- 7.5.1 设置S3存储桶
- 7.5.2 安装使用S3的互联网应用
- 7.5.3 检查使用SDK访问S3的代码
- 1.上传一个图片到S3
- 2.列出S3存储桶的所有图片
- 7.6 使用S3来实现静态网站托管
- 7.6.1 创建存储桶并上传一个静态网站
- 7.6.2 配置存储桶来实现静态网站托管
- 7.6.3 访问S3上托管的静态网站
- 7.7 对象存储的内部机制
- 7.7.1 确保数据一致性
- 7.7.2 选择合适的键
- 7.8 小结
- 第8章 在硬盘上存储数据:EBS和实例存储
- 8.1 网络附加存储
- 8.1.1 创建EBS卷并挂载到服务器
- 8.1.2 使用弹性数据块存储
- 8.1.3 玩转性能
- 8.1.4 备份数据
- 8.2 实例存储
- 8.2.1 使用实例存储
- 8.2.2 性能测试
- 8.2.3 备份数据
- 8.3 比较块存储解决方案
- 8.4 使用实例存储和EBS卷提供共享文件系统
- 8.4.1 NFS的安全组
- 8.4.2 NFS服务器和卷
- 8.4.3 NFS服务器安装和配置脚本
- 8.4.4 NFS客户端
- 8.4.5 通过NFS共享文件
- 8.5 小结
- 第9章 使用关系数据库服务:RDS
- 9.1 启动一个MySQL数据库
- 9.1.1 用Amazon RDS数据库启动WordPress平台
- 9.1.2 探索使用MySQL引擎的RDS数据库实例
- 9.1.3 Amazon RDS的定价
- 9.2 将数据导入数据库
- 9.3 备份和恢复数据库
- 9.3.1 配置自动快照
- 9.3.2 手动创建快照
- 9.3.3 恢复数据库
- 9.3.4 复制数据库到其他的区域
- 9.3.5 计算快照的成本
- 9.4 控制对数据库的访问
- 9.4.1 控制对RDS数据库的配置的访问控制
- 9.4.2 控制对RDS数据库的网络访问
- 9.4.3 控制数据访问
- 9.5 可以依赖的高可用的数据库
- 激活RDS数据库的高可用部署选项
- 9.6 调整数据库的性能
- 9.6.1 增加数据库资源
- 9.6.2 使用读副本来增加读性能
- 1.创建一个读副本的数据库
- 2.提升读副本数据库为单独的数据库
- 9.7 监控数据库
- 9.8 小结
- 第10章 面向NoSQL数据库服务的编程:DynamoDB
- 10.1 操作DynamoDB
- 10.1.1 管理
- 10.1.2 价格
- 10.1.3 与RDS对比
- 10.2 开发者需要了解的DynamoDB内容
- 10.2.1 表、项目和属性
- 10.2.2 主键
- 1.分区键
- 2.分区键和排序键
- 10.2.3 与其他NoSQL数据库的对比
- 10.2.4 DynamoDB本地版
- 10.3 编写任务管理应用程序
- 10.4 创建表
- 10.4.1 使用分区键的用户表
- 10.4.2 使用分区键和排序键的任务表
- 10.5 添加数据
- 10.5.1 添加一个用户
- 10.5.2 添加一个任务
- 10.6 获取数据
- 10.6.1 提供键来获取数据
- 10.6.2 使用键和过滤来查询
- 10.6.3 更灵活地使用二级索引查询数据
- 10.6.4 扫描和过滤表数据
- 10.6.5 最终一致地数据提取
- 10.7 删除数据
- 10.8 修改数据
- 10.9 扩展容量
- 10.10 小结
- 第四部分 在AWS上搭架构
- 第11章 实现高可用性:可用区、自动扩展以及CloudWatch
- 11.1 使用CloudWatch恢复失效的服务器
- 11.1.1 建立一个CloudWatch告警
- 11.1.2 基于CloudWatch对虚拟服务器监控与恢复
- 11.2 从数据中心故障中恢复
- 11.2.1 可用区:每个区域有多个数据中心
- 11.2.2 使用自动扩展确保虚拟服务器一直运行
- 11.2.3 在另一个可用区中通过自动扩展恢复失效的虚拟服务器
- 11.2.4 陷阱:网络附加存储恢复
- 11.2.5 陷阱:网络接口恢复
- 11.3 分析灾难恢复的需求
- 单个虚拟服务器的RTO和RPO的比较
- 11.4 小结
- 第12章 基础设施解耦:ELB与SQS
- 12.1 利用负载均衡器实现同步解耦
- 12.1.1 使用虚拟服务器设置负载均衡器
- 12.1.2 陷阱:过早地连接到服务器
- 12.1.3 更多使用场景
- 1.处理TCP流量
- 2.终止SSL
- 3.记录日志
- 4.跨可用区的负载均衡
- 12.2 利用消息队列实现异步解耦
- 12.2.1 将同步过程转换成异步过程
- 12.2.2 URL2PNG应用的架构
- 12.2.3 创建消息队列
- 12.2.4 以程序化的方法处理消息
- 12.2.5 程序化地消费消息
- 12.2.6 SQS消息传递的局限性
- 1.SQS不保证消息仅被传送一次
- 2.SQS并不保证消息的顺序
- 3.SQS不会取代消息代理
- 12.3 小结
- 第13章 容错设计
- 13.1 使用冗余EC2实例提高可用性
- 13.1.1 冗余可以去除单点故障
- 13.1.2 冗余需要解耦
- 13.2 使代码容错的注意事项
- 13.2.1 让其崩溃,但也重试
- 13.2.2 幂等重试使得容错成为可能
- 1.在数据库中创建一个博客条目
- 2.让缓存失效
- 3.发送到博客的Twitter feed
- 13.3 构建容错Web应用:Imagery
- 13.3.1 幂等图片状态机
- 1.有限状态机
- 2.幂等状态转换
- 13.3.2 实现容错Web服务
- 1.设置服务器项目
- 2.创建一个新的Imagery进程
- 3.查找Imagery进程
- 4.上传图片
- 13.3.3 实现容错的工作进程来消费SQS消息
- 1.设置服务器项目
- 2.处理SQS消息和处理图片
- 13.3.4 部署应用
- 1.部署S3、DynamoDB和SQS
- 2.用于服务器和工作中的EC2实例的IAM角色
- 3.用于服务器的Elastic Beanstalk
- 4.用于工作进程的Elastic Beanstalk
- 13.4 小结
- 第14章 向上或向下扩展:自动扩展和CloudWatch
- 14.1 管理动态服务器池
- 14.2 使用监控指标和时间计划触发扩展
- 14.2.1 基于时间计划的扩展
- 14.2.2 基于CloudWatch参数的扩展
- 14.3 解耦动态服务器池
- 14.3.1 由负载均衡器同步解耦扩展动态服务器池
- 14.3.2 队列异步解耦扩展动态服务器池
- 14.4 小结
展开全部
出版方
人民邮电出版社
人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。