|
Amazon Web Services雲計算實戰(第2版)
|
|
|
|
|
|
|
|
|
ISBN |
9787115609298 |
定价 |
RMB129.80 |
售价 |
RM142.80 |
优惠价 |
RM99.96 * (-30%)
|
作者 |
(德)邁克爾·威蒂格,(德)安德烈亞斯·威蒂格
|
译者 |
費良宏 |
出版社 |
人民郵電出版社
|
出版日期 |
2023-05-01 |
装订 |
平裝. 無. 434 页. 26. |
库存量 |
購買後立即進貨 此中国简体书,船运需时约30个工作天(不含调货时间)。抱歉!目前无开放空运服务。 库存有限或需要调货,订购时间可能延长。如无法订购则将通知进行退款。 |
|
我要订购 有现货时通知我 |
|
放入下次购买清单 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
購買中國簡體書籍請注意:
1. 因裝幀品質及貨運條件未臻完善,中國簡體書可能有出現磨痕、凹痕、折痕等問題,故簡體字館除封面破損、內頁脫落、缺頁等較嚴重的狀態外,其餘所有商品將正常出貨。
|
|
|
|
|
|
|
|
|
目錄
第一部分 AWS 雲計算起步
第 1 章 什麼是 AWS 3
1.1 什麼是雲計算 4
1.2 AWS 可以做什麼 4
1.2.1 託管一家網店 5
1.2.2 在私人網路絡內運行 Java EE 應用 6
1.2.3 實施高可用的系統 7
1.2.4 從批量處理基礎設施的低成本中獲益 8
1.3 如何從使用 AWS 上獲益 9
1.3.1 創新和快速發展的平臺 9
1.3.2 解決常見問題的服務 9
1.3.3 啟用自動化 9
1.3.4 靈活的容量(可擴展性) 10
1.3.5 為失效而構建(可靠性) 10
1.3.6 縮短上市的時間 10
1.3.7 從規模經濟中受益 11
1.3.8 全球基礎設施 11
1.3.9 專業的合作夥伴 11
1.4 費用是多少 11
1.4.1 免費套餐 12
1.4.2 帳單樣例 12
1.4.3 按使用付費的機遇 13
1.5 同類對比 14
1.6 探索 AWS 服務 14
1.7 與 AWS 交互 17
1.7.1 管理主控台 18
1.7.2 CLI 18
1.7.3 SDK 19
1.7.4 藍圖 20
1.8 創建一個 AWS 帳戶 20
1.8.1 註冊 21
1.8.2 登錄 25
1.8.3 創建一個金鑰對 26
1.9 創建帳單警報跟蹤 AWS 帳單 29
1.10 小結 32
第 2 章 一個簡單示例:5 分鐘搭建WordPress 網站 33
2.1 創建基礎設施 34
2.2 探索基礎設施 40
2.2.1 資源組 40
2.2.2 虛擬機器 41
2.2.3 負載等化器 43
2.2.4 MySQL 數據庫 44
2.2.5 網路檔案系統 46
2.3 成本是多少 47
2.4 刪除基礎設施 48
2.5 小結 49
第二部分 搭建由電腦和網路組成的虛擬基礎設施
第 3 章 使用虛擬機器:EC2 53
3.1 探索虛擬機器 53
3.1.1 啟動虛擬機器 54
3.1.2 連接到虛擬機器 65
3.1.3 手動安裝和運行軟體 68
3.2 監控和調試虛擬機器 69
3.2.1 顯示虛擬機器的日誌 69
3.2.2 監控虛擬機器的負載 70
3.3 關閉虛擬機器 71
3.4 更改虛擬機器的大小 72
3.5 在另一個數據中心啟動虛擬機器 75
3.6 分配一個公有 IP 位址 78
3.7 向虛擬機器添加額外的網路介面 80
3.8 優化虛擬機器的開銷 84
3.8.1 預留虛擬機器 85
3.8.2 對未用虛擬機器出價 87
3.9 小結 91
第 4 章 編寫基礎設施: 命令列、SDK 和 CloudFormation 92
4.1 基礎設施即代碼 94
4.1.1 自動化和 DevOps 遷移 94
4.1.2 開發一種基礎設施語言:JIML 94
4.2 使用 CLI 98
4.2.1 為什麼要自動化 98
4.2.2 安裝 CLI 98
4.2.3 配置 CLI 99
4.2.4 使用 CLI 102
4.3 使用 SDK 編程 106
4.3.1 使用 SDK 控制虛擬機器:nodecc 106
4.3.2 nodecc 如何創建一台虛擬機器 107
4.3.3 nodecc 如何列出虛擬機器並顯示虛擬機器的詳細資訊 108
4.3.4 nodecc 如何終止一台虛擬機器 109
4.4 使用藍圖來啟動一台虛擬機器 110
4.4.1 CloudFormation 範本解析 111
4.4.2 創建第一個範本 114
4.5 小結 120
第 5 章 自動化部署: CloudFormation、 Elastic Beanstalk 和 OpsWorks 121
5.1 在靈活的雲環境中部署應用 122
5.2 比較部署工具 123
5.2.1 對部署工具進行分類 123
5.2.2 比較部署服務 123
5.3 使用 AWS CloudFormation 創建虛擬機器並在啟動時運行部署腳本 124
5.3.1 在伺服器啟動時用用戶數據來運行腳本 125
5.3.2 將 VPN 伺服器 OpenSwan 部署到虛擬機器 125
5.3.3 從零開始而不是更新 129
5.4 使用 AWS Elastic Beanstalk 部署簡單的 Web 應用 130
5.4.1 Elastic Beanstalk 組件 130
5.4.2 使用 Elastic Beanstalk 部署一個 Node.js 應用Etherpad 131
5.5 使用 AWS OpsWorks Stacks 部署多層應用 135
5.5.1 AWS OpsWorks Stacks 的組件 136
5.5.2 使用 AWS OpsWorks Stacks 部署 IRC 聊天應用 138
5.6 小結 147
第 6 章 保護系統安全:IAM、 安全性群組和 VPC 148
6.1 誰該對安全負責 149
6.2 使軟體保持最新 150
6.2.1 檢查安全更新 150
6.2.2 在虛擬機器啟動時安裝安全更新 151
6.2.3 在正在運行的虛擬機器上安裝安全更新 152
6.3 保護 AWS 帳戶安全 153
6.3.1 保護 AWS 帳戶的 root 用戶安全 154
6.3.2 AWS 身份和訪問管理 155
6.3.3 使用 IAM 策略定義許可權 156
6.3.4 使用者用於身份認證,組用於組織使用者 158
6.3.5 使用角色認證AWS資源 159
6.4 控制進出虛擬機器的網路流量 161
6.4.1 使用安全性群組控制虛擬機器的流量 162
6.4.2 允許 ICMP 流量 163
6.4.3 允許 SSH 流量 164
6.4.4 允許來自源 IP 位址的SSH 流量 165
6.4.5 允許來自源安全性群組的SSH 流量 166
6.5 在雲中創建一個私人網路絡:亞馬遜虛擬私有雲 170
6.5.1 創建VPC和互聯網閘道 171
6.5.2 定義公有堡壘主機子網 172
6.5.3 添加私有 Apache Web 伺服器子網 174
6.5.4 在子網中啟動虛擬機器 175
6.5.5 通過 NAT 閘道從私有子網訪問互聯網 176
6.6 小結 178
第 7 章 用 Lambda 自動化 操作任務 179
7.1 用 AWS Lambda 運行代碼 180
7.1.1 什麼是無伺服器 180
7.1.2 在 AWS Lambda 上運行代碼 180
7.1.3 比較 AWS Lambda 與虛擬機器(Amazon EC2) 181
7.2 用 AWS Lambda 構建網站健康狀況檢查 182
7.2.1 創建 Lambda 函數 183
7.2.2 用 CloudWatch 搜索 Lambda 函數的日誌 188
7.2.3 用 CloudWatch 指標和警報監視 Lambda 函數 190
7.2.4 訪問 VPC 中的端點 194
7.3 自動添加包含 EC2 實例所有者的標籤 196
7.3.1 事件驅動:訂閱 CloudWatch 事件 196
7.3.2 在 Python 中實現 Lambda 函數 199
7.3.3 用無伺服器應用模型設置Lambda 函數 200
7.3.4 授權 Lambda 函數用具有IAM 角色的其他 AWS 服務 201
7.3.5 用 SAM 部署 Lambda 函數 202
7.4 用 AWS Lambda 還能做什麼 203
7.4.1 AWS Lambda 有哪些限制 203
7.4.2 無伺服器定價模式的影響 203
7.4.3 使用場景:Web 應用 204
7.4.4 使用場景:數據處理 205
7.4.5 使用場景:物聯網後端 206
7.5 小結 206
第三部分 在雲中存儲數據
第 8 章 存儲物件:S3 和 Glacier 211
8.1 什麼是物件存儲 212
8.2 Amazon S3 212
8.3 使用 AWS CLI 在 S3 上備份數據 214
8.4 歸檔對象以優化成本 216
8.4.1 創建 S3 存儲桶來配合Glacier 使用 217
8.4.2 添加生命週期規則到存儲桶 218
8.4.3 實驗 Glacier 和生命週期規則 220
8.5 以編程的方式存儲物件 222
8.5.1 設置 S3 存儲桶 224
8.5.2 安裝使用 S3 的Web 應用 224
8.5.3 檢查使用 SDK 訪問 S3 的代碼 224
8.6 使用 S3 來實現靜態網站託管 226
8.6.1 創建存儲桶並上傳一個靜態網站 227
8.6.2 配置存儲桶來實現靜態網站託管 227
8.6.3 訪問 S3 上託管的網站 228
8.7 使用 S3 的最佳實踐 229
8.7.1 確保數據一致性 229
8.7.2 選擇正確的鍵 230
8.8 小結 231
第 9 章 在硬碟上存儲數據: EBS 和實例存儲 232
9.1 彈性塊存儲:通過網路附加的持久的塊級別存儲 233
9.1.1 創建 EBS 卷並將其附加到EC2 實例 234
9.1.2 使用 EBS 234
9.1.3 調整性能 236
9.1.4 使用 EBS 快照備份數據 238
9.2 實例存儲:臨時塊存儲 240
9.2.1 使用實例存儲 243
9.2.2 測試性能 244
9.2.3 備份數據 244
9.3 小結 245
第 10 章 在機器之間共用數據卷:EFS 246
10.1 創建檔案系統 248
10.1.1 用 CloudFormation 描述檔案系統 248
10.1.2 定價 249
10.2 創建安裝目標 249
10.3 在 EC2 實例上安裝EFS 共用 251
10.4 在 EC2 實例之間共用檔 254
10.5 調整性能 255
10.5.1 性能模式 255
10.5.2 預期輸送量 256
10.6 監視檔案系統 256
10.6.1 是否應使用最大 I/O 性能模式 257
10.6.2 監控你的允許輸送量 258
10.6.3 監控你的使用情況 259
10.7 備份數據 259
10.7.1 使用 CloudFormation 描述EBS 卷 260
10.7.2 使用 EBS 卷 260
10.8 小結 262
第 11 章 使用關係數據庫服務: RDS 263
11.1 開始使用 MySQL 數據庫 265
11.1.1 用 RDS 數據庫啟動WordPress 平臺 265
11.1.2 探索帶有 MySQL 引擎的RDS 數據庫實例 268
11.1.3 Amazon RDS 的定價 268
11.2 將數據導入數據庫 268
11.3 備份和還原數據庫 271
11.3.1 配置自動快照 271
11.3.2 手動創建快照 272
11.3.3 還原數據庫 273
11.3.4 複製數據庫到另一個區域 274
11.3.5 計算快照費用 275
11.4 控制對數據庫的訪問 275
11.4.1 控制對 RDS 數據庫配置的訪問 276
11.4.2 控制對 RDS 數據庫的網路訪問 277
11.4.3 控制對數據的訪問 277
11.5 依賴高可用數據庫 278
11.6 調整數據庫的性能 280
11.6.1 增加數據庫資源 281
11.6.2 使用讀複製來提高讀性能 282
11.7 監控數據庫 284
11.8 小結 286
第 12 章 使用記憶體緩存數據:Amazon ElastiCache 287
12.1 創建緩存集群 291
12.1.1 最小 CloudFormation 範本 292
12.1.2 測試 Redis 集群 293
12.2 緩存部署選項 294
12.2.1 Memcached 集群 295
12.2.2 Redis 單節點集群 295
12.2.3 Redis 禁用集群模式的集群 296
12.2.4 Redis 啟用集群模式的集群 297
12.3 控制緩存訪問 298
12.3.1 控制訪問配置選項 298
12.3.2 控制網路訪問 299
12.3.3 控制集群和數據訪問 299
12.4 使用 CloudFormation 安裝示例 Discourse 應用 300
12.4.1 VPC—網路配置 301
12.4.2 緩存—安全性群組、子網組、緩存集群 302
12.4.3 數據庫—安全性群組、子網組、數據庫實例 303
12.4.4 虛擬機器—安全性群組、EC2 實例 304
12.4.5 測試 Discourse 的CloudFormation 範本 306
12.5 監控緩存 307
12.5.1 監控主機相關指標 308
12.5.2 記憶體是否足夠? 309
12.5.3 Redis 唯讀副本是否保持最新 309
12.6 優化緩存性能 309
12.6.1 選擇合適的節點類型 310
12.6.2 選擇正確的部署選項 311
12.6.3 壓縮數據 311
12.7 小結 311
第 13章 面向NoSQL數據庫服務的編程:DynamoDB 312
13.1 操作 DynamoDB 314
13.1.1 管理 314
13.1.2 定價 314
13.1.3 網路 315
13.1.4 與 RDS 對比 315
13.1.5 與其他 NoSQL 數據庫對比 316
13.2 開發人員需要瞭解的DynamoDB 316
13.2.1 表、專案和屬性 316
13.2.2 主鍵 317
13.2.3 本地 DynamoDB 318
13.3 編寫待辦事項應用 318
13.4 創建表 320
13.4.1 通過分區鍵標識使用者 320
13.4.2 通過分區鍵和排序鍵標識任務 321
13.5 添加數據 323
13.5.1 添加用戶 324
13.5.2 添加任務 325
13.6 檢索數據 325
13.6.1 通過鍵來獲取專案 326
13.6.2 通過鍵和篩檢程式查詢專案 327
13.6.3 使用全域輔助索引進行更靈活的查詢 329
13.6.4 掃描和過濾表中的所有數據 332
13.6.5 最終一致的數據檢索 333
13.7 刪除數據 333
13.8 修改數據 334
13.9 擴展容量 335
13.9.1 容量單元 336
13.9.2 自動擴展 337
13.10 小結 339
第四部分 在 AWS 上搭架構
第 14 章 實現高可用性: 可用區、自動擴展以及 CloudWatch 343
14.1 用CloudWatch從EC2實例故障中恢復 344
14.1.1 創建 CloudWatch 警報來在狀態檢查失敗時觸發恢復 345
14.1.2 根據CloudWatch警報監控和恢復虛擬機器 347
14.2 從數據中心中斷中恢復 350
14.2.1 可用區:一組獨立的數據中心 351
14.2.2 用自動擴展確保 EC2 實例一直運行 354
14.2.3 借助自動擴展將出現故障的虛擬機器恢復到另一個可用區 356
14.2.4 隱患:網路附加存儲恢復 359
14.2.5 隱患:網路介面恢復 363
14.3 分析災難恢復的必要條件 367
14.4 小結 368
第 15 章 基礎設施解耦: ELB 與 SQS 369
15.1 利用負載等化器進行同步解耦 370
15.2 利用訊息佇列進行非同步解耦 375
15.2.1 將同步過程轉換成非同步過程 376
15.2.2 URL2PNG 應用的架構 377
15.2.3 創建訊息佇列 377
15.2.4 以編程方式生產消息 378
15.2.5 以編程方式消費消息 379
15.2.6 使用 SQS 傳遞消息的局限性 383
15.3 小結 384
第 16 章 容錯設計 385
16.1 使用冗餘 EC2 實例提高可用性 387
16.1.1 冗余可以消除單點故障 387
16.1.2 冗余需要解耦 389
16.2 使代碼容錯的注意事項 390
16.2.1 讓其崩潰,而且重試 390
16.2.2 冪等重試使容錯成為可能 391
16.3 構建容錯 Web 應用:Imagery 393
16.3.1 冪等狀態機 396
16.3.2 實現容錯的 Web 服務 397
16.3.3 實現容錯的工作進程來消費 SQS 消息 404
16.3.4 部署應用 407
16.4 小結 413
第 17 章 向上或向下擴展:自動擴展和CloudWatch 414
17.1 管理動態EC2實例池 416
17.2 使用指標或計畫觸發擴展 419
17.2.1 根據計畫進行擴展 420
17.2.2 根據 CloudWatch 指標進行擴展 421
17.3 解耦動態EC2實例池 423
17.3.1 通過負載等化器同步解耦擴展動態 EC2 實例池 424
17.3.2 通過佇列非同步解耦擴展動態EC2 實例池 428
17.4 小結 432
附錄 A 術語及縮寫 433 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
邁克爾·威蒂格(Michael Wittig)和安德莉亞斯·威蒂格(Andreas Wittig)是專注於Amazon Web Services(AWS)的軟體工程師和DevOps工程師。2013年,這對兄弟將一家德國銀行的整個IT基礎設施遷移到了AWS上。這在德國銀行界算是首例。自2015年以來,他們一直擔任顧問,説明客戶在AWS上遷移和運行工作負載。他們專注於基礎設施即代碼、持續部署、無伺服器、Docker和安全等領域,也在亞馬遜雲上構建SaaS產品。兩人都是AWS認證的專業級AWS解決方案架構師(AWS Certified Solutions Architect-Professional)以及AWS認證的專業級DevOps工程師(AWS Certified DevOps Engineer-Professional)。此外,他們還喜歡通過本書、博客以及線上和現場培訓(如AWS in Motion)與他人分享知識,教授他人如何使用AWS。 |
|
|
|
|
|
|
|
|
|
|
|