WeHelp
AWS (Amazon Web Services) 是全球最大的雲端運算平台,提供超過 200 種功能完整的隨選即用服務。
  1. 簡介 AWS 雲端服務
  2. AWS 會員帳戶註冊
  3. AWS EC2 伺服器
  4. SSH 遠端管理
  5. FastAPI 網站應用
  6. Node Express 網站應用
  7. PHP Laravel 網站應用
AWS EC2 伺服器
## 一、AWS EC2 簡介 Amazon EC2(Elastic Compute Cloud)是 AWS 提供的雲端虛擬伺服器服務。你可以在幾分鐘內建立一台伺服器,選擇: - **作業系統**:Ubuntu、Amazon Linux、Windows Server 等 - **CPU 與記憶體規格**:例如 `t3.micro` - **磁碟容量**:使用 EBS 磁碟 - **網路與防火牆規則** - **是否配置固定公有 IP** - **是否自動擴充或負載平衡** EC2 本質上是虛擬機器執行個體(Instance),不是實體硬體伺服器。AWS 會負責底層硬體、機房及虛擬化環境,你則負責作業系統、套件、服務與安全設定。 --- ## 二、建立 Ubuntu EC2 伺服器前的準備 建議先準備以下資料: 1. AWS 帳號 2. 選擇 AWS Region,例如: - `Asia Pacific (Tokyo)` - `Asia Pacific (Singapore)` - `Asia Pacific (Hong Kong)` 3. 一個 SSH Key Pair,用來登入 Ubuntu 4. 了解預計開放的服務,例如: - SSH:TCP `22` - HTTP:TCP `80` - HTTPS:TCP `443` > 注意:EC2、EBS 磁碟、公有 IPv4 位址、流量及其他資源可能產生費用。建立前請確認 AWS 定價及 Free Tier 條件。 --- ## 三、透過 AWS Console 建立 Ubuntu EC2 ### 1. 登入 EC2 管理頁面 1. 登入 [AWS Management Console](https://console.aws.amazon.com/) 2. 在服務搜尋列輸入 **EC2** 3. 進入 **EC2 Dashboard** 4. 確認右上角 Region 是你要使用的區域 --- ### 2. 開始建立 Instance 在 EC2 頁面按下: **Instances → Launch instances** 部分新版介面可能直接顯示 **Launch instance**。 --- ### 3. 設定 Instance 名稱 在 **Name and tags** 區域輸入名稱,例如: ```text ubuntu-web-server ``` 這只是識別名稱,不會影響伺服器功能。 --- ### 4. 選擇 Ubuntu 映像檔 在 **Application and OS Images(Amazon Machine Image)** 區域: 1. 選擇 **Ubuntu** 2. 使用官方 Ubuntu Server AMI 3. 建議選擇: - Ubuntu Server 24.04 LTS,或 - Ubuntu Server 22.04 LTS 4. 確認架構通常選擇 **64-bit (x86)** 如果選用 ARM 型執行個體,例如 `t4g`,則應選擇 **64-bit (Arm)** 映像檔。 > 請使用 Ubuntu 官方映像檔,並確認顯示為 AWS Verified 或官方來源。 --- ### 5. 選擇 Instance Type 在 **Instance type** 選擇伺服器規格。 入門測試可考慮: ```text t3.micro ``` 或在符合條件時使用: ```text t2.micro ``` 常見選擇: | 類型 | 適用情境 | |---|---| | `t3.micro` | 測試、個人網站、輕量服務 | | `t3.small` | 較多記憶體需求 | | `t3.medium` | 中小型應用程式 | | `m7i`、`m6i` | 一般正式應用伺服器 | | `c7i`、`c6i` | CPU 密集型工作 | | `r7i`、`r6i` | 記憶體密集型工作 | 選擇規格時要考慮 CPU、RAM、網路效能及價格。 --- ### 6. 建立或選擇 Key Pair 在 **Key pair (login)** 區域: 1. 按 **Create new key pair** 2. 輸入名稱,例如: ```text ubuntu-server-key ``` 3. Key pair type 選擇: - `ED25519`:現代 Linux 登入常用 - `RSA`:相容性較廣 4. Private key file format: - `.pem`:Linux、macOS、Windows OpenSSH 常用 - `.ppk`:PuTTY 使用 5. 按 **Create key pair** 瀏覽器會下載私鑰檔案,例如: ```text ubuntu-server-key.pem ``` 請妥善保存。AWS 不會再次提供相同私鑰,遺失後通常無法直接使用它登入該伺服器。 在 Linux 或 macOS 上建議執行: ```bash chmod 400 ubuntu-server-key.pem ``` --- ### 7. 設定網路與 Security Group 在 **Network settings** 區域,可以選擇: - VPC - Subnet - Auto-assign Public IP - Security Group 入門情境通常可使用預設 VPC,但正式環境建議使用自行規劃的 VPC 和 Private Subnet。 #### Security Group 設定 勾選或新增: ```text Allow SSH traffic ``` SSH 來源建議選: ```text My IP ``` 這只允許目前你的公有 IP 登入,比允許所有來源安全。 不要輕易設定為: ```text 0.0.0.0/0 ``` 因為這代表全世界都可嘗試連線到 SSH。 如果要架設網站,可另外開放: ```text HTTP TCP 80 0.0.0.0/0 HTTPS TCP 443 0.0.0.0/0 ``` 範例安全群組規則: | Type | Protocol | Port | Source | |---|---|---:|---| | SSH | TCP | 22 | My IP | | HTTP | TCP | 80 | Anywhere IPv4 | | HTTPS | TCP | 443 | Anywhere IPv4 | --- ### 8. 設定儲存空間 在 **Configure storage** 區域: - 預設通常是 8 GiB 或其他大小的 EBS Root Volume - Volume type 可使用 `gp3` - 若資料重要,應考慮: - 定期 EBS Snapshot - 加密磁碟 - 分離系統碟與資料碟 - 足夠的 IOPS 與容量 一般測試可以使用: ```text 8 GiB gp3 ``` 正式環境則依應用程式、資料庫及日誌容量調整。 --- ### 9. 進階設定 可視需要設定: - **IAM instance profile**:讓 EC2 以 IAM Role 存取 S3、CloudWatch 等 AWS 服務 - **User data**:伺服器第一次啟動時自動執行腳本 - **Monitoring**:啟用詳細監控 - **Termination protection**:避免誤刪除 - **Elastic IP**:配置固定公有 IP 不建議把 AWS Access Key 直接放在 Ubuntu 伺服器上,應優先使用 IAM Role。 --- ### 10. 啟動伺服器 確認右側摘要: - AMI:Ubuntu Server - Instance type - Key pair - Security Group - Storage - Public IP 設定 確認後按: **Launch instance** 成功後,AWS 會顯示 Instance ID,例如: ```text i-0123456789abcdef0 ``` --- ## 四、查看伺服器資訊 回到: **EC2 → Instances** 選取剛建立的 Instance,可查看: - Instance state - Public IPv4 address - Public IPv4 DNS - Private IPv4 address - Security groups - Availability Zone - Instance type 等候狀態變成: ```text Running ``` 並且通過: ```text 2/2 status checks passed ``` --- ## 五、登入 Ubuntu 伺服器 ### 方法一:使用 AWS Console 的 Instance Connect 1. 選取 EC2 Instance 2. 按 **Connect** 3. 選擇 **EC2 Instance Connect** 4. 按 **Connect** 若網路、IAM 與 Instance 狀態符合條件,瀏覽器會開啟 SSH 終端機。 --- ### 方法二:使用 SSH 在 Linux 或 macOS 終端機執行: ```bash ssh -i ubuntu-server-key.pem ubuntu@<Public-IP> ``` 例如: ```bash ssh -i ubuntu-server-key.pem ubuntu@203.0.113.10 ``` Ubuntu 官方映像檔的預設登入帳號通常是: ```text ubuntu ``` 不是 `root`。 第一次連線可能會看到主機指紋確認訊息,輸入: ```text yes ``` 成功登入後,可以執行: ```bash sudo apt update sudo apt upgrade -y ``` 查看系統資訊: ```bash uname -a lsb_release -a ``` --- ## 六、登入後的基本安全設定 ### 1. 不要直接開放 SSH 給全世界 在 Security Group 中,將 TCP 22 的來源限制為: - 你的固定 IP - 公司 VPN 網段 - 管理用跳板機 IP --- ### 2. 定期更新 Ubuntu ```bash sudo apt update sudo apt upgrade -y ``` 也可以安裝自動安全更新: ```bash sudo apt install unattended-upgrades -y sudo dpkg-reconfigure unattended-upgrades ``` --- ### 3. 安裝常見工具 ```bash sudo apt install -y curl wget git unzip vim htop ``` --- ### 4. 使用 IAM Role 若伺服器需要存取 S3、CloudWatch 或其他 AWS 服務,請建立 IAM Role 並附加至 EC2,而不要把 Access Key 寫在伺服器檔案中。 --- ### 5. 設定監控與備份 建議使用: - CloudWatch 監控 CPU、磁碟及網路 - EBS Snapshot 備份 - AWS Backup - CloudTrail 記錄 API 操作 - Systems Manager Session Manager,減少直接開放 SSH 的需要 --- ## 七、停止或刪除伺服器 ### Stop 停止 Instance: - 不再計算部分運算費用 - EBS 磁碟仍可能產生費用 - 公有 IPv4 等資源可能仍有費用 - 下次啟動通常會恢復運作 ### Terminate 終止 Instance: - Instance 會被刪除 - 根磁碟若設定為 Delete on termination,資料可能一併刪除 - 通常無法復原,請先確認是否已備份 操作位置: **EC2 → Instances → 選取 Instance → Instance state → Stop instance / Terminate instance** > 測試完成後,若不再使用,應終止 Instance 並檢查未使用的 EBS Volume、Elastic IP、Load Balancer 等資源,以避免持續產生費用。 --- ## 八、簡化流程總結 1. 登入 AWS Console 2. 開啟 EC2 3. 選擇 Region 4. 按 **Launch instance** 5. 選 Ubuntu Server LTS 6. 選 Instance type,例如 `t3.micro` 7. 建立或選擇 Key Pair 8. 設定 Security Group,至少允許自己的 SSH 9. 設定 EBS 磁碟 10. 按 **Launch instance** 11. 取得 Public IP 12. 使用 SSH 或 EC2 Instance Connect 登入 建立 Ubuntu EC2 時,最重要的安全原則是:**限制 SSH 來源、妥善保存私鑰、啟用更新與備份,並在不用時停止或刪除資源。**
相關學習地圖、教學課程
Python 後端工程、資料庫
從 0 開始,成為後端工程師的學習路徑。