---
# System prepended metadata

title: 雲端平台AWS
tags: [aws]

---

# 雲端平台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當了服務就中斷了。
另一個優點是，平台的功能的更新，Ａ／Ｂtesting，不會讓使用者同時導到最新的版本。
管理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`

