今天我們要來介紹 EC2 的基本架構,那我們開始吧!
EC2 Instance由許多重要元件組成,我們將會分成三大部分介紹。
在一個 EC2 Instance 裡面有一個重要元件叫做 AMI (Amazon Machine Image) 如下圖。AMI 最主要的功用就是決定我們的作業系統 Operating System (OS)。
AMI 就如同一個模板,當我們每次在建立 EC2 Instance 時就要選擇使用何種 AMI。
AMI 還包含許多細部設定,我們將在未來再來細看,這邊先用 TBD (To Be Defined) 標記起來。
當我們啟動一台 Instance 時,會有一些 Instance 層面的資料,裡面包含 Instance ID、Hostname 等,如下圖。
在 Instance Type 中,我們會去決定 Instance 本身要使用多少資源,包含我們要使用 vCPU、記憶題、儲存空間的多寡。
這邊要注意到如下圖例中的 Instance Storage 是一個本地的儲存空間,會隨著 EC2 Instance 的更動而改變,換句話說,若 EC2 Instance 消失,Instance Storage 就會不見,因此也就不適合放置永久資訊。不過好處則是,由於它就在 EC2 Instance 上面,所以它能讓我們進行非常高效率的 I/O 工作。
再來,可以決定 Network speed,Network speed 則是決定 EC2 Instance 能負荷多少網路流量。而最後 EC2 中還有許多細部設定,會留在未來做細部探討(TBD)。
當我們在 AWS Console 建立一台 EC2 時,我們會連接許多子服務。
我們會配給 EC2 一個或多個虛擬網卡 (ENI),而 EC2 Instance 在 AWS 網路架構中的角色就是由 ENI 來決定,因此如下圖,我們必須看 ENI 在哪一個 Security Group 以及哪一個 Subnet,以及被哪一個 NACL 所管控。
在 AWS 之中,管理權限有個重要元件叫 IAM Role,然而 IAM Role 並不能直接被 EC2 Instance 給使用,因此需要一個銜接角色來把它們串起,而這個角色就叫做 Instance Profile,如下圖。
Instance Profile 會將 IAM Role 轉換為 EC2 Instance 可以使用的形式,來管控 EC2 Instance 可以使用哪種權限以及 AWS 服務。
External Storage 顧名思義是一個外接的儲存空間,服務名稱叫做EBS Volume (Elastic Block Storage Volume),如下圖。
有別於 Instance Storage,EBS Volume 並不會隨著 EC2 Instance 的消失而不見,因此適合放置永久資料。
以上提到的三種服務都有各自的架構及運作邏輯,後面幾天將細部說明。
EC2 主體實際上只有如下圖圈起方框部分,而右側都是可以連結的子系統們,EC2 必須透過與這些服務的連結,才能建出一個完整的虛擬機功能。
明天我們將接著介紹「EC2儲存資源 Instance Store vs Elastic Block Storage (EBS)」。