AWS網絡服務
VPC
- VPC 與虛擬網絡是邏輯隔離的
- 一個VPC只能屬於一個區域,但可以屬於多個可用區
- VPC主要屬性:IP范圍,路由,網關,安全設置
Direct Connect
- 用戶數據中心到AWS的專用網絡連接
- 在高吞吐的情況下可以降低網絡成本、增加帶寬吞吐能力
Route53
- 高可用的可擴展的DNS 服務
AWS 計算服務
EC2
- 客戶完全控制的計算資源,並可以在成熟的 Amazon 計算環境中運行
- Amazon EC2 將獲取與啟動新服務器實例所需要的時間縮短至幾分鍾,在您的計算要求發生變化時,您便可以快速擴展或縮減計算容量。 Amazon EC2 按您實際使用量收費。
- 支持大多數版本的Windows 和 Linux 操作系統
- 可以創建、保存和重復使用鏡像 AMI
- 可以一次用鼠標或者API啟用一個或多個實例
- 按需啟動和中止實例
- 使用安全組控制進出實例的流量
- 選擇實例考慮的因素: 核心、內存、存儲大小和類型、網絡性能和 CPU技術
EMR(Elastic MapReduce)
- 它基於 Amazon EC2 技術和 Amazon Simple Storage Service (Amazon S3) 技術的 Web 規模基礎設施,是一種 Hadoop 托管服務運行架構。
- Amazon EMR 能即時靈活配置自身所需容量大小,執行數據密集型應用計算,完成 Web 索引、數據挖掘、日志文件分析、數據倉庫、機器學習、財務分析、科學模擬和生物信息研究任務。
AWS Lambda
- 適用於后端Web開發的零管理計算平台
- 在AWS直接運行后端代碼,從而提供基於AWS基礎架構的高可用、安全性、性能和可伸縮性
Auto Scaling
- 讓您可以根據您定義的條件自動擴展 Amazon EC2 容量。
- 通過使用 Auto Scaling,您可以確保所使用的 Amazon EC2 實例數量在需求峰值期實現無縫增長以保持性能,也可以在需求平淡期自動減少, 將成本降至最低。
- Auto Scaling 特別適合每小時、每天或每周使用率都不同的應用程序。
- Auto Scaling 通過Amazon CloudWatch 啟用,除了 Amazon CloudWatch 費用外,無需支付其他任何費用。
Elastic Load Balancing
- 在多個 Amazon EC2 實例間自動分配應用程序的傳入流量
- Elastic Load Balancing 可以檢測出不健全的實例,並自動更改路由,使其指向健全的實例,直到不健全的實例恢復為止
AWS Elastic Benstalk
- 在AWS上部署Web應用的最快捷最簡單的方式
- 直接上傳代碼而由AWS自行對資源進行調配
AWS 存儲
存儲類型
- 塊存儲: 對數據的一個部分進行操作,能夠快速訪問和修改,
- 對象存儲: 對這個數據進行操作
EBS存儲
- 能夠創建單獨的數據卷並掛載在EC2上
- 數據塊級存儲
- 適用於EC2的啟動卷和存儲
- 帶有文件系統的數據存儲
- 數據塊和企業應用程序
- 用於EC2的持久的塊級存儲卷
- EBS會自動在可用區內自動復制以提高可用性
- 可以備份至S3
S3
- 托管的對象存儲解決方案
- 冗余方式存儲,11個9的存儲可用性
- 無縫任意擴展的存儲池
- 可以通過AWS控制台或者第三方API訪問S3
- 對象的變化可以觸發通知、流程、腳本
- 動態數據和靜態數據可自動進行加密
- 為使用量GB、跨域復制、PUT/COPY等請求進行付費,主要適用於非頻繁訪問的數據
- 支持包括HTML、源代碼、圖像和加密數據等格式
- 支持備份和恢復、近線歸檔、大數據分析、災難恢復、雲應用和內容分發提供經濟高效的對象存儲
S3 Glacier
- 數據歸檔服務,適用於不太訪問的數據
- 安全性、持久性和極低成本
- 支持靜態和動態的SSL/TLS加密
- 數據檢索通常需要好幾個小時
AWS Storage Gateway
- 在內部部署軟件設備與基於雲的存儲器相連接的服務
- 用戶在本地數據中心維護經常訪問的數據緩存,同時為存儲在S3或Glacier中的所有數據提供低延遲的訪問
CloudFront
- 內容交付Web服務,提供低延遲、高速和最低使用承諾的全球CDN業務
- 利用全球的邊緣網絡提供整個網站的訪問,包括動態、靜態、流媒體和交互式內容
- AWS上存儲的文件生命周期策略
AWS 數據庫
RDS
- 關系型數據庫托管服務
- 可以通過AWS控制台、RDS命令行和API進行調用
- 可擴展、支持自動冗余和備份
- 支持SQL、Oracle等數據庫
- 適用的場景:復雜事物和復雜查詢、30K IOPS以下的中高讀寫,不超過一個節點的分片、高持久性
- 不適用場景:超高讀寫 如150K IOPS, 可以用NoSQL實現的簡單請求
DynamoDB
- 完全托管的NoSQL數據庫
- 任意規模上實現低於10ms的低延遲,完全運行在SSD
- 支持文檔和鍵值存儲模式
- 非常適合移動、web、游戲、廣告和 IOT
- 可以通過AWS控制台、命令行和API進行調用
- 用戶需要制定希望為讀取和寫入預置的吞吐容量,以確保一致性的低延遲性能,讀取通常以4KB/s為一個單位,寫入以1KB/s為一個單位
Redshift
- 快速、全面管理的PB級數據倉庫服務
- 提供標准SQL接口,借助現有的BI工具進行簡單高效的結構化數據分析
- 提供跨多節點並行查詢方式提高快速查詢性能
- 允許組織自行執行和配置、監控雲數據倉庫中的大部分管理任務
ElastiCache
- 采用Web服務來簡化雲中的內存緩存的部署操作和擴展
- 支持Memcached 和 Redis緩存引擎
管理工具
Amazon CloudWatch
- 雲資源和雲應用程序的監控服務
- 搜集跟蹤指標、收集和監視日志文件並設置告警
- 獲取全系統的資源利用率和程序性能及運行狀況的可見性
AWS CloudFormation
- 對AWS資源以有序和可預測的方式進行配置和更新
- 定義一種基於JSON和YAML的模板語言
AWS CloudTrail
- 記錄賬戶的API調用並提供日志文件供審計和審查
- 信息包括 API調用者身份,調用時間,源IP地址、請求參數以及服務返回響應值
AWS Config
- 提供AWS資源清單、配置歷史記錄和配置更改通知
- 支持合規審計、安全分析、變更跟蹤和故障排除的安全和治理
安全和身份
IAM 身份和訪問管理
- 有效安全的組織用戶對AWS服務和資源的訪問
- 創建和管理AWS用戶、組以及角色,並使用權限管理允許或拒絕
AWS密鑰管理服務KMS
- 創建和管理加密數據的加密密鑰
- 支持使用硬件安全模塊HSM保護根密鑰安全
AWS Directory Service
- 允許在AWS設置並運行MicroSoft AD或將資源與現有AD關聯
- 利用AD管理用戶合租,並創建和應用組策略
AWS Certificate Manager
- 配置和管理及部署SSL/TLS證書以用於AWS雲服務
- 支持快速申請
AWS WAF Web應用程序防火牆
- 用於幫助Web應用程序防御常見***
- 通過定制Web安全規則,為組織控制允許或組織其Web應用程序的流量
應用服務
AWS API Gateway
- 完全托管的服務
- 創建、發布、維護、監控和保護各種規模的API
- 可以接受和處理最大數十萬個並發的API調用
- 支持包括流量管理、授權和訪問控制、監控及API版本管理
Amazon Elastic Transcoder 彈性轉碼器
- 在AWS進行雲中的媒體轉碼
- 將媒體文件從其源格式轉換成可在智能手機、平板電腦和PC等設備上播放的格式
Amazon SNS 簡單通知服務
- 管理向收件人發送消息或郵件的Web服務
- 支持兩種角色: 發布者和訂閱者
- 通過發布者向訂閱者發送消息實現異步通信
Amazon SES 簡單電子郵件服務
- 利用SES向客戶發送交易、營銷信息及其他內容電子郵件
- 一種應用場景: 通過SES接受消息,傳遞到S3,觸發Lambda,再發布通知到SNS
Amazon Simple Workflow Service
- 構建、運行和縮放具有順序或並行步驟的后台作業
- 基於雲的完全管理狀態跟蹤器和任務協調器
- 場景是監控應用程序的步驟,跟蹤處理狀態並在任何時候任務失敗是進行恢復和重試 ,提高應用程序可靠性
Amazon Simple Queue Service
- 完全托管的、可靠和可擴展的消息隊列服務
- 適用於任何吞吐量級別、傳輸任何數據而不會丟失消息且要求其他服務始終可用
Amazon Workspaces 服務
- 托管桌面服務,可以快速配置基於雲的桌面
代碼服務
AWS CodeBuild
- AWS CodeBuild 是一項完全托管的持續集成服務,可編譯源代碼、運行測試以及生成可供部署的軟件包。
- 使用 CodeBuild,您無需預置、管理和擴展自己的構建服務器。
- CodeBuild 可以持續擴展並同時處理多項構建任務,因此您的構建任務不會在隊列中等待。
- 您可以使用預先打包的構建環境快速開始,也可以創建使用您自己的構建工具的自定義構建環境。使用 CodeBuild,您將按使用計算資源的分鍾數付費。
AWS CodeDeploy
- AWS CodeDeploy 是一項將軟件自動部署到各種計算服務(例如 Amazon EC2、AWS Fargate、AWS Lambda 和本地服務器)的完全托管的部署服務。
- 借助 AWS CodeDeploy,您可以更輕松地快速發布新功能,避免在應用程序部署過程中出現停機,並簡化應用程序的更新工作。
- 您可以使用 AWS CodeDeploy 自動執行軟件部署,而無需執行容易出錯的手動操作。服務根據您的部署需求進行擴展。
AWS核心服務部署最佳實踐
IAM用戶組管理
- 創建一個IAM組並授予完全管理員權限
- 停止使用根賬戶,使用IAM用戶憑證登錄
- 為IAM賬戶啟用MFA
- 軟件MFA:AWS Virtual MFA、Google Authenticator、Authenticator、SMS
- 硬件MFA: Gemalto 秘鑰卡 等
開啟AWS CloudTrail
- 記錄對賬戶中所有的API請求
- 記錄包括API調用 身份、時間、源IP、請求參數、返回的響應元素等
- 主要用於安全分析、追蹤資源變更、排查操作問題、合規性協作等
- 確保用於CloudTrail的S3只授權給了指定用戶
- 可以與APN的日志分析工具集成,如Splunk, SumoLogic, AlertLogic
啟用AWS Config 追蹤資源配置變更
- 完全托管的服務,AWS Config 是AWS 賬戶中資源的詳細配置視圖
- 查看資源之間的聯系
- 可以獲取當前資源配置的快照
- 能夠檢索相關資源的歷史配置信息
- 提供AWS資源清單、配置歷史記錄和配置變更通知
開啟賬單報告
- AWS資源使用情況及預估成本
- 報告交給指定的S3並每天更新一次
EC2安全性
- 使用聯合身份、IAM用戶以及IAM Role對AWS 資源和 API的訪問權限
- 建立用於創建、分配、輪換和撤銷AWS訪問憑證的憑證管理策略和程序
- 安全組只允許特定實例的IP范圍進行訪問
- 定期修補和更新操作系統及應用程序,並且保存鏡像以便於重復使用
EC2存儲
- EC2 Instance 可以支持自帶的實例存儲和EBS,
- 不同的存儲類型在數據持久性、備份、恢復和總大小是不一樣的。
EC2資源管理
- 使用實例元數據和自定義標簽更輕松的追蹤和識別實例
- 實例元數據是有關實例的數據,包括AMI ID、實例 ID、共有和私有IP、主機地址、MAC地址以及相關聯的IAM實例角色和安全組
- 使用標簽以不同方式將AWS分類,如按用途、所有者、環境等,標簽包含 鍵 和 可選值組成
EC2備份與恢復
- 定期備份實例
- 把重要數據復制到多個位置
- 跨多個區域部署應用程序的關鍵組件
- 在應用程序設計時考慮實例重啟后如何處理動態IP
- 監控事件並作出響應,如CloudWatch
- 確保隨時可以處理故障轉移
- 定期測試實例和EBS恢復流程
AWS 服務限制
- 服務數量有上限 - 可以在limits選項持續
- 每個區域的限制稍有差異
- 有一些硬性限制無法修改
- 可以對軟性限制提出調整
- 使用Trusted Advisor服務檢查限制情況