--- tags: AWS --- # AWS 快速上手營 ## $$ 變少 Power Usage Effectiveness(PUE),電力使用效率,PUE 值越低,代表機房空調冷卻時所耗的電力就會更少。 AWS 自己客製化硬體,將供電抽出共用,增加散熱降低 PUE 以減少成本。 ## Infra 可以透過 https://infrastructure.aws/ 看一下目前 infra 的狀況。Region 之間是可以互通的,但~~中國不通~~。 Availability Zone(AZ) 間可溝通,多個 AZ 組成一個 Region,當一個 AZ 炸時,其他可以繼續服務,不怕漏資料。 ![](https://i.imgur.com/oXFkKun.png) 台灣有節點 Content Delivery Network,做緩存作用,降低 latency,所以在取資料時並不會覺得太久。 ![](https://i.imgur.com/1pQTJwp.png) https://www.cloudping.info/ 可以看到 ping 到各 region 的 latency 有多少,通常越近的 region 會最低,但 latency 並不是唯一的考量,也會需要考慮到 $$,像是亞洲的電費較貴,所以費用較貴。若很重視 latency,也可開發時使用美國,部署時使用日本、香港等等。 總結一下一個選擇 Region 的考量: - 資料控管、法規要求 - Latency - 該 Region 提供的可用服務,有些冷門或新的服務可能只有美國有 - 成本 $$$ ## Cloud Computing Models Amazon 比較著重在 IaaS 與 PaaS,SaaS 交給他的客戶們來做。 Netflix 之前他們有自己的 Data center,壞了好幾次之後不爽,就 all in AWS。 ### IaaS Infrastructure as a Service ### PaaS Platform as a Service ### SaaS Software as a Service ## 互動動起來 - Console - CLI - SDK 功能最齊全,想不到吧 ## Identity and Access Management, IAM ![](https://i.imgur.com/Jrizyy2.png) 根據 IAM policy(JSON 格式) 不同,有不同的權限,給權限時應該權限最小化,不該給的別亂給。 [IAM 的免費課程](https://amazon.qwiklabs.com/focuses/10408?catalog_rank=%7B%22rank%22%3A1%2C%22num_filters%22%3A0%2C%22has_search%22%3Atrue%7D&parent=catalog&search_id=7715976) Inline policy 內嵌政策,只能指派給一個 user 或 group 的 policy。 建議: - 刪除 root account 的存取金耀(root account 通常是以 Email 登入,付錢的那個大大) - 建立 IAM user,使用 IAM 登入資料與 AWS 互動 - 給予管理員存取權 - 啟用 MFA 多重認證 ## S3 - Simple Storage Service - 開山祖師爺,第一個服務 - 以物件形式存放在 bucket - 單一檔案限制 5TB,總體無上限,有錢都行 - 如果超過 100MB,建議[分段上傳](https://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html) - [$$ 在這裡](https://aws.amazon.com/tw/s3/pricing/?nc=sn&loc=4),根據不同的檔案類型有不同的計價方式 ![](https://i.imgur.com/xuKog8n.png) - Standard:Default,但最貴 - Standard IA:Infrequent but rapid access,儲存費用較便宜,傳輸便宜較貴 - One Zone IA: - Amazon Glacier / Deep Archive S3 **object lifecycle policies** 可以設定多少時間後該 object 放在不同的 storage tier。 S3 在安全性及便利性中做取捨,選擇了安全性,所以 Object 上傳預設都是 private 的,若要轉為 public 供他人讀取,需要額外做一些設定。 [S3 的免費課程](https://amazon.qwiklabs.com/focuses/11776?catalog_rank=%7B%22rank%22%3A1%2C%22num_filters%22%3A0%2C%22has_search%22%3Atrue%7D&parent=catalog&search_id=7717361) ## EC2 - Elastic Compute Cloud - 高彈性 - 可以選擇想要的硬體規格 - 起 EC2 預設會順便起一個 8G 的 Elastic Block Store(EBS) - Stopped 的狀態 EC2 不用付錢,但 EBS 還是要付,要省錢可以把 EBS 建立 snapshot 存到 S3,就可以把 EC2 刪掉 - AZ 壞了就會跟著壞,需要做額外保護措施,避免單點故障,可以在多個 AZ 部署,但 client 如何知道要連哪一個節點?所以會需要在多一層 ELB 來託管 - 可搭配 auto scaling group 來承受突然增加的 requests ## VPC - Virtual Private Cloud - 切網路 - 選 VPC 就相當於選了哪個 AZ,可以選擇 public 或 private ## ELB - 具擴張性 - 避免 EC2 單點故障 - client 與 ELB 溝通,ELB 再與底下的 EC2 做溝通,也有 health check 功能