AWS: EC2 part 1
今天,我決定來學網路雲端。
選雲端
如果要學網路雲端,首先當然要在 AWS, Azure, GCP 之間選一個。這大概是我從決定學雲端,到寫這篇文章之間,最煩惱的問題了。因為雲端的費用計算實在是太複雜,而我又想盡量免費。就像傳統網路託管那樣,有一塊小空間給我用。可這方面雲端又特複雜……
(偷偷抱怨下 Heroku 居然因為被詐騙濫用,而取消免費方案了。要命。)
首先當然考慮在臺灣彰化有資料中心的 GCP 雲。但……因為 GCP 的免費方案被我搞沒了、付款帳號又不能加,結果不能用只好放棄。這樣就剩下還沒註冊的 AWS 與 Azure 了。
這兩個的話……怎說呢?無比煩惱:我要的都有功能完成、都有免費時間、都是穩定的廠商……但最後還是決定選擇 AWS。
這背後的原因有幾個:最主要是因為看了些 Azure 的說明後,我發現手冊好像都假設我學了 Azure 就要用 Visual Studio (Code)、然後學 C# 與 ASP.NET、用 Windows Server 跑程式……當然我知道 Azure 還是有很多地方可以自己選,只是我不喜歡這種高度「整合」的假設。我比較喜歡選擇上留點自由的餘地。另外 Azure 的臺灣資料中心到現在都還沒有開、還有 AWS 的市占率高也是原因。
當然可以的話,我都想試試看;但既然免費使用都有期限,還是選 AWS 吧。
我的第一隻 AWS: EC2
既然選好 AWS 後,接下來就是來練練手了。問題是,要找啥來練手?最後決定選 AWS 最熱門的 EC2 試試看。
那這是啥?──我花了點時間研究後發現,原來 EC2 是雲端虛擬機來著──就像是在 AWS 開 VirtualBox 裝系統一樣。只是 AWS 順便幫你把作業系統安裝好。
地區選哪裡呢?我在日本、韓國、以及印度傷腦筋。雖然韓國與印度比日本便宜,但最後還是選了日本──因為在本地地區,我可以選在臺北。
對了如果地區伺服器要選臺灣,請記得地區要選日本東京。
然後偷偷抱怨:
簡單來說,它就像是在雲端上租用的虛擬電腦。想像一下,如果你需要一台電腦來執行應用程式、儲存資料或執行任何需要計算的工作,但你不想要真實的實體電腦,那麼EC2就是很好的工具。
目前蠻夯的Gefroce Now也是用同樣的概念,就是你雲端的機器幫你裝好遊戲,只要你的網路是順暢的,就可以用破爛電腦玩3A的遊戲
~ [AWS]Ec2是啥個玩意兒? - 安安我里夫啦 - Medium
但如果網路是破爛的,再好的電腦也是烏龜 QQ
AWS EC2: 作業系統
EC2 有很多作業系統可以給你選。按照對 EC2 的理解,我最後選了兩個系統來玩,那就是 Windows Server 與 Amazon Linux。
首先 Windows Server 最大的特點就是圖形界面,可以更快理解 EC2。那開了以後要怎麼進 Windows Server 呢?
首先你需要密鑰檔、還有連遠端桌面要用的 RDP 檔。這兩個 AWS 都會提供;然後在進 Windows Server 前,把下載好的密鑰檔給 AWS 解密。AWS 會透過密鑰檔把遠端桌面的密碼給你。這樣,就可以透過遠端桌面的密碼,進入 EC2 的 Windows Server 了。
我玩了一下,覺得很慢,等不到要裝 XAMPP 或 IIS 就覺得煩死不想裝。刪掉。
我還是選 Amazon Linux 好了……用 SSH 進來快多了。
一般來說如果要在 Windows 用 SSH 的話,可能會找到 PuTTY 這玩意。但如果允許的話,推薦用 Windows 的 Windows Subsystem for Linux (WSL) 吧。大部分的程式運作都能比照 Linux 來用。
SSH 同樣地也需要密鑰檔。就從 Windows 複製密鑰檔到 WSL 後用該密鑰檔登錄。具體而言是:
cp /mnt/{磁碟槽}/{路徑}/{密鑰檔}.pem ~/{WSL-路徑}/{密鑰檔}.pem
ssh -i /{路徑}/key-pair-name.pem {帳號}@{AWS帳號名}
如果出現 Permissions xxxx for '.pem' are too open
代表密鑰檔權限設得太寬了,不要森777,很多事情森777不能解決。
結語
我們講完了 EC2 與作業系統。接下來架站!
參考資料
- 選雲端
- 雲端費用試算
- 我的第一隻 AWS: EC2
- AWS EC2: 作業系統