之前搜尋到 Ubuntu 官方釋出的 Ubuntu 10.04 LTS 在各 EC2 Region 提供 32-bit(m1.small)/64-bit(m1.large) 的各種 AMI,也提供有 EBS/Instance 兩種 root store。既然手上有了 m1.small 的 Ubuntu,那接下來尋找的方向大致類似:「如何將 m1.small (Standard Instances - Small Instance) 轉成 t1.micro (Micro Instance)」,很幸運地找到 AWS Discussion Forum 的這一串討論找到了提示 :) 這也提醒我別再一直故意跳過 EC2 Command Line Tool (命令列/指令列 工具) 了,哈!該看的文件還是要面對的 :p
1.
取得並安裝 EC2 Command Line Tool:請參閱 AWS 官方這份文件。依照大家自己手邊機器的環境做設定。(另外有一份 Command Line Reference 可以參考。)
- 安裝 JAVA (JRE)
- Windows XP 環境可以用:「我的電腦」右鍵 ->「內容 」->「進階」->「環境變數」的方式設定,不然就是把上述文件中的 set XXX=somepath 等東西寫到 AUTOEXEC.BAT 裡頭去。
- 至少設定好這幾個環境變數,應該 Command Line Tool 就可以動作了(其餘請參閱文件):
JAVA_HOME (ex: "d:\Program Files\jre6")
EC2_HOME (ex: "e:\aws\ec2-api-tools-1.3-53907")
PATH (ex: "something;%EC2_HOME%\bin")
EC2_PRIVATE_KEY (ex: "~\pk-xxxxxxxxxx.pem")
EC2_CERT (ex: "~\cert-xxxxxxxxxx.pem")
2.
有了 Command Line Tool 之後,就可以開始動手來試試看,先小試一個 EC2 command 玩玩看:
%> ec2-describe-regions REGION ap-southeast-1 ec2.ap-southeast-1.amazonaws.com REGION eu-west-1 ec2.eu-west-1.amazonaws.com REGION us-east-1 ec2.us-east-1.amazonaws.com REGION us-west-1 ec2.us-west-1.amazonaws.com
3.
確定 Command Line Tool 正常運作之後,接下來進入主題囉!
首先,幾個前情題要:
- 如果可能,最詳細的 EC2 與 Micro Instance 相關的簡要資訊在產品頁面與使用者手冊,請參閱。
- Micro Instance 只能用 EBS storage,沒有自己本身的 Instance storage。(可以簡單想像成這是兩種硬碟放在不同處,但是 mount 上來之後沒什麼差別。)
- 如果要指定 Security Group ,記得加上相關參數 --group
- 我自己的狀況是先建好一個 Security Group,裡頭開有至少兩個 SSH (22) 和 HTTP (80)。方便 instance 建立好的時候就能馬上直接用這兩個 port。
在此,以美東的 32-bit Ubuntu 10.04 LTS on m1.small 為例,加上 Security Group 設定的指令如下:(XXXX 與 GGGG 請代換。不熟悉 Command Line Tool 的話,可以先在 AWS Management Console 介面上先設定 Key Pair 和 Security Group。)
%> ec2-run-instances ami-1234de7b --instance-type m1.small --region us-east-1 --key XXXX --group GGGG
4.
開好這個新的 instance 之後,可以在 AWS Management Console refresh 之後看到這個新的 instance。接著來改變 instance 屬性,使之成為 Micro Instance(更多討論串內容可以參閱這裡):
(以下指令中的 "instance_id" 請代換成上一步驟剛建立的 instance id。)
%> ec2-stop-instances instance_id %> ec2-modify-instance-attribute instance_id --instance-type=t1.micro %> ec2-start-instances instance_id
5.
接下來就看大家各自發揮囉,一個基本的 Ubuntu on Micro Instance 已經建立起來了。我另外做了 associate Elastic IP 的動作。
如果要 SSH 進去的話,請用 "ubuntu" 這個 username,下指令的時候搭配 "sudo" 服用即可。
關於建立 LAMP 環境,可以參考 Linode Library (哈!)。
Brought to you by
是如果是新開instance的話,根本不需要從small轉成micro,下指令的時候直接改成--instance-type t1.micro就可以了,不用另外浪費錢開small再轉micro
ReplyDelete謝謝 Sandy 的資訊 :)
ReplyDelete我也想過這樣試試看,但我是 EC2 完全新手,哈,想說可能包好的 AMI 都有對應的 instance type,所以... :p 我再找個時間試試看用 m1.small type 的 AMI 直接用 t1.micro type 建立看看。
我有裝 noip2 耶, ( 我註冊了 pofeng-ec2.no-ip.biz ) 或許這樣可以省下 elastic ip 的錢 :p , 你一定要用固定 ip 嗎 ?
ReplyDelete@Pofeng, elastic IP 好像只有在沒有使用(associate with some EC2)的時候才會計費,印象中。有固定 IP 的話比較方便設定 DNS A :p 用 noip 也是可以的 :)
ReplyDelete真的耶
ReplyDelete$0.01 per non-attached Elastic IP address per complete hour
不過, 我關機的時間應該比開機多, 所以我還是用 noip2 省錢好了 (哈哈, 真無聊)
Hello, my name is Hugo
ReplyDelete請問可以請您吃個飯嗎?
有許多問題想請教您
謝謝 Sandy,今天終於有時間測試了:ec2-run-instances ami-508c7839 --instance-type t1.micro --region us-east-1 --key XXXXX
ReplyDelete很順利 :)