---
# System prepended metadata

title: AWS 快速上手營
tags: [AWS]

---

---
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 功能