@@ -12,67 +12,126 @@ Amazon Web Services(AWS)是一個由 Amazon 提供的雲端運算平台,
1212## AWS 基礎設施
1313### Region & AZ
1414
15- AWS 的基礎設施由多個 ` Region(區域) ` 與 ` Availability Zone(可用區) ` 組成。
16- Region 是地理上的資料中心區域(例如 ap-northeast-1 東京、us-east-1 維吉尼亞),每個 Region 彼此獨立,可用於資料隔離與降低延遲。
15+ AWS 的基礎設施由多個 ` Region(區域) ` 與 ` Availability Zone(可用區) ` 組成。
1716
18- 每個 Region 內包含多個 Availability Zone(AZ),每個 AZ 由一個或多個(最多6個)獨立資料中心構成,具備獨立的電力、網路與冷卻系統。AZ 之間透過高速網路連接,但彼此隔離,可提升系統的高可用性與容錯能力。
17+ ` Region ` 是地理上的資料中心區域(例如 ap-northeast-1 東京、us-east-1 維吉尼亞),每個 Region 彼此獨立,可用於資料隔離與降低延遲。
18+
19+ 每個 Region 內包含多個 ` Availability Zone(AZ) ` ,每個 AZ 由一個或多個(最多6個)獨立資料中心構成,具備獨立的電力、網路與冷卻系統。AZ 之間透過高速網路連接,但彼此隔離,可提升系統的高可用性與容錯能力。
1920
2021在實務應用中,服務通常會部署於多個 AZ,以避免單一資料中心故障導致系統中斷;而跨 Region 部署則可進一步提升災難復原能力與全球服務效能。
2122
2223## 如何使用 AWS
2324### AWS CLI
2425
25- ::: {.callout-tip collapse="true"}
26- ## 如何獲取 access key
27-
28- :::
26+ AWS 提供的` 命令列工具 ` ,讓使用者可透過終端機直接操作各種 AWS 服務(如 EC2、S3、IAM),用於自動化部署、資源管理與腳本化操作。
2927
3028### AWS SDK
3129
30+ AWS 提供的` 程式開發套件 ` ,讓開發者可以在應用程式中(如 Python、Java、JavaScript)直接呼叫 AWS 服務 API(如 EC2、S3、DynamoDB),用於建構雲端應用與服務整合。
31+
3232### AWS cloudshell
3333
34+ 由 AWS 提供的` 瀏覽器內建終端機環境 ` ,已預先安裝 AWS CLI 並自動配置使用者憑證,讓你無需本地安裝即可直接管理 AWS 資源。
35+
36+ ::: {.callout-important}
37+ 適合臨時操作與學習使用,但不建議用於長期自動化或正式部署流程;正式環境應使用本地 CLI、CI/CD pipeline 或 Infrastructure as Code 工具(如 CloudFormation / Terraform)。
38+ :::
39+
3440## 如何設定預算通知
3541### AWS budget
3642
43+ 成本管理工具,用來設定預算(如每月費用或用量),並在接近或超過預算時發送通知,協助監控與控制雲端支出。
44+
3745---
3846
3947# IAM
4048
4149## IAM users
4250
51+ 提供的身分管理機制,用來建立` 個別使用者帳號 ` ,並透過權限政策(Policy)控制其可存取的 AWS 資源與操作。
52+
4353## IAM groups
4454
55+ 用來將` 多個 IAM Users ` 集中管理的群組機制,透過將權限政策套用在群組上,讓使用者自動繼承相同權限。
56+
57+ ::: {.callout-important}
58+ 建議以角色或職責(如 Admin、Developer)建立群組,而非逐一指派使用者權限,以提升管理效率與一致性。
59+ :::
60+
4561## IAM policies
4662
63+ 定義在 AWS 中 ` 允許或拒絕存取資源的權限 ` 的` 文件(JSON 格式) ` ,可套用於 User、Group 或 Role。
64+
65+ ::: {.callout-important}
66+ 應遵循 最小權限原則(Least Privilege),只授予必要操作權限,避免使用過度寬鬆的 * 權限。
67+ :::
68+
4769## IAM role
4870
71+ 一種不屬於特定使用者的身分,` 允許服務或使用者「暫時取得權限」 ` 來` 存取 AWS 資源 ` (透過 STS)。
72+
73+ ::: {.callout-important}
74+ 應優先使用 Role(如 EC2 Role、Lambda Role)取代長期金鑰(Access Key),以提升安全性並避免憑證外洩風險。
75+ :::
76+
4977## IAM security tools
5078
79+ 一組用於強化帳號與權限安全的工具,例如 IAM Access Analyzer、Credential Report、Password Policy 等。
80+
5181## MFA
5282
83+ ` Multi-Factor Authentication 多重驗證機制 ` ,在登入時除了密碼外,需額外提供一次性驗證碼(如手機 App),以提升帳號安全性。
84+
5385---
5486
5587# EC2
5688
5789## EC2 instance
5890
91+ 虛擬伺服器(VM),可用於部署應用程式、網站或運算任務,並可依需求調整 CPU、記憶體與儲存資源。
92+
5993## Security group
6094
95+ 一種作用在 ` EC2 上的虛擬防火牆 ` ,用來控制進出流量(inbound / outbound),僅允許符合規則的連線。
96+
6197## SSH EC2
6298
99+ ` 透過 SSH(Secure Shell) ` 協定遠端` 登入 EC2 instance ` (通常為 Linux),以進行系統管理與部署操作。
100+
63101## Spot instance
64102
103+ 一種使用 AWS 閒置運算資源的` 低價 EC2 ` ,價格通常可比 On-Demand 便宜 70–90%,但` 可能隨時被中斷 ` 。
104+
65105## Private IP & Public IP
66106
107+ EC2 會同時擁有私有 IP(VPC 內通訊)與公有 IP(對外網路),用於區分內部與外部連線。
108+
67109::: {.callout-tip collapse="true"}
68110## IPv4 & IPv6
69111
112+ IPv4 為傳統 32-bit 位址(如 192.168.x.x),數量有限;IPv6 為 128-bit 位址(如 2001:db8::),可提供幾乎無限的 IP 空間。
70113:::
71114
72115## Elastic IP
73116
117+ 一個可靜態綁定與快速重新指派的公用 IPv4 位址,用來確保服務在實例重啟或更換時仍能維持固定對外 IP,一個帳號最多 5 個。
118+
119+ ::: {.callout-important}
120+ 通常不建議使用,被視為不佳的架構(tight coupling)。
121+ 應優先使用 Load Balancer(如 ALB/NLB) 或 DNS(如 Route 53) 來實現高可用與彈性擴展。
122+ :::
123+
74124## EC2 Placement groups
75125
126+ 控制多個執行個體(instances)在實體硬體上的部署方式,以優化網路延遲、頻寬或提升高可用性的分組機制。
127+
128+ | 類型 | 說明 | 特色 | 適合用途 |
129+ | ------------- | --------------------- | ----------- | ---------------------- |
130+ | ** Cluster** | 把 instance 放在同一個機架或區域 | 低延遲、高頻寬 | HPC、即時運算 |
131+ | ** Spread** | instance 分散到不同硬體 | 高可用性、避免同時故障 | 關鍵服務、小型系統 |
132+ | ** Partition** | 分成多個 partition(不同硬體群) | 隔離風險、可擴展 | 大型分散系統(如 Hadoop、Kafka) |
133+
134+
76135
77136
78137
0 commit comments