Amazon EC2 是 AWS(Amazon Web Services)提供的一種 可彈性調整的虛擬伺服器服務。
你可以把它想像成「雲端上的電腦」,可以依需求快速建立、啟動、停止或終止。
你可以用 EC2 來:
元素 | 說明 |
---|---|
Instance(實例) | 雲端上的虛擬機(類似你自己的一台電腦) |
AMI(Amazon Machine Image) | 預設的作業系統映像檔,如 Ubuntu、Amazon Linux、Windows |
Instance Type | 指定 CPU、記憶體等硬體配置,如 t3.micro、m5.large |
EBS(Elastic Block Store) | 硬碟(儲存裝置),可掛載到 EC2 上 |
Security Group | 防火牆規則,用來控制哪些 IP 可以連線到 EC2 |
Key Pair | 登入 EC2 的金鑰(SSH 憑證) |
Elastic IP | 靜態 IP,讓 EC2 對外有固定 IP 位址 |
彈性:
安全性:
常見應用場景:
應用類型 | EC2 使用方式 |
---|---|
網站部署 | 架設 Apache/Nginx、部署後端程式 |
資料處理 | 使用 Python、Spark 等跑批次任務 |
軟體開發 | 建立 CI/CD 測試機 |
遊戲伺服器 | 部署 Minecraft、Rust 等遊戲伺服器 |
AI 訓練 | 使用 GPU EC2 instance 訓練模型(如 p3, g4) |
實際操作一下
我們在之前文章建立的VPC內建立一台我們要放置AP的機器,最簡單的方式其實是在public subnet 建立一台Ec2,並給他一個公開的IP,但這樣其實是不安全的,網際網路的用戶都可以搜尋的到你的ec2,如果SG沒有設定好,可能就導致你的EC2被惡意的攻擊,為了資安,可靠性的考量,通常會將EC2 建置在私有的子網路,並透過AWS ALB/NLB 來讓外部使用者可以呼叫。
小補充:
在 AWS 中,ALB(Application Load Balancer) 和 NLB(Network Load Balancer) 都是 Elastic Load Balancing(ELB) 的兩種類型,用來幫你分流流量到多個目標(例如 EC2 實例、容器、IP 等),提升可用性與擴展性。
ALB vs NLB 快速比較表
項目 | ALB(Application Load Balancer) | NLB(Network Load Balancer) |
---|---|---|
層級 | 第 7 層(應用層) | 第 4 層(傳輸層) |
分流方式 | 根據 HTTP(S) 請求的 URL、Header、Path、Host 等 | 根據 IP 位址和 TCP/UDP port |
支援協議 | HTTP、HTTPS、gRPC、WebSocket | TCP、TLS(SSL)、UDP |
整合 WAF | 支援 AWS WAF | 不支援 |
進入AWS EC2 畫面,會發現畫面上會有非常多不同的 IMAGES 可以選擇,涵蓋了市面上大部分的OS,如果預設的沒有也可以在Marketplace 進行訂閱,你後續假如ec2 安裝好,你想要做成AMI在其他地方使用或是要當成備份使用,也可以在這個畫面選擇到。
建議先選擇 Amazon Linux,預設裡面已經裝好AWS cli等套件,後續實驗起來會比較方便。
在instance type 可以選擇你要多少的機器大小(運算資源),在AWS 運算資源都是搭配好的,依照型號(t、r、c、m)不同而有不同的比例,無法說今天MEM 要多1GB,或是 CPU要多 0.5 CORE 。
執行個體類型 | 系列代號 | 主要應用場景 | 特點 |
---|---|---|---|
通用型 (General Purpose) | T 系列 (T3, T4g) | 網站、開發測試環境、微服務 | 成本效益高,適用於工作負載不穩定且可突增的應用程式。 |
M 系列 (M5, M6i) | 中型資料庫、Web 伺服器、企業應用程式 | 提供處理器、記憶體和網路資源的平衡,適合大多數常見工作負載。 | |
運算最佳化型 (Compute Optimized) | C 系列 (C6i, C7g) | 高效能運算 (HPC)、媒體轉碼、科學建模 | 高 CPU 核心數,適合需要大量運算能力的任務。 |
記憶體最佳化型 (Memory Optimized) | R 系列 (R6g, R6i) | 高效能資料庫、記憶體中的快取 (Redis) | 擁有高記憶體與 CPU 比例,適合處理大型資料集的應用。 |
X 系列 (X2idn) | 大型記憶體資料庫 (如 SAP HANA) | 提供極高的記憶體容量,適用於企業級大型應用程式。 | |
儲存最佳化型 (Storage Optimized) | I 系列 (I4i) | NoSQL 資料庫、資料倉儲、搜尋引擎 | 高速、低延遲的 SSD 本地儲存,適合需要高 I/O 吞吐量的應用。 |
D 系列 (D2) | 大數據分析、資料倉儲 | 提供大量 HDD 本地儲存,適用於高吞吐量的循序讀寫工作。 | |
加速運算型 (Accelerated Computing) | P 系列 (P4d) | 機器學習、深度學習、HPC | 內建 GPU,適用於需要大量平行運算的任務。 |
G 系列 (G5) | 遊戲串流、圖形渲染、機器學習 | 內建 GPU,特別適合圖形處理和機器學習推論。 |
Key pair:
之後你要透過RDP(windows) 或是 ssh (linux),存取的時候都要使用到這個Key。
在networking 可以設定這台ec2 要放在哪個網段,之前有提到 架構上都會建議,將AP ,DB 放置在private subnet ,透過這樣的機制提高資安的安全性。Security Group 的部分也會建議每台ec2 單獨建立一個SG,或者是依照功能來劃分SG,後續可以設定 SG 對 SG的防火牆規則提高安全性。
設定完後就成功於 AWS 建立第一台屬於你自己的ec2。