初學者指南:深入了解 AWS 虛擬機 (EC2)
更新日期: 2025 年 3 月 4 日
本文為 雲端 基本介紹系列文,第 1 篇:
- 伺服器是什麼?新手入門指南
- IP 是什麼?公開 IP 與內部 IP:深入了解與應用場景解析
- 什麼是部署?初學者的完整指南
- 雲端運算中的網站部署:從 IaaS 到 SaaS 的最佳實踐
- Zeabur 是什麼?新手也能輕鬆上手的 PaaS 平台
- 初學者指南:深入了解 GCP 虛擬機 (Google Cloud Virtual Machines)
- 初學者指南:深入了解 AWS 虛擬機 (EC2) 👈進度
- AWS EC2 與 GCP VM 初學者指南:兩大雲端虛擬機服務的差異詳解
- SSH 連線是什麼?初學者必看的安全連線工具指南
- 什麼是 SCP(安全複製協定):初學者指南
- Google Cloud Command Line Interface (gcloud CLI) 是什麼?新手指南
- 使用 gcloud CLI 進行 SSH 連線的完整指南
在當今的雲端運算時代,Amazon Web Services (AWS) 已成為眾多企業與開發者的首選平台。
而在 AWS 的眾多服務中,虛擬機 (Virtual Machine, VM) 服務 Amazon Elastic Compute Cloud (EC2) 是其中的重要組成部分。
EC2 提供了靈活、可擴展的計算能力,幫助用戶快速部署和管理應用程式。本篇文章將帶領初學者全面了解 AWS EC2,從基礎概念到實際應用,讓你輕鬆上手雲端運算。
什麼是 AWS 虛擬機 (EC2)?
AWS EC2 (Elastic Compute Cloud) 就像是雲端上的電腦,你可以隨時開啟、關閉,根據需要調整它的運行速度、內存大小和儲存空間。
它特別方便的是,你只需要為實際用到的部分付錢,不用像傳統伺服器那樣買一整台硬體,還要維護和升級。
簡單來說,EC2 就是一個可以讓你在雲端輕鬆架設網站、跑應用程式或進行資料處理的虛擬電腦。不管你的需求是小型專案,還是大型企業系統,都能找到合適的方案。
AWS EC2 的特色有哪些?
1️⃣ 彈性調整計算資源
EC2 最大的好處就是「彈性」,你可以根據業務需求隨時調整伺服器的規模。
比如說,你的網站在雙十一購物節流量暴增,可以快速增加伺服器數量來支撐,等活動結束後又能輕鬆縮減,避免浪費成本。
2️⃣ 各種不同的伺服器類型
EC2 提供很多不同配置的伺服器(也叫「實例」),適合不同場景,比如:
- 通用型:適合一般應用程式和網站(如 T 系列:t2, t3)。
- 計算型:適合需要大量 CPU 的應用,比如數據分析、批次處理(如 C 系列:c6i, c7g)。
- 內存型:適合需要大內存的應用,比如數據庫伺服器(如 R 系列:r6g, r7a)。
- 儲存型:適合大數據、頻繁讀寫數據的應用(如 I 系列:i4i)。
- 加速運算型:專門用於機器學習和影像處理,內建 GPU,算力更強(如 P 系列:p4d, G 系列:g5)。
3️⃣ 自定義系統映像 (AMI)
在 EC2 上,你可以選擇 AWS 提供的預設系統,或者自己製作一個「映像」(AMI),這就像是你的電腦安裝好系統和軟體後做的一個備份。
之後需要新伺服器時,可以直接用這個映像快速啟動,免去重複安裝和配置的麻煩。
4️⃣ 高可用性和安全性
EC2 支援在不同地區(Region)和區域 (Availability Zone) 部署伺服器,萬一某個區域出了問題,其他區域還能運作,保證系統的穩定運行。
安全性方面,EC2 提供類似防火牆的「安全組 (Security Group)」,你可以設定哪些 IP 可以訪問你的伺服器,還有虛擬私有雲 (VPC) 幫助你打造專屬的網路環境,數據加密功能也很完善,讓你的資料更安全。
5️⃣ 多種計費模式,節省成本
EC2 的計費很靈活,有多種模式:
- 按需付費:像計程車一樣,用多少付多少,適合短期項目。
- 預留實例:提前預訂資源,換取更低的價格,適合長期使用。
- 節省計劃:根據你承諾的計算資源使用量,提供優惠,適合有固定需求的情況。
- Spot 實例:利用 AWS 的閒置伺服器,價格很便宜,但可能會被中斷,適合彈性高的任務,比如數據分析或測試環境。
如何開始使用 AWS 虛擬機 (EC2)?
如果你是第一次接觸 AWS 虛擬機 (EC2),不用擔心,以下是逐步操作指南,讓你能輕鬆啟動第一個 EC2 實例,並順利連接使用。
創建 AWS 帳戶
首先,前往 AWS 官方網站 註冊一個免費帳戶。
AWS 為新用戶提供 12 個月的免費試用,這期間可以免費使用某些資源,包括 EC2 的 t2.micro 或 t3.micro 實例(每月 750 小時)。
這對於初學者來說是很好的練習機會,尤其是在學習和測試雲端服務時,可以大幅降低成本。
在註冊過程中,你需要提供以下資訊:
- 電子郵件地址:用於帳戶驗證和通知。
- 電話號碼:AWS 會進行簡單的電話驗證。
- 付款資訊:需要綁定信用卡或支付方式,即使是免費試用,AWS 也會進行小額授權驗證(通常是 $1 美金,稍後會退回)。
註冊完成後,你的帳戶會自動啟用 AWS 免費層 (Free Tier) 資源配額,這樣你就可以開始體驗各種 AWS 服務了。
登入 AWS 管理控制台
註冊完成後,使用你的帳戶登入 AWS Management Console。
這是一個基於網頁的操作平台,在這裡你可以訪問和管理所有的 AWS 服務。
- 搜索 EC2 服務:在頂部的搜尋欄輸入「EC2」,然後點擊結果進入 EC2 服務頁面。
- 選擇地區 (Region):確認右上角顯示的地區正確,因為 EC2 實例是在特定地區內啟動的,數據和設定不會自動跨區域同步。選擇靠近你或你的用戶的地區,能夠減少延遲,提高性能。
啟動一個 EC2 實例
在 EC2 服務頁面,你可以看到「啟動實例 (Launch Instance)」的按鈕,點擊後開始配置你的虛擬機。
1️⃣ 選擇 AMI (Amazon Machine Image)
AMI 是你的虛擬機的「模板」,包含了操作系統、應用軟體和初始化設定。
- 常見的操作系統選擇:
- Linux 發行版:如 Amazon Linux 2、Ubuntu、Debian、Red Hat Enterprise Linux 等。
- Windows Server:適合需要運行 Windows 應用或使用 RDP 遠程桌面的場景。
- 選擇免費層適用的 AMI:如果你是新手,建議選擇帶有「免費層 (Free Tier Eligible)」標記的 AMI,避免產生額外費用。
2️⃣ 選擇實例類型
在這一步,你需要根據應用需求選擇實例類型,這裡包含了 CPU、內存、網路帶寬等配置選項。
- t2.micro 或 t3.micro 是免費層可用的實例類型:
- 1 vCPU (虛擬 CPU)
- 1 GB RAM
- 適合小型應用、測試環境和學習使用。
3️⃣ 配置實例詳情
這部分包含一些進階選項,你可以根據需求進行設置:
- 數量 (Number of Instances):通常選擇 1 個實例即可。
- 網絡 (Network):選擇默認的 VPC(虛擬私有雲)或自定義的網絡。
- 子網 (Subnet):選擇實例所處的子網(通常選擇具有公有 IP 的子網,方便外部訪問)。
- 自動分配公有 IP (Auto-assign Public IP):確保選擇「啟用 (Enable)」,否則你無法從互聯網連接到實例。
- 啟動設定 (Advanced Details):初學者通常可以保持默認設置,高級用戶可以設定啟動指令或用於自動化部署的腳本。
4️⃣ 新增儲存空間
在這裡,你可以配置你的虛擬機的硬碟大小和類型:
- 根卷 (Root Volume):建議保留默認大小 (8 GB) 或稍微增加容量。
- 儲存類型:
- 通用 SSD (gp3):適合大多數用途。
- 硬碟 (HDD, st1、sc1):適合大數據處理,但速度較慢。
- 免費層建議:儲存空間總量保持在 30 GB SSD 以內,這樣可以享受免費配額。
5️⃣ 設定安全組 (Security Group)
安全組就像伺服器的防火牆,你可以設置允許哪些流量進出:
- Linux 實例:
- 添加一條規則,允許 SSH(端口 22)訪問。
- 選擇「允許來自所有 IP (0.0.0.0/0)」或設置特定的 IP 地址以提高安全性。
- Windows 實例:
- 允許 RDP(遠程桌面協議,端口 3389)訪問。
- 同樣可以設定特定 IP 範圍,增加安全性。
6️⃣ 啟動實例
- 創建或選擇密鑰對 (Key Pair):
- 密鑰對是一組加密文件 (.pem 或 .ppk),用於安全連接 EC2 實例。
- 如果你沒有密鑰對,AWS 會提示你創建新的,下載後務必妥善保存。
- 確認並啟動實例:
- 完成設置後,點擊「啟動實例 (Launch Instance)」,幾分鐘後你的虛擬機就會啟動完成。
連接到 EC2 實例
一旦實例啟動成功,接下來你就可以連接到你的虛擬機:
1️⃣ 連接 Linux 實例
- 使用 SSH 客戶端 (如 macOS/Linux 終端或 Windows 的 PuTTY) 連接:
ssh -i "你的密鑰對.pem" ec2-user@實例公有 IP
- 設置密鑰權限:
chmod 400 你的密鑰對.pem
- PuTTY 用戶需要將
.pem
文件轉換為.ppk
格式,使用 PuTTYgen 工具完成。
2️⃣ 連接 Windows 實例
- 使用 Windows 的「遠端桌面連接 (Remote Desktop Connection)」:
- 打開 RDP,輸入實例的公有 IP。
- 在 AWS 控制台中獲取實例的登錄密碼 (需要用你的密鑰對解鎖)。
- 輸入用戶名 (通常是「Administrator」) 和解鎖出的密碼,點擊連接。
AWS EC2 的實際應用場景
AWS EC2 是一個靈活且功能強大的雲端計算服務,適合各種業務場景。以下是一些常見的應用場景,以及如何有效利用 EC2 的特性提升業務運行效率。
網站和應用程序托管
EC2 如何幫助網站和應用程式運行?
許多企業選擇將網站和網路應用程序 (Web Application) 部署在 EC2 上,這是因為 EC2 提供了高可用性、彈性擴展以及安全的運行環境。例如:
- 靈活調整資源:當網站流量增加時,可以快速新增 EC2 實例,避免伺服器過載,當流量下降時則自動關閉多餘的實例,節省成本。
- 配合其他 AWS 服務:結合 Elastic Load Balancer (ELB) 和 Auto Scaling,可以實現自動流量分配和動態擴展,保證網站在高負載情況下仍然穩定運行。
- 安全性:透過安全組 (Security Groups) 和虛擬私有雲 (VPC) 設定,防止未經授權的訪問,保護網站數據安全。
- 全球覆蓋:EC2 在全球多個區域 (Region) 提供服務,企業可以將伺服器部署在接近用戶的地點,減少網路延遲,提升用戶體驗。
實際案例
例如,一家電商公司在大型促銷活動期間,可能需要瞬間應對幾倍的流量。
通過 EC2 的 Auto Scaling 功能,可以在流量高峰時自動擴展伺服器數量,結束後再恢復到日常配置,這樣不僅保持了網站的順暢運行,還有效控制了成本。
大數據處理和分析
為什麼大數據處理需要 EC2?
大數據處理通常需要大量的計算資源和儲存空間,而 EC2 的高性能實例(如計算型 C 系列和內存型 R 系列)能夠滿足這樣的需求。
此外,EC2 也能無縫整合其他 AWS 服務,例如:
- 與 S3 (Simple Storage Service) 結合:S3 用於儲存大量原始數據,EC2 負責數據處理,處理結果可以再次存入 S3,實現數據管道的自動化。
- 與 EMR (Elastic MapReduce) 配合:EC2 作為 EMR 集群中的計算節點,適合運行 Hadoop、Spark 等大數據框架,用於數據分析和機器學習模型的訓練。
- 機器學習 (Machine Learning):EC2 提供 GPU 實例 (如 P4、G5 系列),大幅加速機器學習模型的訓練速度。例如,AI 公司可以使用 EC2 訓練影像識別模型,通過深度學習處理大量影像數據。
實際應用場景
一個視頻流媒體平台可能會利用 EC2 進行數據流分析 (Streaming Analytics),即時處理用戶行為數據,通過機器學習模型實時推薦內容,提升用戶觀看體驗。
測試與開發環境
EC2 如何支援開發者?
開發團隊通常需要靈活的伺服器資源來進行應用程式的開發、測試和部署。
EC2 可以讓開發者在幾分鐘內啟動新的實例,建立隔離的開發環境,快速進行測試,而不會影響到生產系統。具體應用包括:
- 開發測試環境 (Development and Test Environments):
- 開發人員可以創建不同的測試環境,用於測試應用程式在不同操作系統和軟體配置下的表現。
- 可以通過 Amazon Machine Image (AMI) 快速部署標準化的環境,例如 LAMP 堆疊、Node.js 伺服器等。
- 持續整合和持續交付 (CI/CD):
- 配合 AWS CodePipeline、Jenkins 或 GitHub Actions 等 CI/CD 工具,EC2 可以用來自動化應用程式的測試和部署過程。
- 在每次提交代碼時,自動啟動 EC2 實例運行測試,確認應用程式無誤後再發布到生產環境。
- 靈活刪除資源:
- 測試完成後,可以輕鬆刪除不需要的 EC2 實例,避免不必要的資源消耗和費用支出。
小技巧:如何節省 EC2 成本?
使用 AWS 免費層
- 適合初學者:EC2 的免費層允許每月 750 小時的 t2.micro 或 t3.micro 實例使用時間,相當於一台伺服器可以全天候運行,非常適合學習和小型應用測試。
- 注意免費層限制:免費層有流量和儲存空間的限制,要避免超出範圍以產生費用。
選擇 Spot 實例
- 什麼是 Spot 實例?
Spot 實例利用 AWS 閒置的計算資源,價格比按需實例低 70% 到 90%。不過這些實例可能會因為資源需求而中斷。 - 適合場景:
- 短期和非關鍵任務:例如數據處理、批次計算、測試環境。
- 具備自動重試能力的應用:如果實例被中斷,可以自動重新啟動,減少影響。
設定自動關機
- 自動關機功能:透過 EC2 Scheduler 或 AWS Lambda 設定實例在非工作時間自動關機,避免忘記關閉伺服器導致資源浪費。
- 應用案例:
- 在晚上或週末自動關閉測試伺服器,每月可以節省大量成本。
- 為開發環境設置自動關機和定時開機,僅在上班時間提供服務,控制費用支出。
結語
AWS EC2 是一個功能強大且靈活的雲端計算服務,初學者透過簡單的步驟即可啟動自己的虛擬機,並應用於各種場景。
隨著經驗的增長,你還可以進一步學習 EC2 進階功能,例如負載平衡 (Elastic Load Balancing)、自動縮放 (Auto Scaling) 及高級網絡配置。
現在就開始體驗 AWS EC2,開啟你的雲端運算之旅吧!