Dev Talks

EC2 新手教學:建立 EC2 Instance

Jeff Chen, Rails 工程師 Nov 4, 2022

前言

相信大家應該在工作上或多或少都有聽過 AWS EC2 服務,或是工作單位本身就是 AWS 服務重度使用者;或是因為 Heroku 開始收費後有轉移陣地的打算。不管出於什麼原因,在第一次接觸時是否會看著 AWS 五花八門的選項看到一頭霧水暈頭轉向,那麼這裡可以引導大家開出一台自己的 EC2 Instance。

EC2 是什麼?

我們先來看看 官方 怎麼說:

Amazon Elastic Compute Cloud (Amazon EC2) 在 Amazon Web Services (AWS) Cloud 中提供可擴展的運算容量。使用 Amazon EC2 可減少前期所需的硬體投資,讓您更快速開發並部署應用程式。您可使用 Amazon EC2 按需要啟動任意數量的虛擬伺服器,設定安全性和聯網功能以及管理儲存。使用 Amazon EC2 可擴展與縮減規模,以處理需求或熱門峰值的變更,從而降低您預測流量的需求。

白話一點呢,就是在雲端上架設一台虛擬機器(Virtual Machine, VM),我們不需要實際擁有硬碟、記憶體、CPU 等相關硬體設備,就可以部署自己的虛擬環境,並且 EC2 擁有 Auto Scaling 的特點,依照使用者的客製化定義後,讓 EC2 可以依負載狀況自行增減執行個體(Instance)的數量。

在費用方面,EC2 是依照執行個體 (Instance) 的數量、類型以及使用秒數來計費,所以在練習的時候如果有暫時用不到的執行個體 (Instance) 的數量,記得要先 Stop 讓執行個體 (Instance) 暫停運作,不然每分每秒都在花錢啊。

對 EC2 有個基本的認識後,接下來就來開一台 EC2 Instance 吧!

Launch EC2

Step 1: 進入建立頁面

進入 EC2 的畫面後,點選左邊選單的 Instances 後再點選右上角的 Launch Instances 就可以進入建立 EC2 instance 的頁面

Step 2: 設定 EC2 Instance

  • 設定 Instance 的名稱

  • 選擇作業系統,這邊以 Amazon Linux為例

  • 選擇 Instance 類型,越大費用越高

  • 這邊在設定登入到 Instance 所使用的 key。如果是第一次使用的話,可以點選 Create new key pair 建立並自動下載一個 .pem 檔,我們將會使用這個檔案作為金鑰登入 Instance,但是這個檔案只有在建立時候可以下載,如果要重複使用的話記得妥善保管
  • 如果要使用先前已建立的 key,則直接在下拉式選單選擇即可

  • 設置相關網路設定
    1. VPC: 虛擬私有雲端(Vitural Private Cloud),如果有建立自己的 VPC 的話這邊可以選擇使用自己的 VPC 不使用預設的
    2. Subnet: 選擇使用 Private Subnet 或是 Public Subnet
    3. Auto-assign public IP: 選擇是否讓 Instance 自動指定公有 IP
    4. Firewall (security groups): 如果不希望所有人都可以隨意登入你的 EC2 Instance 的話,這邊可以設定 security group 來規範;或是如果已經有設定好的 security group 也可以從這邊選擇
    5. 設定記憶體大小
    6. 當設定好後,可以在畫面右邊看到所有設置概況,沒有問題的話便可以點選 Launch instance 建立

Step 3: 完成建立

看到這個畫面就代表 EC2 Instance 已經成功建立

並且回到 Instance 總覽頁面也可以看到

登入 EC2 Instance

EC2 Instance 建立好後,接下來接著說明幾個登入 EC2 Instance 的方法。

將 EC2 Instance 勾選起來後,點選 Connect 進入連線的頁面:

AWS 網頁登入

最快的登入方式,就是點右下角的 Connect 就可以用網頁的方式登入 EC2 Instance

SSH client

使用 Key pair 登入

還記得在建立 EC2 Inatance 的時候同步建立的 Key pair 嗎?打開終端機並且移動到存放 .pem 檔的位置,依照 AWS 提供的 Example 也可以登入進 EC2 Instance

$ ssh -i "key_name.pem" ec2-user@(Public IPv4 DNS)


在第一次登入時,會詢問 Are you sure you want to continue connecting (yes/no/[fingerprint])?,輸入 yes 後,就可以登入進 EC2 Instance

使用 SSH Key 登入

如果你有自己的 SSH Key,可以先用上面的方法進入 EC2 Instance 後,將自己的 SSH public key 放進 ~/.ssh/authorized_keys,並且在本地端的 .ssh/config 設定好後,就可以使用 SSH Key 登入

Host ec2-practice-00
  Hostname 54.248.15.101
  User ec2-user
  Port 22
  IdentitiesOnly yes
  
# Hostname 為 EC2 Instance 的 Public IPv4 address

總結

當知道了 EC2 instance 建立頁面中每個欄位代表的意義後,相信不管是不是非常熟悉 EC2 的人,都可以輕鬆建立一台 EC2 instance。但是如同前面所提到,AWS EC2 是按秒收費的服務,在練習時如果有暫時使用不到的 EC2 instance,記得要先 stop(暫停) 或是 terminate(終止,無法復原,請慎用),以免收到帳單時欲哭無淚啊!


分享