Architecting on AWS 筆記:基礎設施
28 Apr 2022AWS Module 架構
概覽 AWS Module 架構,如圖 1。
圖 1:AWS module 架構圖
基礎設施
基礎設施包含 data center、AZ、region、local zone (可參考圖 2) 與 edge location (圖 3)。
圖 2:data center、AZ、region、local zone 的關係
定義分述如下。
- Data Center
- 機房,放置 server,是 AWS 基礎建設的最小單位。
- 使用者無法選要在哪一個 data center。
- Availability Zone (簡稱 AZ,可用區域)
- AZ 是 data center 的群組,由 2 ~ 3 個 data center 組成一個 AZ。
- 在某些服務中,使用者可選 AZ,是使用者所能選的最小單位。例如:特定服務像是 EC2 服務會詢問使用者要選放在哪一個 AZ。
- Region (地區)
- 一個 region 會有多個 AZ,使用者可選要在哪個 region。
- 某些 region 是不能選到的,例如:GovCloud 是美國政府專用、北京和寧夏的 region 是中國當地設備廠商專用。
- 選區域的原則:大多根據以下四個需求來決定選哪一個 region。
- 法規、合規性 (governance):資料無法分享到國外,就只能選自己國內的 resgion。
- 延遲 (latency):離客戶愈近愈好,就要選離客戶近的 region。
- AWS 的服務無法不見得都支援世界各地 (service availability),例如:新出的服務不會馬上上線到世界各地的 region,必須考量負載量、穩定性等。
- 成本 (cost):EC2 VM 在各個 region 的計價是相同的,但不同 region 的牌價 (法規、稅) 可能是不同的,例如 $0.01/秒 vs $0.03/秒的差異。
- Local Zone
- 位於市中心的機房,更貼近使用者實體距離的基礎設施。
- 一般 region 都會在郊區,導致 latency 較多;local zone 在市中心,可減少 latency。
- 使用者可選到 (from version 7.0)。
- Edge Location (邊緣節點、邊際節點,可參考下圖 3)
- Edge Location 是類似 CDN 的概念,目的是為了更快速回應使用者,而和合作夥伴借用機房放置靜態資源的快取,而不是 AWS 自己蓋的機房,以節省使用者含二次使用後的 lantency。
- CloudFront 即是使用 edge location 的技術。
- 例如:把前端的打包後的靜態檔案放在 S3 bucket,然後建立一個 distribution,選擇來源為剛剛在 S3 的建立的 bucket 的 ARN 即可關聯起來。再設定 S3 的權限設定為公開,預設指向
index.html
,可參考這裡。 - 更多資訊-低延遲內容交付網路 (CDN) – Amazon CloudFront – Amazon Web Services。
- 例如:把前端的打包後的靜態檔案放在 S3 bucket,然後建立一個 distribution,選擇來源為剛剛在 S3 的建立的 bucket 的 ARN 即可關聯起來。再設定 S3 的權限設定為公開,預設指向
圖 3:edge location (來源:Amazon CloudFront 內容交付網路的主要特色)
Local Zone 與 Edge Location 比較表
Local Zone | Edge Location | |
---|---|---|
目的 | 降低延遲 | 快取 |
應用 | 本地資料處理 | 快速提供文件內容 |
優點 | 一致的 AWS 體驗 | 較佳的使用者體驗 |
建立 Amazon EC2
Elastic Compute Cloud (EC2) 是可調整大小的雲端運算。
建立 Amazon EC2 的方法有三種
- Management Console
- Command Line Interface (CLI)
- CloudFormation:CloudFormation 是一種基礎設施即程式碼 (IaC) 服務,讓開發者對 AWS 和第三方資源進行建模、佈建和管理。