來到了中秋連假的第一天,買不到雲上的月亮,我們就到雲上買台機器來玩玩吧
1. 使用EC2好處?
EC2全名是Elastic Compute Cloud。有了EC2,想在雲上開什麼型號的機器,透過各種遊戲規則,按照各自需求,任君包選。EC2也可以很方便跟其他AWS雲上服務進行便捷且安全的串接。
2. 一步一步啟用EC2機器
- 首先,我們挑選想安裝什麼樣的Image在機器內。AMI (Amazon Machine Image) Marketplace提供各式各樣的選擇,Linux、Windows都有。這邊有幾個要提醒的部分:
- AMI無法cross-region跨區的來共享
- 若要共享AMI,要先進行AMI Snapshot。例如在台灣的一個AMI想分享給韓國的機器用,可以先做Snapshot,接著發布到韓國的區域,這樣在韓國機器就可以使用了。
- 第二步,選擇機器類型。不同機器規格會按照這個格式applicationVersionNumber.Scale去標示。例如t2.micro, t2.small, t2.medium。
- 第三步是VPC選擇和使用者資料(user data)。使用者資料是一個script,讓我們在啟動機器時,可以先下指令安裝一些我們想安裝的軟體(preinstallation)。例如在Windows下 Powershell指令,在Linux下Shell Script。
- 第四步是機器硬碟的選擇。EBS是Elastic Block Store縮寫。在EBS上的資料,實際上並非真的綁在機器上面,因此當機器被關掉時,資料還可以被保留下來。EBS Snapshot可以讓我們把EBS做轉移(EBS A --> EBS B)。除了EBS,另外一種資料存放的方式是Instance Store (Ephemeral),資料本身放於機器上面,所以當機器關掉時,資料就會跟著消失。EBS類型如下:
- SSD-io1: 需要強大的IO
- SSD-gp2: 一般用途
- HDD-st1: 針對巨量資料
- HDD-sc1: 針對巨量資料和低頻的IO需求
- 第五步是給機器下Tag,這有助於監管追蹤和做成本管理。
- 第六步Security Group的設定。根據通訊協定、IP和port,設定inbound and outbound rules,規定誰可以進出機器。 這邊蠻方便的一點是,我們可以直接指派security group ID,提供進出機器的許可。
- stateful:這是一個重點內容,在stateful的特性下,如果流量可以進入機器,則該流量不受outbound rule的限制,可以走出機器。
- ENI (Elastice Network Interface):網際網路對應至公開的IP,公開的IP會對應至ENI,ENI則對應到機器,機器本身可再對應到EBS。由於AWS既定服務是提供機器浮動的IP,我們可使用elastic IP (support IPV4),藉此取得固定的IP,讓機器每次重新啟動時,不至於改動IP,但AWS當然就會跟我們多收些錢。
- 最後一步我們會取得一組KeyPair,讓我們可以透過console進入機器中。
EC2監控: default的監控時間是每5分鐘監控一次,但我們也可以按照所需去調整,例如一分鐘一次。不過小於5分鐘的話,就得多付出一點$。
3. 購買機器服務選擇有哪些?
- On Demand: 按照需求,隨時去調用機器。
- Reserved: 長期租用,價格相對便宜。
- Scheduled Reserved: 針對特定時段提供機器服務,如每天早上8:00 - 12:00。
- Spot:競標機制,價格開的高的人,可以擁有機器。
- Dedicate: 因應一些特許要求,規範一定要使用實體的機器CPU,則可以採用此選項。