2016年3月14日 星期一

Ruby on Rails 筆記 — 部署(Deploy)網站於Amazon EC2 # Part1: AWS註冊 & 架設Server




I. 寫在開始之前

Amazon EC2為一個雲端的運算平台,可以讓我們在上面架設server並部署網站,也就是所謂的IaaS(Infrastructure as a Service),相對於前面部署於Heroku[1]上則是屬於PaaS(Platform as a Service)。兩者的概念是不太相同的,IaaS等同於我們擁有一台虛擬主機,能做的事就跟你在自己電腦上能做的事一樣;而PaaS是很固定的執行環境,你只能在上面部署特定支援的語言或框架的網站,而不能做其他事。更詳細的說明可以參考ihower網站佈署[2]一章。

在使用Amazon['æməz,ɑn] EC2的服務之前當然要先註冊(音標希望大家都能學會正確念法),註冊完畢後則需要在EC2上建立虛擬實例(Instance),講白話就是開啟一台虛擬主機準備架Server。由於註冊以及建立主機的過程比較固定,因此此篇就直接引用其他前輩寫的教學文,然後輔以一點我在過程中認為要注意的點。



II. 提醒事項
§ 請先準備VISA金融卡(郵局可)或是信用卡,雖然空間免費但還是要綁卡
§ 在本文中寫給讀者看的註解會使用 1,2,3...符號
§ [ ] 為reference,會將網址放在最後提供參照


III. 註冊及建立主機流程

一. 註冊AWS帳號

參考  2013/12/31 學生,從沒有信用卡到AmazonEC2實現Hadoop叢集之路[3]
作者也是蠻會各種聊的,主要重點從「註冊Amazon會員篇」開始,大家可以參照該篇一步一步註冊,以下列出幾點我認為的重點,過程中有疑問時可以回來參考。

1. 我使用郵局VISA金融卡註冊的(我沒信用卡QQ),但記得該卡要開啟海外交易(付款)功能
2. 地址的部份可以上郵局地址中文英譯
3. 註冊完成後應該可以看到以下的頁面,裡面就是各式各樣的服務,而我們將用到的是EC2
 4. 點選EC2後有兩種情況,一種是開通可以使用,另一種則是告訴你帳號還有些問題需要解決,同時註冊信箱也會收到信(Amazon Web Services Account Alert),而這個問題很可能是金融卡(信用卡)的問題,像我一開始沒開辦海外交易功能所以一直被擋住,只要把功能開通就可以了。


二. 建立虛擬實例(Instance)(就是建立一台主機)

參考 「教學」建立 Amazon EC2 免費主機[4]
內容非常詳細,跟著建立一定沒問題,以下列出幾點我認為該注意的地方。

1. 第1步驟Choose AMI的地方建議選擇Ubuntu Server14.04 LTS(HVM)或Ubuntu Server14.04(PV)(兩者的差異對於初學者好像還好,我是選HVM)
2. 右上角主機位置可選擇Tokyo,離我們比較近,速度較快
3. 選type時請選t2.micro,只有這個才是免費的!!(現在有t2.nano比micro更小但他不是免費的,不要選錯!)
4. 第6步驟的安全模組設定預設只有SSH 22 Port,記得要新增HTTP 80 Port,這樣之後才能部署網站
5. 建立完成後會跳出視窗叫你新增key pair,這是因為以後要從本機端連線到server端(虛擬主機)時必須使用這個key pair
6. 需要幫server指定一個IP,但IP和網域是兩件事情。如208.80.152.2是一組IP,在主機建立完成後就會擁有;但如www.wikipedia.org是網域,這就必須要購買才會有。
7. 要開啟虛擬主機連線的話,在終端機輸入以下指令

ssh -i 密鑰名稱.pem ubuntu@server.ip
% 密鑰名稱就是剛剛所建立的key pair,server.ip則是剛剛設定的IP位址
% 例如 ssh -i alan01.pem ubuntu@50.222.124.987
% 遇到問題可以繼續參考 「教學」SSH連線Amazon EC2主機


參考資料
[1] http://alanyeh20001.blogspot.tw/2015/11/ruby-on-rails-ubuntu1404deploy-ruby-on.html
[2] https://ihower.tw/rails4/deployment.html
[3] https://sites.google.com/site/patepf/gallery/10201yun-duan-zi-liao-ku_shu-ke-shuo-yi/10201yun-duan-zi-liao-ku_shu-ke-shuo-yi_show/20131231amazonelasticcomputecloudec2yamaxundanxingyunduanyunsuandiannao
[4] http://diary.taskinghouse.com/posts/310691

9 則留言 :