一、設計彈性架構
1.1、選擇可靠/彈性存儲
EC2實例存儲
- 臨時卷
- 僅限某些 EC2 實例
- 固定容量
- 磁盤類型和容量取決於 EC2 實例類型
- 應用程序級持久性
EBS(Elastic Block Store)
- 可用區級別
- 不同類型(gp2、io1、st1、sc1)
- 可加密(只能創建時加密)
- 快照
- 預配置容量
- 獨立於 EC2 實例的生命週期
- 將多個捲進行條帶化處理,以創建大容量卷
學習資料
- AWS 存儲服務概述白皮書
- EBS 實驗
- EC2 實例存儲實驗
S3
- 一致性模型
- 存儲類和持久性 - 標準、標準-IA
- 加密(靜態數據)- SSE-S3、SSE-KMS、SSE-C
- 加密(傳輸中的數據)- HTTPS
- 版本控制
- 訪問控制 - ACL、Bucket Policy
- 分段上傳
- 可通過 API 訪問
- 不受限制的容量
- 區域可用性
- 高持久性 - 99.999999999%
S3 Glacier
- 數據備份和歸檔存儲
- 文件庫和檔案
- 檢索 - 加速、標準、批量
- 加密
- 對象生命週期策略
- 區域可用性
- 高持久性 - 99.999999999%
學習資源
- Amazon Glacier 文檔
- 常見問題 - EFS、S3、Glacier、CloudFront
- S3、EFS 白皮書
1.2、確定如何使用 AWS 產品來設計分離機制
SQS
ELB
EIP
Route 53
1.3、確定如何設計多層架構解決方案
CloudFormation
AWS Lambda
- 運行無狀態代碼來響應事件,或基於某個時間間隔運行無狀態代碼的完全託管的計算服務
- 允許您運行代碼而不需要管理基礎設施,如 Amazon EC2 實例和 Auto Scaling 組
1.4、確定如何設計高可用性和/或容錯解決方案
考察知識點
- 指望“單一可用區”的選項肯定不是正確答案
- 使用 AWS 託管服務應始終作爲首選
- 容錯能力和高可用性不是同一回事
- 預期任何事情都可能會在某一時刻失效,並據此展開設計
二、定義高性能架構
2.1、選擇高性能存儲和數據庫
EBS卷類型
S3 存儲桶
Amazon RDS
- RDS 部分引擎只讀副本
- 跨可用區主被部署
Amazon DynamoDB
- NoSQL 數據庫
- 根據吞吐量需求分配資源
Amazon Redshift
- 大數據分析
2.2、應用緩存來提高性能
CloudFront 中緩存
- 內容 - 靜態和動態
- 來源 - S3、EC2、ELB 和 HTTP 服務器
- 保護私密內容
- 提高安全性 - AWS Shield、AWS WAF
2.3、設計具有彈性和可擴展性的解決方案
垂直擴展與水平擴展
Auto Scaling
- 啓動和終止實例
- 自動將新實例註冊到負載均衡器中
- 可以跨可用區啓動
CloudWatch
ELB
三、指定安全的應用程序和架構
3.1、確定如何保護應用程序層
責任共擔模型
最低權限原則
IAM
角色
VPC
安全組和 NACL
VPC連接
3.2、確定如何保護數據
×××
SSL
AWS KMS
3.3、爲單個 VPC 應用程序定義聯網基礎設施
四、設計成本優化型架構
4.1、確定如何設計成本優化型存儲
S3 收費模式
- 傳出所在區域收費
- PUT、COPY、POST、LIST、GET收費
- S3 傳到 CloudFront 的流量不收費
優先選擇託管服務
4.2、確定如何設計成本優化型計算
按需實例
預留實例
用量越大,單位費用越少
五、定義運行卓越的架構
5.1、在能夠實現卓越運行的解決方案中選擇設計功能
AWS Config
CloudFormation
AWS Trusted Advisor
VPC 日誌流
CloudTrail
AWS Inspector
考察知識點
- IAM 角色比祕鑰和密碼更便捷,更安全
- 跨系統監控各種指標
- 適當時自動響應指標
- 提供異常情況警報