本書詳細介紹了亞馬遜AWS云服務特性、適用場景及操作方法等, 通過列舉大量詳細案例, 旨在讓讀者全面了解如何利用亞馬遜云計算平臺完成客戶的業(yè)務需求和IT需求; 如何在數(shù)分鐘內建立屬于自己的虛擬數(shù)據(jù)中心; 如何便捷地利用數(shù)臺到數(shù)千臺服務器和服務完成傳統(tǒng)機房無法想象完成的任務。
序
2007年一次偶然的機會,我接觸到了云計算,一下子就被其簡捷、方便、強大的特性所吸引,開始瘋狂地查找相關資料。當時,有關云計算的著作,國內幾乎沒有,輾轉找到一些國外的書籍,我便如饑似渴地閱讀起來。隨著我對云計算了解的深入,我越發(fā)感覺它的前景遠大。果然不出所料,短短幾年,云計算已經(jīng)成為整個行業(yè)的大勢所趨,甚至可以說,每個人的生活都與之有密不可分的聯(lián)系。
雖然近年來,國內市場上有關云計算的專業(yè)書籍層出不窮,但具體指導用戶使用云計算的書籍卻鳳毛麟角。本書通過分享大量的案例和方法,旨在拋磚引玉,讓更多的人在使用的過程中領略yamaxun云計算的獨特魅力。
本書對yamaxunAWS做了初步介紹,并分門別類地列舉了yamaxunAWS提供的服務及具體操作方法,適用于云計算開發(fā)、使用和運維人員,能對讀者起到一定的指導作用。
從動念寫這本書,到真正完工,歷時兩年,期間遇到不少困難,再加上yamaxunAWS的功能在不斷地推陳出新,也就不得不隨之不斷修改,好在有同事、朋友和家人的支持和鼓勵,我終還是交出了一份答卷。由于水平有限,不足之處,在所難免。
借此機會,感謝yamaxunAWS全球副總裁、中國執(zhí)行董事容永康先生對本書的大力支持。同時,感謝yamaxunAWS中國架構師團隊負責人張榮典、孫素梅、曹瑋祺和培訓團隊資深講師包光磊、張波、黃濤審閱本書以及提出的寶貴意見。同時,感謝yamaxunAWS中國資深架構師陳林濤、鄭進佳的大力協(xié)助。感謝前yamaxunAWS市場部郭多嬌女士、何菁女士在寫作和出版過程中提供的大力協(xié)助。
王毅 前yamaxunAWS解決方案架構師、區(qū)域主管
王毅,國內獲得AWS專家級認證資質人員之一,是早進入云計算領域的資深從業(yè)者,現(xiàn)任You World (由我) CTO,曾在AWS任大中華區(qū)資深解決方案架構師、高級區(qū)域主管,還曾在阿里云任資深技術專家、在IBM全球服務部門擔任資深架構師經(jīng)理,精通AWS、阿里云、微軟Azure,幫助許多中國互聯(lián)網(wǎng)公司,利用云平臺的優(yōu)勢,進行技術和商業(yè)模式創(chuàng)新。
第1章 AWS概覽 1
1.1 云計算是什么 1
1.2 AWS是什么 2
1.3 AWS有什么好處 2
1.3.1 按需分配,按用量付費 2
1.3.2 彈性容量 2
1.3.3 增加速度和靈活性 2
1.3.4 全球性覆蓋 3
1.4 AWS的安全措施 3
1.5 服務概覽 4
1.5.1 全球基礎架構 4
1.5.2 服務概覽 5
1.6 怎樣開始使用AWS 6
1.7 如何與AWS服務交互 6
1.7.1 AWS管理控制臺 6
1.7.2 AWS Command Line
Interface(AWS CLI) 6
1.7.3 AWS軟件開發(fā)工具包(SDK) 7
1.7.4 API接口 7
第2章 計算服務介紹 9
2.1 什么是EC2彈性計算 9
2.2 EC2有哪些特點 9
2.3 如何上手創(chuàng)建EC2實例 10
2.3.1 選擇yamaxun系統(tǒng)映像(AMI) 10
2.3.2 實例類型 11
2.3.3 安全組 14
2.4 存儲選項 14
2.4.1 EBS 14
2.4.2 實例存儲 14
2.5 實例的用戶數(shù)據(jù)和元數(shù)據(jù) 15
2.6 密鑰對 18
2.7 實例的狀態(tài) 19
2.7.1 實例啟動 19
2.7.2 停止和啟動實例 19
2.7.3 實例重啟 20
2.7.4 實例終止 20
2.8 彈性負載均衡器(Elastic
Load Balancer) 21
2.8.1 什么是彈性負載均衡器 21
2.8.2 ELB能實現(xiàn)哪些功能 21
2.9 自動伸縮組 23
2.9.1 什么是自動伸縮組(Auto
Scaling Group) 23
2.9.2 ASG的使用場景 23
2.9.3 如何創(chuàng)建自動伸縮組 24
第3章 Amazon RDS 29
3.1 Amazon RDS簡介 29
3.2 使用RDS可以帶來的好處 30
3.3 創(chuàng)建Amazon RDS數(shù)據(jù)庫 31
3.4 管理Amazon RDS數(shù)據(jù)庫的
存儲 36
3.4.1 RDS的存儲類型 36
3.4.2 性能指標 36
3.4.3 SSD存儲 37
3.4.4 預配置IOPS存儲 38
3.4.5 數(shù)據(jù)庫實例類 40
3.5 Amazon RDS數(shù)據(jù)庫的備份與
恢復 41
3.5.1 自動備份 41
3.5.2 使用數(shù)據(jù)庫快照 42
3.5.3 將數(shù)據(jù)庫恢復至某個
時間點 46
3.6 Amazon RDS數(shù)據(jù)庫的
安全性 49
第4章 Amazon VPC 51
4.1 VPC介紹 51
4.2 Amazon VPC的主要功能 52
4.3 VPC的基本概念 53
4.4 Amazon VPC基本操作 53
4.4.1 VPC的建立及大小調整 53
4.4.2 刪除VPC 55
4.4.3 子網(wǎng)的建立 56
4.4.4 在子網(wǎng)中啟動實例 58
4.4.5 刪除子網(wǎng) 61
4.5 在Amazon VPC中設置
路由表 61
4.5.1 路由表 61
4.5.2 路由表的基本信息 61
4.5.3 主路由表 62
4.5.4 自定義路由表 63
4.6 安全性與防火墻 63
4.6.1 VPC基本安全 63
4.6.2 安全組與網(wǎng)絡ACL的比較 64
第5章 Amazon CloudFront 65
5.1 什么是Amazon CloudFront 65
5.2 Amazon CloudFront服務的
優(yōu)勢 66
5.2.1 快速 66
5.2.2 簡便 66
5.3 創(chuàng)建Web分發(fā) 66
5.4 利用CloudFront提供私有
對象的CDN服務 70
5.5 私有內容的工作原理 71
5.6 對CloudFront進行負載測試 72
第6章 Amazon DynamoDB 73
6.1 Amazon DynamoDB介紹 73
6.2 使用DynamoDB能帶來
哪些好處 74
6.3 DynamoDB入門 75
6.3.1 數(shù)據(jù)模型概念:表、項目和
屬性 75
6.3.2 主鍵 76
6.3.3 二級索引 77
6.3.4 DynamoDB數(shù)據(jù)類型 78
6.3.5 DynamoDB支持的操作 78
6.3.6 預配置吞吐容量 80
6.3.7 訪問DynamoDB 80
6.4 創(chuàng)建DynamoDB表 81
6.4.1 準備工作 81
6.4.2 創(chuàng)建示例表 84
6.4.3 加載示例數(shù)據(jù) 88
6.4.4 開始查詢 97
6.5 DynamoDB的佳實踐 98
6.5.1 表的佳實踐 98
6.5.2 項目佳實踐 103
6.5.3 查詢和掃描佳實踐 104
6.5.4 Local Secondary Index
佳實踐 105
6.5.5 Global Secondary Index
佳實踐 107
第7章 AWS Elastic Beanstalk 109
7.1 什么是AWS Elastic
Beanstalk 109
7.2 為什么需要Elastic
Beanstalk 110
7.3 Elastic Beanstalk入門 110
7.3.1 Elastic Beanstalk的組件 110
7.3.2 權限 114
7.3.3 支持的平臺 120
7.3.4 設計注意事項 120
7.4 如何使用Elastic Beanstalk 123
第8章 Amazon EMR 131
8.1 Amazon EMR介紹 131
8.2 Amazon EMR的優(yōu)勢 132
8.2.1 易于使用 132
8.2.2 成本低廉 132
8.2.3 靈活 132
8.2.4 運行可靠 132
8.2.5 安全 132
8.2.6 靈活 133
8.3 Amazon EMR使用案例 133
8.3.1 點擊流分析 133
8.3.2 基因學 133
8.3.3 日志處理 133
8.4 如何使用Amazon EMR 133
8.5 創(chuàng)建Amazon EMR集群 134
8.6 Amazon EMR的概念 140
8.6.1 Amazon EMR有什么用途 141
8.6.2 Amazon EMR的功能 142
8.6.3 Amazon EMR是
如何工作的 145
8.6.4 為Amazon EMR提供了什么
工具 149
8.7 Amazon EMR上常用的Hadoop
工具 150
8.7.1 Hive和Amazon EMR 150
8.7.2 Impala和Amazon EMR 151
8.7.3 Pig和Amazon EMR 153
8.7.4 使用HBase存儲數(shù)據(jù) 153
8.7.5 配置Hue以查看、查詢或
操作數(shù)據(jù) 154
第9章 AWS CloudFormation 157
9.1 AWS CloudFormation介紹 157
9.2 AWS CloudFormation的
優(yōu)勢 158
9.2.1 廣泛支持AWS資源 158
9.2.2 易于使用 158
9.2.3 聲明性和靈活性 158
9.2.4 基礎設施即代碼 158
9.2.5 通過參數(shù)實現(xiàn)自定義 159
9.2.6 便于集成 159
9.3 什么是AWS
CloudF ormation 159
9.3.1 AWS CloudFormation的
概念 160
9.3.2 AWS CloudFormation是如何
運行的 163
9.3.3 刪除堆棧工作流程 165
9.4 使用堆棧 166
9.4.1 使用AWS CloudFormation
控制臺 166
9.4.2 使用AWS命令行界面 167
9.4.3 AWS CloudFormation堆棧
更新 167
9.4.4 與Windows Stacks共同
運行 168
9.5 使用模板 169
9.5.1 模板剖析 169
9.5.2 示例模板 182
9.5.3 創(chuàng)建模板 186
9.6 佳實踐 197
9.6.1 按生命周期和所有權組織
堆棧 198
9.6.2 使用IAM控制訪問 199
9.6.3 驗證所有資源類型的配額 199
9.6.4 重復使用模板以在多個
環(huán)境中復制堆棧 199
9.6.5 使用嵌套堆棧來重復使用
常見模板模式 199
9.6.6 請勿將證書嵌入模板 200
9.6.7 使用AWS特定的參數(shù)
類型 200
9.6.8 使用參數(shù)約束 200
9.6.9 使用 AWS::CloudFormation::
Init 在 Amazon EC2實例
上部署軟件應用程序 200
9.6.10 在使用模板前驗證模板 201
9.6.11 通過AWS CloudFormation
管理所有堆棧資源 201
9.6.12 使用堆棧策略 201
9.6.13 使用AWS CloudTrail記錄
AWS CloudFormation調用 201
9.6.14 使用代碼審查和修訂控制來
管理模板 202
9.7 使用IAM訪問控制 202
9.7.1 AWS CloudFormation操作和
資源 202
9.7.2 AWS CloudFormation控制臺
特定的權限 204
9.7.3 AWS CloudFormation條件 205
9.7.4 確認AWS CloudFormation
模板中的IAM資源 205
9.7.5 管理Amazon EC2實例上
運行的應用程序的證書 206
9.7.6 授予臨時訪問權限(聯(lián)合
訪問) 206
第10章 Amazon Kinesis 209
10.1 Amazon Kinesis介紹 209
10.2 Amazon Kinesis的優(yōu)勢 210
10.3 Amazon Kinesis的使用
場景 211
10.4 Amazon Kinesis的概念 212
10.4.1 主要概念 212
10.4.2 Streams技術 214
10.4.3 創(chuàng)建器 215
10.4.4 使用器 216
10.5 Amazon Kinesis入門 217
10.5.1 設置 217
10.5.2 基本操作 218
10.6 使用Amazon Kinesis 226
10.6.1 將數(shù)據(jù)寫入流 226
10.6.2 讀取流中的數(shù)據(jù) 230
10.6.3 監(jiān)控 235
10.6.4 為流添加標簽 235
10.6.5 控制訪問權限 236