【AWS】Day 6:運算服務 - Amazon EC2(虛擬機服務)

在前幾篇中,我們介紹了各種運算服務的分類方式,像是 IaaS、PaaS、FaaS 等等。

今天就從 AWS 中最經典、最基礎的 IaaS 服務開始介紹 —— Amazon EC2(Elastic Compute Cloud)

這個服務幾乎是所有 AWS 使用者早期接觸雲端的第一站,也是許多架構的基石。


什麼是 EC2?

EC2 就是一台 雲端的虛擬機器(Virtual Machine)

可以想像成你在資料中心租了一台電腦,你可以選擇要用 Linux 還是 Windows,要幾核心、幾 GB 記憶體,要多大的硬碟,要不要固定 IP……這些你都可以自己決定。

建立 EC2 之後,就能連進去安裝軟體、跑應用、開 Web Server、跑排程、架設資料庫……什麼都行。


EC2 的核心概念

1️⃣ Instance(執行個體)

每一台 EC2 就是一個 Instance,你可以開很多個、關掉它、重新啟動,甚至做 snapshot 備份。

2️⃣ AMI(Amazon Machine Image)

AMI 是一種映像檔,可以理解成 EC2 的「作業系統+預設環境」模板。
常見的 AMI 包含:

3️⃣ Instance Type(機型)

AWS 提供各種 instance type 給你選擇,依照用途分類,例如:

類型代號 用途 代表型號
t 系列 一般型、低成本 t3.micro、t4g.nano
m 系列 平衡型 m6i.large
c 系列 計算密集型 c7g.medium
r 系列 記憶體密集型 r6g.large
g 系列 GPU 運算型 g5.xlarge

建立 EC2 的流程簡介

  1. 選擇 AMI:決定你要用哪一種作業系統

  2. 選擇 Instance Type:例如 t3.micro(免費方案支援)

  3. 設定 Key Pair:建立 SSH 金鑰,用來連線 EC2

  4. 設定 Network(VPC)與 Security Group(防火牆)

  5. 設定磁碟(EBS)大小

  6. 啟動 EC2!

完成後你會拿到一組 Public IP,就可以用 SSH 連進去使用了。


價格與計費方式

EC2 的價格組成會根據幾個項目決定:

項目 說明
Instance Type 不同型號每小時價格不同
計費模式 On-Demand / Spot / Reserved
使用時間 每秒或每小時計費
是否有附加儲存 EBS 空間也另外計費
傳輸流量 Outbound(出站)會收費

EC2 的使用情境

EC2 適合用在哪些情況呢?以下列舉幾個常見案例:


小結

EC2 是 AWS 中最基礎的運算服務,具備極大的彈性與控制權:


EC2 進階篇:實戰操作與進階應用

在上一篇我們介紹了 EC2 的基本觀念與用途,這篇會帶大家進一步實作:


一、登入 EC2 實例(Linux)

當你啟動好一台 EC2 Linux 實例後,登入方式如下:

✅ 準備工作

💻 登入指令

chmod 400 my-key.pem
ssh -i my-key.pem ec2-user@<你的 Public IP>

不同 AMI 登入帳號不同:

  • Amazon Linux 用 ec2-user

  • Ubuntu 用 ubuntu

  • Debian 用 admindebian


二、開放 HTTP / HTTPS 連線

如果你要讓外部可以訪問你的 EC2,例如跑 Web server,需要設定 Security Group

✅ 開啟常見 port:

操作步驟:

  1. 到 EC2 頁面點選「Security Group」

  2. 找到你 EC2 所使用的 security group

  3. 編輯「Inbound rules」

  4. 新增:

    • 類型:HTTP、HTTPS

    • 來源:0.0.0.0/0(所有人都可以連)或限制特定 IP


三、設定開機後自動執行程式(User Data)

你可以在建立 EC2 時加入 User Data,當機器第一次啟動時會自動執行這段腳本。

範例:自動安裝 Nginx 並啟動 Web Server

#!/bin/bash
yum update -y
yum install -y nginx
systemctl enable nginx
systemctl start nginx
echo "Hello from EC2!" > /usr/share/nginx/html/index.html

✅ 注意:User Data 只能在 EC2 首次啟動時執行一次
✅ 如果想修改已存在的 User Data,需要重新建立新的 EC2 或自己寫開機指令。


四、設定 Auto Scaling Group(自動擴展)

Auto Scaling 是 EC2 強大的特點之一,可以根據負載自動增減 EC2 數量。

使用場景:

建立流程簡略:

  1. 建立一個 Launch Template(定義要開什麼樣的 EC2)

  2. 設定 Auto Scaling Group:

    • 定義最小 / 最大 EC2 數量

    • 設定 Scaling Policy(例如 CPU > 60% 時新增 1 台)

  3. 可結合 Load Balancer,讓所有流量平均分配到所有 EC2 上


五、備份與還原

EC2 本身不會自動備份,要使用以下方式保護資料:

快照(Snapshot)

建立 AMI


小結

這篇進階實作帶你實際操作 EC2,包括:

EC2 的強大在於它的彈性與可控性,從個人專案到大型分散式系統,都能發揮作用。


下一篇,我們將來看看如果你不想自己處理作業系統、網路設定、磁碟掛載這些瑣事時,AWS 有沒有更輕鬆的方案?
Day 7:Elastic Beanstalk - 全自動部署的神隊友!,我們不見不散!


修訂版本 #2
由 treeman 建立於 25 | 2025 18:36:52
由 treeman 更新於 25 | 2025 18:42:29