[AWS] AWSome Day Online Conference
前言
AWSome Day是由官方所舉辦AWS Cloud的免費培訓課程,今年因為疫情的關係不同以往,採用Online Conference的方式,課程中會有專業講師將會深入淺出地以實作示範帶大家了解AWS的核心服務。
課程安排
其中課程講解內容會包括:
- 運算(Compute)
- 儲存(Storage)
- 資料庫(Database)
- 網路(Networking)
- AWS 資安、身份及訪問管理(Security)
- AWS 資料庫(Database)
- 大數據和機器學習(Big Data & Machine Learning)
- AWS 擴展及管理工具
課程前面會提及AWS的歷史、益處還有概略說一下架構
上面的圖片可以看到左邊是傳統可能在地端會使用的工具或服務,AWS也有提供相對應功能的雲服務。
以Security來說,公司的防火牆(Firewalls) 對應到AWS的服務叫做Security Group,權限管理(Administraors)的部分則是使用AWS IAM
另外補充一下AWS常見服務
- AWS Route53: AWS的DNS服務。
- AWS Cloudfront: 是AWS Edge location上的一個服務,類似CDN,加速網路交付的內容。
AWS的全球基礎建設(AWS Global Infrastructure)
可以參考我之前寫過的一篇
AWS 核心服務
接著是討論AWS幾個比較重要且常見的核心服務
計算方面
EC2
雲端上的虛擬機(Virtual Machine),創建EC2可以客製化不同的規格,例如選擇AMI(看要哪種作業系統)、規格(CPU、Memory、Storage)、配置網路(IP address, security groups、key pair)等,操作流程可參考我之前寫的[AWS] 用SSH連接EC2
EC2其中一個好處是自動擴展,可以依需求做Scale In/Scale Out,也就是會依照所需流量調整EC2的多寡,做有效的資源利用。
EC2的計費方式有很多種
AWS Serverless Service
Serverless為無伺服器的服務
Lambda
採用Event Trigger,依據code的內容去執行,未執行即showdown,AWS推出Lambda並非用來取代EC2,Lambda也有其限制,EC2還是有自己的市場。
優點:
- 省去管理Server的成本
- 只有被trigger才會計費
流程
範例
VPC
每個Region都有預設的VPC
App Server
混合雲架構 DB從AWS Gateway來連接客戶的網路
AWS 的儲存服務
S3
儲存空間無上限
耐久性高,預估是99.999999999%
object storage的形式儲存,可儲存多種不同形式的資料,如:
- Application file
- Media
結構
Bucket類似folder
object類似檔案
S3屬於託管的服務,不需要花心思在維護上,如:故障
原因
放在Region中跨AZ,需要該Region的所有AZ都故障才可能會使資料遺失 => 保存三個以上的備份
Region內有多個Region AZ
安全性
設置Bucket policy,來做權限控管。
Versioning
保留紀錄,預設是關閉的(因為要另外儲存使用紀錄,造成額外費用)
S3 等級
迎合不同屬性的資料分不同的等級(Class),主要下方三者
考量點:
performance、Accessibility
LifeCycle Policy
節省管理時間、有效控制成本
Bucket Name必須是Global Unique,
Demo
選lifecycle
EBS(Elastic Block Store)
儲存作業系統、應用程式類似本地的硬碟,冗餘(redundant)備份是在一個AZ
EBS與EC2兩者的lifecycle可以分開,看個人設定。好比把電腦硬碟拔下來,裝在別台電腦上
AWS資安
相關的安全合規: AWS Artifact
共同責任模型(Shared Responsibility Model)
AWS與客戶之間的責任歸屬,會依選擇的服務不同,承擔的責任界線(圖片中的虛線)會跟著改變,如EC2,使用者要負責的地方就多一些。
這個模型是相當重要的,這會關係到問題發生時,判斷責任歸屬很重要的依據,而這在AWS Certificate也是幾乎必考,權重占比較多的重點考題。
範例模型
- SSL 傳送資料
- IAM驗證
- Cloudtrail: 監控API使用的情形
Multi-Tier Security Groups(多層的Security Groups)
兩種SG,決定Server要採哪種方式連接
- HTTP
- Bastion Host: 俗稱跳板機
IAM
主要做認證與授權
認證方式:
- Console
- CLI
- SDK API
User
個別使用者
Group
可以將擁有相同權限的User
Policies
- 採JSON格式
- 用於assign給Users、Groups或Roles
- 用於assign給Roles
Roles
Role裡面放的是AWS的資源,可以attach不同的policy
IAM Role會發有時效性的Token,S3 Service
User、Group做驗證(你是誰),Policies做授權(你可以做什麼)
Best Practice
- Delete AWS root account access keys
- Activate multi-factor authentication (MFA):
雙重認證,如綁定其他的軟體,輸入驗證碼。 - Only give IAM users permissions they need:
即最小權限原則 => principle of least privilege - Use roles for applications
官方提供的IAM最佳實踐
辨認是root account還是IAM User
登入方式是否用AcoountID
AWS Database服務
RDS(Relational Database Service)
為何要使用RDS?
RDS是託管的服務
- 自動備份(Multi AZ、可跨Region)
- 穩定性高(跨AZ 做備份)
RDS會綁定VPC
DynamoDB
AWS NoSQL的資料庫
Aurora
AWS 基於自己的平台上開發的,可與MySQL、PostgreSQL兩種DB
HA架構: 跨AZ做replica
Aurora Serverless
Aurora新推出的無伺服器服務
AWS 跨入AI領域
- Amazon Go
- 無人機
- 推薦系統
- 物流
- 智慧音箱
Amazon Fraud Detector : 偵測詐騙問題
AI的難題
- 大量的資料
- 訓練模型:要用哪種演算法?如何去tune trainning model
- 評估預測結果
SageMaker
ML的託管平台
Prepare、Build、Train & Tune 、Deploy & Manage
AWS 擴展/管理工具
Use Case
ELB(附載均衡器)
可用於多個目標 (例如 Amazon EC2 instance、IP Address) 之間自動分配傳入的應用程式流量,而客戶(Client)端與ELB溝通時,會透過DNS。另外在創建ELB時,可在單一或跨AZ,處理應用程式的流量。
- 可作健康偵測(確保資料派送給非故障的EC2)
- 分散流量
Auto Scaling
- 自動調整EC2的容量
- 透過CloudWatch來判定EC2要Scale In或scale Out(監控CPU使用量)
- 透過Scheduling,事先規劃(Scheduled Event)
AWS CloudWatch
架構
ELB+Auto Scaling+CloudWatch的組合
AWS Trusted Advisor
提供最佳實踐的建議,可以看到的服務多寡會跟Support Plane level有關
- Cost optimization
- Security
- Fault tolerance
- Performance improvement.
以上圖片多數取自於官方投影片