# 雲端平台AWS [講義](https://drive.google.com/file/d/1wWWCUNJP4Wb9CN9HTL7EibrKHclxh4w0/view) on premises <-> public cloud 地端 <-> 雲端 雲端-虛擬桌面。 Iaas Infrastructure as a service 可從作業系統層面開始做改變,可控部分較多故彈性較高 Paas Platform as a service Saas Software as a service 運算原理未知 eg:gmail, google drive ![](https://hackmd.io/_uploads/HkHpXbDBn.png) Replatform 更換同性質服務 --- eg:改為Paas Firewall ----- WAF (eg.若爬蟲爬不到有可能會被WAF擋住) CDN 分散於各地的儲存裝置 eg:Asus要更新全球user的韌體,會放到各地的CDN,判斷使用者所在區域到該地CDN存取 Web Server Tier ------ Auto Scaling Group RDS Paas等級 三家公有雲中,只有AWS有自己的mail server,其他兩家是仰賴第三方的機構做發信行為 ![](https://hackmd.io/_uploads/HkrzwZvH2.png) AWS KMS金鑰系統 Dynamo DB AWS自己的非結構式資料庫 EC2 整體架構 SG : security group = firewall 三大公有雲只有aws用前者名稱,無狀態型式設定 elastic ip,aws給的是浮動的 只有內網的ip是固定的 若有固定ip需求還是會提供,一台機器最多只會給一個固定ip elastic network interfaces雲端網卡 真實服務透過EBS硬碟,透過網路方式綁定 在同一個VPC會有不同AZ,可以指定虛擬機在哪個機房做啟用,最好把運算資源放在不同地方,即使資料中心都選東京,AZ還是會選多個地方 * AWS EC2 機型選擇 主要會使用 -General purpose -Compute optimized -memory optimized T系列是測試用的,比較差,超頻會有時間限制 M系列C系列,正式環境最常使用,m-memory c-compute 數字表示第幾代,數字越高越新 最後一個英文字a g n d 等表示哪個牌子的,沒有小字母表示intel晶片,a=amd、g=aws自開發,arm架構 * Auto Scaling 整體架構 elastic load balancing偵測流量超過負荷時可以啟動auto scaling自動加開機器要使用的硬體規格(core, ram...) 例如搶票系統,可以自動加入auto scaling group 對應狀態,當流量降至某個閥值,可以自動縮減機器 也能設定時程做排程,自動開或關 * Serverless Computing 類似Saas服務,只要給他程式碼,給定能承受使用程度的上限、常態運行服務要保留多少。 則該服務會偵測後自動安排資源 * Lambda 整體架構 支援多種程式語言。類似Colab。 有些模組不需要24 hr做運算,有些步驟是非即時性,例如收到檔案再做觸發動作,可以有順序性。 * S3 整體架構 儲存裝置,資料桶是S3的基礎,因為S3是物件儲存object storage。 儲存時是散落在海裡,沒有特定位子,沒有順序性,沒有資料夾概念。 桶子是有溫度的,資料溫度是指有沒有很常須存取資料,熱->經常性。 最冷的資料桶會用磁帶方式儲存,便宜穩定,但拿回資料時就需要等待。 資料庫 redshift 算data warehouse RDS 整體架構 S3是標準的資料湖,什麼都收 RDS資料庫引擎,越大資料庫越深入調教的就越難轉移。 Aurora亞馬遜自己開發的優化過的,號稱比原生地有效率,有serverless服務。 Standy by較不及時,但master db壞了可以切換到stand by。 Read replica db只能讀取,但可以加速且分散流量,但不能寫。寫是寫在master db,再同步給replica DynamoDB 整體架構 類似mongodb,沒有資料檔概念,只有資料編號 ------ IAM 整體架構 操作權限寫在policy中 ---- 創AWS帳號。 搜尋IAM服務,建立group,設定權限。 建立user,放到group內,產生帳號密碼。 若要重設帳號密碼,需主帳號-user-security creditials-manage console access-set passwd/auto generated passwd 創虛擬機,需有擁有EC2權限的帳號才可創立 instance-launch instance- ------ 5/28 EC2 虛擬主機 S3 物件儲存,EDS 帳號 IAM / ROOT 虛擬主機映像檔 AMY * P39 AWS網路層 Region-AZ-很多VPC(虛擬網路環境) VPC網段 10.0.0.0/16 |->subnet |->subnet |->subnet VPC網段一定比subnet比較大,subnet要在VPC裡面 一個sub只能綁定一個AZ,一個AZ可以多可subnet 私有ip多為 10.0 、 192.168 、 172 開頭 * P40 VPC 整體架構 NAT gateway有對外連線的能力,但可以保護後端機器不會直接暴露位置 例如,金融單位只會開放給特定ip的白名單,則可以用NAT gateway給金融單位設定,否則機器的ip會一直動態改變很難維護 VPN,讓兩邊私有化的ip可以互相連線,如雲端與地端辦公室。兩邊網段不可重疊。 Peering Connection,雲端內部,假設AWS內有不同VPC,較為複雜,但A部門與B部門希望能連線走內網,則可用Peering Connection。 Flow log,VPC進出連線的日誌。需特別啟用。預設關閉。 * P41 Route 53 整體架構 DNS的服務。 * P42 CloudFront 整體架構 Edge Location AWS在世界各地都有機器,若有服務要供全球使用可能會塞爆伺服器,或較遠端者連線速度較慢。此時若服務對效能獲速度有較高需求,則會把檔案部屬給CDN,CDN會在各地節點複製檔案。則遠端會找離他最近的節點下載 例如,筆電更新的訊息,通常各廠商都會把要更新的檔案會放在CDN的服務,則使用者要下載時服務會較快。 CDN價格較貴。 * Elastic Load Balancer 整體架構 負載平衡器,本身會有一個ip或dns,收到request時可依據規則,派發給背後不同伺服器。對外公告的服務不需要指定哪台特定的VM,否則特定的VM當了服務就中斷了。 另一個優點是,平台的功能的更新,A/Btesting,不會讓使用者同時導到最新的版本。 管理gateway * API Gateway 整體架構 與負載平衡器有類似的概念,做統一接口再分散資源,主要是管理API。 修改時更改路由,不用更改原始API * P45 AWS AI/ML AI Amazon Lex 聊天 Amazon Polly 語音文字互換 Amazon Recogniztion 辨識圖片 訓練模型一直很快在增加 * 架構圖 https://www.figma.com/templates/aws-diagram-software/ draw.io * 預估AWS每月花費 https://calculator.aws/#/ ###### tags: `aws`