Amazon EC2 使用操作筆記 (使用 Elasticfox)

Amazon Elastic Compute Cloud (Amazon EC2) 是虛擬主機的服務, 主要是可以隨時加機器、硬碟等, 可以非常快速的擴充.

不過也有些缺點, 就是在上面的資料是不會被儲存的, 若是機器當掉、強制關機等等, 資料就會消失. IP 不固定等問題.

Amazon 針對這些問題也都有解法:

  • 資料儲存: 用 Amazon Elastic Block Store 解決此問題(而且可以動態新增硬碟並掛載上去), 並可隨時為此硬碟做 Snapshot.
  • IP 不固定: 用 Elastic IP Addresses 解決此問題, 可以先把 IP 先租起來放. 

這幾天照文件都玩過一次, 寫寫筆紀做紀錄.

這篇先紀錄完整使用 Firefox Extension(Elasticfox) 的紀錄, 如果只是想要試試看, 可以考慮用 Amazon EC2 本身提供的 Console 介面做簡單的入門練習(這個下一篇再紀錄).

如果沒有 Amazon 帳號, 由此申請一個: Amazon Web Services

事前研究

下述會使用到的網頁:

強列建議要安裝此 Firefox Extension, 有不少功能靠此外掛會簡單很多.

這兩篇也是筆記, 往下讀前建議先把這兩篇看一看, 比較有個概念.

下述內容主要是依照 Elasticfox Getting Started Guide 此篇操作, 另外做紀錄.

安裝、開啟 Elasticfox

  1. 於此 Elasticfox Firefox Extension for Amazon EC2 安裝 Firefox extension.
  2. 開啟 Firefox
  3. Tools → 執行 Elasticfox
  4. 下面內容都是開啟 Elasticfox 後的操作紀錄.

設定 Elasticfox

  1. Elasticfox 開啟後會出現 Manage EC2 Credentials, 要輸入 "Account Name", "AWS Access Key", "AWS Secret Access Key"

  2. 於 Elasticfox 最上方的 Crednetials 右邊選取剛剛設定的 Account Name, 即登入完成.
    • 註: 若有要製作自己的 AMI Image(若不知道這是甚麼, 需要時再來申請即可), X.509 Certificate 也要產生儲存.(cert-key.pem, pk-key.pem)

建立新的 Key Pairs (於 EC2 虛擬機器 登入用)

  1. 切換到 "Key Pairs" 的 Tab
  2. 點選 綠色的鑰匙(Create a new keypair)
  3. Please provide a new keypair name (隨意輸入一個名字即可)
  4. 就會產生 id-keypair-name.pem, 並跳出下載視窗, 將此下載儲存. (ssh login 需要) (請儲存在 "~/ec2-keys/id_YOUR_NAME")
  5. chmod 600 ~/ec2-keys/id_YOUR_NAME # 要登入前, 它會做安全檢查, 所以需要設 600

Security Group (此階段不設定可跳過)

Amazon EC2 有提供 Secuirty Group 的功能, 作用是設定防火牆的機制, 相關文件可見下述:

每一個 User 都能設定每個獨立的 Security Group, 而 Security Group 最多可以設定 100 組.

設定方法:

  1. 開啟 Elasticfox
  2. 切換到 "Security Group" 的 Tab
  3. 先在 Your Group 選擇要設定的帳號 (或者可以新增帳號、名稱)
  4. 再於 Group Permissions => 點選 Grant Permission (綠色打勾的按紐)
  5. 就可以設定要 開放/關閉 哪些 TCP/UDP port 或 網段 等.
    ex: 開放 HTTP 80

    1. 於 Protocol Details → 選 HTTP
    2. Protocol:  → TCP/IP
    3. Port: →  80
    4. Host: →  0.0.0.0/0
    5. 按 Add 即可.
    6. 預設記得 22 一定要開 (不然沒辦法 ssh 進去)

選擇 AMI(Amazon Machine Images) 檔

由網頁選擇想要的 AMI 檔(作業系統 Image)

從網頁挑選, 有下面三種方式可以找:

由上面挑選, 找到 Debian 5.0 Lenny (testing) Base Install: A clean, base install of Debian 5.0 Lenny (testing), built by Eric Hammond as part of the Alestic.com series [update 2008-12-22] (我是挑目前最新且最精簡版的 Debian)

於 Elasticfox 找
  1. 切換到 "AMIs and Instances"
  2. 於 Machine Images (AMI) 輸入 debian, 就會把 debian 相關的 AMI 檔都列出來.
  3. 找到 alestic/debian-5.0-lenny-base-20081222.manifest.xml 點選.
  4. 按上面的 綠色Power鍵(Launch instance(s)) 或 直接按右鍵(Launch instance(s) of this AMI)
  5. 註: 窗最下面有 User Data 的欄位, 於這邊寫的資料, 機器開完後可以使用 curl http://169.254.169.254/1.0/user-data 取得, 可以當外部參數代入等.
  6. 選 Launch 即可.
  7. 於 Your Instances 區塊, 就可以看到新 run 的機器(Status 是 running 才算完成)

連線方法(連線到剛建立的虛擬主機)

找 DNS Name
  • 對那台機器按滑鼠右鍵, 選最下面的 Connect to Public DNS Name. (會自動抓取 ~/ec2-keys/id_YOUR_NAME 的 key)
  • 按滑鼠右鍵, 選 View Details, 找到 Public DNS Name, 後面那段就是 Domain name, ex: ec2-11-111-111-11.compute-1.amazonaws.com
連線
  • 直接連線: ssh root@ec2-11-111-111-11.compute-1.amazonaws.com -i ~/ec2-keys/id_YOUR_NAME # 或 ~/ec2-keys/YOUR_NAME.pem

進入機器後就是 root, 剩下要怎麼做都行囉~ 🙂

強迫關機 / 重新開機

  1. 切換到 "AMIs and Instances"
  2. 於 Your Instances 區塊, 就可以看到新 run 的機器
  3. 點選要 關機 / 重新開機 的機器, 直接選上面的 Reboot Selected Instances 或 Terminate Selected Instances 即可.
  4. 於機器 login 完成後, halt 也可以直接關機.

建立屬於自己的 AMI Image

文件的方法 建立 AMI Image

建立屬於自己的 AMI Image 的三步驟 於 文件的方法: (註: 我跑到 Bundle into an AMI, 這步驟, Bundle into an AMI 不能點選, 所以放棄此方法,下述只是做個紀錄)(註2: 據說 Bundle into an AMI 是在 Windows 環境的才能跑, Linux 此選項不會啟用)

  1. 切換到 "AMIs and Instances"
  2. 找到 Your Instances 點選 Refresh (最左邊藍色的按紐)
  3. 對想要做的機器按滑鼠右鍵, 選 Bundle into an AMI.
  4. 輸入 S3 Bucket name(全部小寫) 和 Image name.
  5. 按 Ok 即可.
  6. 再去 Register the Image 完成後, 就可以於 Bundle Tasks 看到.
於線上機器直接建立 AMI Image

於線上機器直接建立屬於自己的 AMI Image: (cert-KEY.pem, pk-KEY.pem 由 X.509 憑證產生取得)

  1. scp -i ~/ec2-keys/id_YOUR_NAME cert-KEY.pem pk-KEY.pem root@ec2-11-111-111-11.compute-1.amazonaws.com:/mnt
  2. 產生 Image: (Account Number 是登入 ec2 後, 頁面右上角看到的字串(Sign Out 下方))
  3. ec2-bundle-vol -d /mnt -c <your aws certificate file> -k <your aws private key file> -u <your aws account number> -r i386 -p <your image name>

    • ex: ec2-bundle-vol -d /mnt/ -c /mnt/cert-KEY.pem -k /mnt/pk-KEY.pem -u ACCOUNT_NUMBER -r i386 -p YOUR_AMI_IMAGE_NAME
    • 註: 64 bits 的話, 要把 i386 換成 x86_64
  4. ec2-upload-bundle -b YOUR_AMI_IMAGE_NAME_OR_S3_BUCKET_NAME -m /mnt/YOUR_AMI_IMAGE_NAME.manifest.xml -a ACCESS_KEY_ID -s SECRET_ACCESS_KEY

    • # ACCESS_KEY_ID, SECRTE_ACCRESS_KEY => Amazon S3 key, 就會往 Amazon S3 送, 然後會設定為 Pirvate.
  5. 若有安裝 s3cmd, 就可以看到上傳上去的 Image Bucket 和 所有上傳檔案.

    • s3cmd ls # 會看到新建立的 Bucket
    • s3cmd ls s3://YOUR_AMI_IMAGE_NAME_OR_S3_BUCKET_NAME
快速紀錄 建立屬於自己的 AMI Image 的三步驟
  1. scp -i ~/ec2-keys/id_YOUR_NAME cert-KEY.pem pk-KEY.pem root@ec2-11-111-111-11.compute-1.amazonaws.com:/mnt
  2. ec2-bundle-vol -d /mnt -c <your aws certificate file> -k <your aws private key file> -u <your aws account number> -r i386 -p <your image name>
  3. ec2-upload-bundle -b YOUR_AMI_IMAGE_NAME_OR_S3_BUCKET_NAME -m /mnt/YOUR_AMI_IMAGE_NAME.manifest.xml -a ACCESS_KEY_ID -s SECRET_ACCESS_KEY

使用自己的 Machine Images (AMIs)

  1. 點選 綠色那個 + 號(Register a new AMI)
  2. 輸入 <s3 bucket name>/<your image name>.manifest.xml
  3. YOUR_AMI_IMAGE_NAME_OR_S3_BUCKET_NAME/YOUR_AMI_IMAGE_NAME.manifest.xml
  4. 點 Register AMI 即可.
  5. 再來就可以開啟自己的 Machine 囉~ 🙂

刪除 AMI

  1. Deregister AMI 就可以刪除.
  2. 再從 Amazon S3 刪掉:
    • s3cmd del s3://YOUR_AMI_IMAGE_NAME_OR_S3_BUCKET_NAME/ # 需一個一個刪除
    • s3cmd rb s3://YOUR_AMI_IMAGE_NAME_OR_S3_BUCKET_NAME/ # 全部刪除完畢後, 再把整個 BUCKET 刪除.

建立 Elastic Block Store (EBS) Volume

  • EBS(Elastic Block Store): EBS 可以提供給 Amazon EC2 實體一個實體的儲存空間. (EC2 關機後, 資料就消失了.)
  • Amazon EBS Snapshot: Amazon EBS 另外可以隨時建立 Snapshot 的 volumes, 並將此儲存在 Amazon S3.
建立新的 Volumes (空間)
  1. 開啟一個儲存空間, 來儲存 EC2 的資料, 讓資料在關機後不會消失, 若沒有要 Mount 到機器上時, 可以先做 Snapshot 存放起來.
  2. 切換到 "Volumes and Snapshots"
  3. 點選 綠色+ (Create new volume)
  4. Size (GB): 1 ~ 1000
  5. Availability Zone: us-east-1a, us-east-1b, us-east-1c (要選跟機器同一區域的)
  6. 點選 Create 即可.
  7. 如果有多個 Volume, 要記得把 Volume id 記起來. (Mount 時要用)
Mount 新的 Volumes 到機器上
  1. 切換到 "AMIs and Instances"
  2. 到 Your Instances 區塊, 於機器上按滑鼠右鍵, Attach an EBS Volume
  3. Volume ID 選剛剛建立的.
  4. Device: /dev/sdb (/dev/sda ~ /dev/sdp 都可以填寫, 不過看 /dev/sda 已經是主硬碟在用, 所以輸入 /dev/sdb)
  5. 點選 Attach 即可. (此時就已經將此硬碟裝置裝上去了)
  6. 此時於機器上, 就會自動產生 /dev/sdb 出來.
  7. fdisk /dev/sdb # np1 ... w 這邊就不詳述了
  8. mkfs.ext3 /dev/sdb1 # 格式化
  9. mkdir /backup
  10. mount /dev/sdb1 /backup # 這樣子就 mount 完成.
建立 Snapshots
  1. 作此步驟前, 還是得要先完成前面 格式化 的步驟.
  2. 切換到 Volumes and Snapshots
  3. Create a new snapshot from this volume
  4. 於 Snapshots (SNAPs) 就會產生一個新的 SNAP ID 的新 Volumes 的 Snapshots.
將 Snapshots Mount 到新的機器
  1. 切換到 "Volumes and Snapshots"
  2. 對 Snapshot 按右鍵, 選 Create new volume from this snapshot, 一樣指定 Size, 區域等.
  3. 於 Volumes(VOLS) 就會看到新的 Volume, 將 volume id 記著.
  4. 切換到 "AMIs and Instances"
  5. 到 Your Instances 區塊, 於機器上按滑鼠右鍵, Attach an EBS Volume
  6. Device: /dev/sdc
  7. 點選 Attach 即可.
  8. 此時於機器上, 就會自動產生 /dev/sdc1 出來. (因為剛剛 Snapshot 前已經有 format 過了)
  9. mount /dev/sdc1 /backup # mount 起來.
  10. /backup 的檔案也都還會存在.

Elastic IP (EIP)

  • EIP 是要給此機器一個固定的靜態 IP, 不過 IP 是給 Account, 並不是給任何一個 Instances.
建立一個 固定IP (Elastic IP (EIP))
  • 點選 綠色+(Allocate a new address), 就會自動產生一個新的 IP.
指定機器使用某個固定 IP
  1. 切換到 "AMIs and Instances"
  2. 於 Your Instances 區塊
  3. 找到要 指定的機器 按滑鼠右鍵, 選 "Associate Elastic IP with Instance"
  4. 點選 Associate 即可.
  5. 就可以 ssh -i ~/ec2-keys/id_YOUR_NAME root@EIP

關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 My_Note。將永久鏈結加入書籤。

Amazon EC2 使用操作筆記 (使用 Elasticfox) 有 71 則回應

  1. Belen 說道:

    可以抓些图看看吗?

  2. Tsung 說道:

    厄, 不抓圖主要原因是, 他最近又改了一版, 位置又變了..
    我建議針對字去找比較有用, 把名詞解釋稍微看一下, 然後設定的部份都是可以用的. 只是 button 等位置有改變而已.
    (我應該等他幾個版本都不改位置後, 再重新抓圖並寫一篇新的吧)

  3. BB 說道:

    看起來好複雜?
    實際操作不知道要多久?? @_@

  4. BB 說道:

    補充一下,註冊完後還要在註冊一次EC2,這時要輸入信用卡資料
    不然FF的擴充套件不能產生連線

  5. Tsung 說道:

    嗯嗯, 感謝補充, 實際操作只要做過一次, 名詞瞭解後, 功能位置大概知道在哪邊, 只需要三個步驟就開好一台機器了~ 🙂

  6. Michael 說道:

    公司最近用 MS 的 VS2008 (使用 ASP.NET 及C#) 開發了一套 EIP 的系統, 想配合 Amazon 的 EC2 服務, 想請問如何將公司開發的程式如何發佈上去, 程式包括自行開發的 AP Server 及幾支管理程式, 是 .net winForm 的 exe 執行檔

  7. Tsung 說道:

    就租一台 Windows server, 然後遠端連進去, 就當自己的電腦用就是了~ 🙂

  8. Michael 說道:

    EC2 的服務還有含不含 MS-SQL 的選擇, 讓人搞不懂
    我們的程式需要 MS-SQL 如果依您的說明, 我可以自己安裝 MS-SQL 嗎?
    (PS: 我有 MSDN 的 Licence)
    由於相關的文件不多, 如果有可能我可以付費請您協助排除相關的問題嗎?
    我的 eMail: genie.michael@gmail.com
    如果您願意幫忙, 可以用 mail 跟我聯絡
    Thanks

  9. Tsung 說道:

    您好, 在這頁 http://aws.amazon.com/windows/ 有 Pricing for Instances Running Windows Server with SQL Server Standard 的資訊, 裡面會包含 MSSQL 可以使用~ 您可以直接試租用看看, 就會明白囉~ 🙂

  10. Kadok暗夜流星 說道:

    我研究ubuntu enterprise cloud
    找到閣下的網站
    但是很多東西也許是時間、版本不同
    最重要的是amazon網站不允許網頁超連結的間接引用
    往往連不到你所說的頁面
    可否將你的blog增加圖片
    以方便辨識,謝謝

  11. Tsung 說道:

    Amazon 的網站, 可以直接連過去阿. @.@a..
    這篇主要是 Elasticfox 隨版本不同, 已經無法跟上了, 但是其它 Amazon 的還是沒問題的.
    要增加圖片, 這個現在有點難耶(因為最近沒有使用這個, 所以暫時不會操作).
    您覺得哪些部份是有問題的, 可以直接提出來, 或抓個圖給我(Mail).
    我跟你說在哪邊~ 這樣子如何呢? 🙂

  12. Migo 說道:

    您好,我想請問一個關於instance本身的local storage的問題。
    我使用amazon console去launch一個small instance,由http://aws.amazon.com/ec2上面的說明,解釋"Small Instance (Default) 1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of local instance storage, 32-bit platform",我自己解釋instacne裡會有160GB的storage空間,可能在/dev/sdax裡面,但是我透過SSH去instance裡面,並沒有看到類似的空間。想請問這裡指的160GB是什麼意思呢?
    謝謝你
    以下為我的instance資訊。
    [root@ip-xx-xx-xx-xx /]# df
    Filesystem 1K-blocks Used Available Use% Mounted on
    /dev/sda1 15481840 15480088 0 100% /
    none 874032 0 874032 0% /dev/shm

  13. Tsung 說道:

    呃, 真是好問題, 這個我也沒確認過, 我想也是 160G 的意思.
    不過我那時後至少用掉十幾G過, 都很正常. (不過, 實際上在上面把資料放滿, 我也是蠻擔心的, 因為一當機資料就消失了. XD)
    不好意思, 我現在沒有 EC2 的機器, 所以無法確認這件事. Orz..

  14. smashing 說道:

    Tsung大您好,
    請問你有建立自己的image的經驗嗎?從自己的主機將image上傳至amazon,有的話可以請教一下操作步驟嗎?

  15. Tsung 說道:

    我沒有從自己主機 build image 後, 傳上去的經驗耶. (這個方法可能也不行).
    我記得上面的系統, Ubuntu / Debian 都是用 Amazon 原本提供的系統 Fedora 改出來的(把 Package 移掉, 再重新 Build 上去系統), 所以我不確定是否可行.
    而且, 現在上面的系統已經夠多了, 我是覺得應該不需要再自己 Build 了耶. XD

  16. green 說道:

    是不是當我在上傳要運算的data的這段期間也會要列入收費呀?

  17. green 說道:

    喔!我知道了不好意思

  18. Tsung 說道:

    上傳, 下載 都是需要收費的.

  19. carefreeboy 說道:

    你好
    我想請問一下
    如果我雇用一台ubuntu想要架設DNS
    那DNS服務能用嗎
    EX
    ubuntu:
    ec2-11-111-111-11.compute-1.amazonaws.com
    我在這台主機架設bind 8 dns伺服器
    我先在購買網域的地方將網域的DNS指向這台主機
    然後這台主機的DNS再設定
    11.111.111.11對應到某串網址(www.XXX.com.tw)
    這樣的設定能成功嗎??

  20. Tsung 說道:

    可以阿, 不過要小心, 機器當掉的話, 所有資料就都沒了唷. XD

  21. carefreeboy 說道:

    但我雇用一個替身amazon所給的IP不是虛擬IP嗎
    虛擬IP不能架設DNS吧
    我有申請一個Elastic IPs
    但我看你的介紹
    這個IP是給account用的,不是給instance用的
    那我要怎麼架設DNS呢??

  22. Tsung 說道:

    你會拿到一個實體 IP 得, Elastic IP 是可以租到一個固定得 IP, 你就不用擔心機器掛掉, 新開一台機器時, 還得等 DNS Server 更新資訊, 才可以指定到你新的機器.

  23. carefreeboy 說道:

    我有申請一個Elastic IPs
    也已經指定到我的機器上了
    我也用過nslookup 測試過我的DNS了
    本機正查都是OK的
    但反查好像會指到amazon的DNS去耶
    EX
    X.XXX.XX.XXX.in-addr.arpa name = ec2-X-XXX-XX-XXX.ap-southeast-1.compute.amazonaws.com.
    我該怎麼解這個問題比較好呢??

  24. Tsung 說道:

    反解不用在意. 🙂

  25. carefreeboy 說道:

    是唷!!
    如果是這樣的話
    到底還有什麼問題會使得我DNS SERVER架不起來呢
    有什麼方式可以檢測嗎??

  26. Tsung 說道:

    @.@a... 這... 自己架設都不知道問題在哪裡的話, 多看看書囉?

  27. carefreeboy 說道:

    我雇用了一台ubuntu的主機
    我知道虛擬IP不能架設DNS
    我也申請一個Elastic IPs
    ubuntu裡面有個設定是
    DNS客戶端
    主機名稱預設是虛擬IP的名稱
    我有試著改掉那個主機名稱
    設定完須要重開機
    但我重開機後設定又還原了耶
    我不是沒看書或沒找資料
    只是覺得我的設定是沒問題的
    會不會是amazon這邊我需要提出什麼申請
    或是做什麼樣的設定
    才能架設DNS SERVER
    麻煩指教!!

  28. Tsung 說道:

    虛擬IP可以架設DNS, 可以做內部 DNS.
    Linux 除了換 kernel 需要重新開機外, 剩下得幾乎都不需要.
    你看得方向應該錯了, 請找 bind, 而不是從 hostname 來看.
    amazon 那邊不需要提任何申請.

  29. carefreeboy 說道:

    我雇用了一個windows的instance
    也申請了一個Elastic IP
    但我在安裝DNS時
    "一直出現我的IP不是固定IP,確定要安裝嗎"
    想請教一下,是不是申請了Elastic IP整台電腦就變成固定IP了
    還是我要在instance的網卡上設定固定IP
    不要用自動取得IP

  30. Tsung 說道:

    你可以在網卡上, 設固定 IP.
    不過, 只是問那個問題, 你也不用在意太多就是了. 😛

  31. carefreeboy 說道:

    我還想請教一下
    如果我想從asia 把amis搬移到US West
    要怎麼搬呢

  32. Tsung 說道:

    呃... 這個我也不知道耶. Orz.
    先在另一區開台機器, 然後 scp 過去? 或者做個 IMAGE, 於新的機器直接開 IMAGE?

  33. jeff 說道:

    意思是...web 程式或者DB 中的資料..都會不見嗎?

  34. Tsung 說道:

    yes, 如果沒有租 EBS 的話, 機器當掉, 資料也都跟著消失了.

  35. Justin 說道:

    您好:
    我想請教一下、我架了兩台Instances
    第一台是使用預設的ami linux是可以正常ssh的
    而第二台是使用免費的amis但他的public dns卻無法ssh
    我很確定Security Groups的22port有開
    而且我兩台的Security Groups還設相同的
    為什麼後來新增的免費amis都無法正常連線呢?
    不知道您有沒有遇過相同的情況、謝謝

  36. Lauren 說道:

    Thank you. Ever tried using SQLServer Studio 2008? Intellisense drives me mad! Can I to deactivate it?

    Thanks, Lauren.

  37. Facemaskman 說道:

    有了這個FF的外掛
    操作起來直學了不少

    在ec2 的management console中
    操作也還OK

  38. jerry 說道:

    Hi, 你好,
    请教个问题,SecurityGroups对内网有作用吗?
    比如: 我的instance ip: 10.1.1.1 别人的:10.1.2.1
    我能通过 SG 限制别人的ip吗?

  39. jerry 說道:

    不是很明白,我刚使用ec2, 你是指使用 VPC 吗? 我不打算使用这个业务。
    我现在有几台 instance, 在内网我使用 iptables, 外面使用SG,
    我不是很清楚ec2 那些内网是如何的,比如,我的instance有可能和你的instance在同一个网段吗? 如果在,默认可以互相访问吗?

  40. jerry 說道:

    嗯,如果这样,我就不需要iptables了,浪费资源。回去测试一下。

    多谢 Tsung!

  41. axis 說道:

    站長您好:

    關於ec2最近研究了不少東西,也看過amazon官方網站說明
    但是有個地方一直不明白,官網上也都找不到

    那就是 租用instance,0.088美元/hr ,一年100%使用不關機,用small東京
    1. 開1台instance,費用是 0.088*24*365*30(匯率) = 23126
    2. 開5台instance,費用是 0.088*24*365*30(匯率)*5 = 115632

    這樣對嗎??

    再來是流量(OUT)收費,AMAZON網站上沒有提到這一點,起碼我是沒找到
    但是每月寄來的帳單是有這個費用

    請問這個費用是在官網上哪裡有說明呢??

    我是覺得AMAZON似乎有刻意隱瞞的嫌疑啦,
    讓大家以為開n個instance也是只要 0.082/hr, and 不用流量費用
    租下去才知道,啊,原來不是這麼回事

    如果是這樣的話,那何不直接租用美國 hostmonster虛擬主機?

    hostmonster 一年繳 $8.95美金
    網站數量 不限制 + 免費一個網域名稱(Domain name)
    主機規格 不限制網站空間 + 每月無限制的流量限制
    其他規格 無限制的 email, ftp, 100個MySQL資料庫

    也就是說 租用amazon的價格最少是hostmonster的200倍以上
    但是功能差不多

    • Tsung 說道:

      流量價位: http://aws.amazon.com/ec2/ 的 Data Transfer 裡面有寫.

      至於拿 Amazon EC2 和 hostmonster 比是有點不公平, 因為兩者等級差距有點大.
      說得簡單點得, 光無限頻寬來說好了, 如果這麼好用的話, 為何 Google 和 Y! 要自己建立機房?

      我會建議拿來比較的, 應該是跟其他可以提供整台機器服務、流量頻寬 和 機器大小等等分開計費的 VPS 來作比較 會比較準.

      當然, 你比較過後, 不可否認的 EC2 確實會比其他間都還要貴一些(是不會差距到 200倍, 大概差個 1 ~ 3 倍左右.

      這時後會建議, 要想想看 EC2 和其他間的優勢在哪裡, 你會用到的地方去多點付錢來解決是合理的.
      我現在 EC2 不會用來跑線上的服務(因為相對起來貴不少), 但是會拿來跑測試(一次要開個多台機器, 測試完後馬上關掉, 因為 EC2 是 by hours 計費, 所以比其他間省)
      另外, 可以多參考組合, ex: EC2 + S3, EC2 + ... 他有很多搭配方是, 需要依照自己的情況另外想想看.

  42. axis 說道:

    感謝回覆

    我想,「架站的目的」是一項關鍵因素
    因為我是要架好幾個全年無休的網站,網站內容大部份只是公告新聞活動之類的,
    如果這樣的話,那在AWS真的很貴(不過之前的200倍是筆誤 抱歉)

    以一個 small 的linux instance(TOKYO)為例,$0.017 per Hour
    0.017*24小時*365天*30(匯率) = 4467 NT (年)

    這還不算流量費用喔
    Up to 10 TB / month $0.201 per GB
    假設我月流量 100G,0.201*30(匯率)*100G*12個月 = 7236 NT (年)

    也就是一年要 4467+7236 = 14472 NT
    相對於HOSTMONSTER 一年用2500NT來算,AWS成本在五倍以上

    別忘了,這還只是單開一個INSTANCE,如果開5各INSTANCE全年無休,那
    AMAZON一年就要付 14472*5 = 72360 NT /年

    而在HOSTMONSTER上,不管開幾個網站還是 2500NT /年
    網路上看到一些熱門的部落格,也是架在HOSTMONSTER上面,也都OK
    但也有CPU LOADING過重被停掉的狀況,這個我要實測才知道

    所以 AWS應該是適合,重要性高的站點,系統需要特別調校的,或是拿來當測試環境很適合,一般小公司要架站,重要性不高的網站,可能就不適合架在 AWS上了

    • Tsung 說道:

      嗯, 重要性高的站, 我是不會放在 AWS 上啦, 我都放在自己可以控制的機器上.

      AWS 的優點是擴充性, 今天可以動態新增/減少機器使用的.

      如果是一般小公司要架站, 重要性不高, 沒什麼流量的, 那 hostmonster 應該就很好用了. 🙂

      對了, 有個要注意的, 你剛剛上面講得是 日本 VS 美國, 頻寬、速度和價位是不同的唷. 🙂

  43. axis 說道:

    有,我有注意到不同區域的費用不一樣
    我覺得amazon EC2有許多地方很容易讓新手誤會
    以為開N個instance, 費用還是 xx元/hr,事實上是 xx元/hr * N
    還有用別人提供的AMI,例如有人提供 架好WORDPRESS的AMI
    使用那個建立INSTANCE其實那是要收費的,而且有些裡面還包 MYSQL 企業版
    等到月底接到帳單,才會發現費用貴得嚇人,一個月居然6、7000元

    至於美國的HOSTMONSTER,其實很難想像,1年2000多元,
    網站數量 不限制 + 免費一個網域名稱(Domain name)
    主機規格 不限制網站空間 + 每月無限制的流量限制
    其他規格 無限制的 email, ftp, 100個MySQL資料庫
    我不是在幫他們打廣告,而是很好奇,這樣他們怎麼還能賺錢?

    • Tsung 說道:

      嗯, 美國機器的話, 我也可以提供無限制的流量、空間、Email、FTP... 這些東西~ 然後還有錢賺~ 這倒是很容易~

      有很多方法可以做, 只要記得一件事, 羊毛出在羊身上~ 靠一些設定 + 規定就可以做到這種事情了~ 😛

      台灣也有很多頻寬無限吃到飽得公司就是了~ 🙂

  44. axis 說道:

    再請教幾個問題

    AMAZON EC2號稱可擴充性,隨時可以調整硬碟空間、CPU數目規格
    但是我在AMAZON的管理介面上,沒有找到可以做這樣即時調整的地方

    我唯一想到的方法是,把INSTANCE製作一個AMI,然後再用此AMI,去建立一個新的INSTANCE,在過程中選擇較高的規格

    是不是有那裡可以調整,而我沒發現到呢?

    另外依您的經驗,一個INSTANCE上架4個WORDPRESS, 假設同時在線人數高峰500人,一天有1萬人光顧,月流量300-500G, 我選M1 small type, 這樣夠用嗎??

  45. AXIS 說道:

    謝謝建議

    那我選高一點的規格,以避免cpu time的問題

    至於流量部分,大部分來自於圖片,我用3個方式去應對
    1. 把wordpress圖床移到美國的虛擬主機
    2. 裝上wp快取的外掛
    3. 再去申請cloudflare來用

    實際運作結果再來報告

    • Tsung 說道:

      Mmm... 我是建議這種長期在跑得服務, 不要放在 Amazon 耶. XD

      要放 Amazon 的話, 記得 EBS 這些東西都要準備好, 避免機器當機, 資料就都不見了.

  46. AXIS 說道:

    會把網站放在AMAZON是不得已 純粹為了應付高流量,
    放在美國虛擬主機怕CPU TIME會負擔不了

    另外報告一下,現在建一個INSTANCE, 系統會自動建立一個EBS起來
    因為我建好INSTANCE後,就自動多了一個相應的EBS出來

    刪除INSTANCE後,該EBS也會自動不見
    所以似乎是不用手動建立EBS了

    • Tsung 說道:

      喔喔, 感謝~
      事實上, 租 AMAZON 的錢, 可以在美國租整台機器了耶, 就不用擔心 CPU Time 的問題了. 🙂

    • AXIS 說道:

      ㄏㄏ 有道理,不過高流量的時間只會有一個月,只有在那個期間會把instance換成高等級一點的,過了那一個月就會換回 micro, AWS的規定是,micro一年免費方案限定1個帳號,開第二個帳號就會照算錢,如果我先刪掉一個,再建立一個,總數還是1個instance,
      還是免費,我是這樣想的,實際上如何? 到時換回micro後,再看帳單就知道了 XD

    • Tsung 說道:

      嗯嗯, 如果是這樣子的話, 就租吧. XD
      一個月而已, 叫別人 setup 一台機器, 反而會有成本... 這樣子 Amazon 會比較划算.

  47. AXIS 說道:

    筆誤,應該是「micro一年免費方案限定1個instance,開第2個instance就會照算錢」

  48. KO BIO 說道:

    您好~我想問一個問題,這兩天才使用EC2,原本以為免費,但是我在AWS服務費內: Elastic Compute Cloud=>
    US West (Northern California) Region=>
    Amazon Elastic Compute Cloud running Linux/UNIX Spot Instances=>
    Micro (t1.micro) Linux/UNIX Spot Instance-hour in US West (N. California) in VPC Zone #9

    這一項一直在產生費用,目前是38 Hrs 共$0.15,上一次查看是32Hrs 共$0.12,想請問前輩這樣子是正常的嗎?

    • Tsung 說道:

      這個我不清楚耶, 我沒有機會用免費的. :~~~

      不過, 印象中, 他應該是給你固定額度得費用可以使用, 用超過還是要收費得, 這個你還是要觀察看看唷.

    • AXIS 說道:

      你應該從 Account Activity 這個選項 ,才能看到哪一個項目有花到錢
      再貼上來給我們看一下

  49. KO BIO 說道:

    謝謝您~
    那我會好好注意,真有特殊情況再跟大家報告。
    如果一直收,我可能會停止EC2服務了。

  50. AXIS 說道:

    跟Tsung大報告一下:

    後來我網站是架在 美國 Hostgator虛擬主機上
    流量最高一天10000-20000人
    非常順暢。之前擔心跑不動的事情都沒發生。

  51. Jim 說道:

    您好,我想向您請教一個問題,我已經有把EBS attche到執行中的EC2(centos 6.4)上了,在執行中的EC2的Description裡也確實有看到磁碟位置(/dev/sda1和/dev/sdf),但是我用SSH連線到機器時,在/dev裡完全找不到sda1跟sdf這兩個名稱

  52. Victor 說道:

    您好,
    請問我網站架設好後用google關鍵字搜尋怎麼找都找不到我的網站?
    在EC2架設的網站要怎麼做SEO?

    謝謝

  53. Dachie 說道:

    如何删除不再使用的动态IP? 情况是这样的.

    我一个账号, 注册了 美国和日本两个实例, 每个实例都绑定了一个动态IP, 现在美国那个,不想用了, 就删掉了美国的实例, 发现每个实例绑定的EIP ,还在列表里, 我查看了费用, 说是会收取小额管理费 , 但是这个EIP 我已经用不上了, 找不到删除的入口, 望告知.

    我邮箱 : dachie@qq.com

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料