2009年12月8日 星期二

Amazon EC2 使用教學 - 以 Windows Server 2003 與 RDP 為例

Amazon Elastic Compute Cloud 簡稱 Amazon EC2 或 EC2 ,它是眾多雲端運算平台之一。至於何時會需要用到雲端計算呢?我覺得可以思考一些情境,例如突然需要一堆電腦來幫計算研究數據,或是想要開發網站服務但手邊的機器不足,然後又非常急迫,這時候就可以考慮使用這類平台,可以很輕鬆快速的得到一群電腦!當然,手邊沒幾個銅板是不行的(還有信用卡)!


雲端運算是當下很紅的名詞,最近被要求一下要熟悉 EC2 ,所以就來強迫自己寫一篇使用教學,在 Google 上使用 "EC 教學" 關鍵字,其實已經可以找到不錯的文章: Amazon EC2 簡易操作筆記 (使用 EC2 Console)  與 Amazon EC2 使用操作筆記 (使用 Elasticfox) ,另外則是官方的介紹 Amazon Elastic Compute Cloud - Getting Started Guide (API Version 2009-08-15)


網站位置:http://aws.amazon.com/ec2/ ,有興趣的可以再多逛逛 Amazon Elastic Compute Cloud - Wikipedia, the free encyclopedia ,這是我從同事身上學到的,凡事要留意一下歷史背景。EC2 在 2006 年 08 月開啟,在 2008 年 10 月 23 日後,已提供完整的架構與服務。


若以一個初學者,可能跟我一樣連 Amazon 帳號都沒 :P 所以,先來申請一下帳號吧!請透過網站上的 Create an AWS Account 建立帳號(AWS:Amazon Web Services) ,強烈建議,一切動作都從官網開始,以免不小心點到釣魚網站。



  1. 點選 Create an AWS Account 進入登入畫面

    • My e-mail address is: your_email

    • 勾選 I am a new user.

    • 點選 Sign in using our secure server



  2. 接著輸入基本帳號資訊

    • My name is: your_name

    • My e-mail address is: your_email

    • Type it again: your_email

    • Enter a new password: your_password

    • Type it again: your_password

    • 點選 Create account



  3. 接著填寫個人資訊

    • Address Line

    • City

    • State, Province or Region

    • ZIP or Postal Code

    • Country

    • Phone number

    • 接著點選下面的同意跟認證碼後就可以完成申請帳號囉!



  4. 接著可以透過上個頁面顯示的 Amazon Elastic Compute Cloud 連回去。並且點選 Sign Up For Amzaon EC2 ,並且下頭要你輸入信用卡資訊。由於我沒信用卡 XD 所以後面就不 demo 啦。此部份也可以從 Your Account -> Payment Method 進行設定。


接著,Amazon Elastic Compute Cloud 頁面,可以在右上角 Your Account 選單中看到不少項目:



  • Account Activity

  • Usage Reports

  • Security Credentials

  • Personal Information

  • Payment Method

  • AWS Management Console

  • DevPay Activity


其中比較特別的是 Security Credentials 和 AWS Management Console 。前者用意就像帳號密碼的認證管理,可分為



  • AWS Access Key Identifiers

    • make secure REST or Query protocol requests to any AWS service API



  • X.509 Certificates

    • make secure SOAP protocol requests to AWS service APIs



  • Key Pairs

    •  for Amazon CloudFront and Amazon EC2





圖片來源:About AWS Security Credentials


 AWS 管理是透過 API 指令進行的,例如在本機端用 cmd mode 一個個敲出來,或是用管理介面的進行管理,這些動作要跟 AWS 進行溝通,將透過 REST 或 SOAP 等協定進行,因此,就有上述幾種方便的帳密確認方式,簡言之,就不必使用登入 Web 介面的 email / password 來管理,換個角度想,以 Security Credentials 為例,新增一組用來登入使用服務,若這組帳密不慎外流,可以快速更換,而損失能夠降低,倘若登入都用 email / password 管理,一旦帳密被得知,受到的傷害可能足以影響使用者其他網路服務的使用。另外,如果有多人要管理 EC2 的機器時,使用 Security Credentials 分給管理者,也比使用 email/password 來的好。更多細節請參考 About AWS Security Credentials


AWS Management Console @ 20091208


假設你完成信用卡的設定,那就可以點選 AWS Management Console 進入 Web 端管理介面,若是使用 Security Credentials 的人,可考慮使用 Elasticfox Firefox Extension for Amazon EC2 (Resources ->  Developer Tools -> Other Developer Tools -> Elasticfox)。在此以 Web 管理介面介紹。接著,來新增一台雲端機器吧!


在新增機器之前,需要留意管理介面左下角的兩項:Security Groups 和 Key Pairs 。前者就像設定一台機器的防火牆,例如新增一台機器,若要能夠遠端,以 Windows 來說,就要打開 3389 port ,而 Unix 則是 22 port 等,而 Security Groups 就是在做這件事,設定好後,若未來還要再新增機器時,可直接套用之前以建立好的條例。Key Pairs 部份,就像前面所提到的 Security Credentials ,只是對象轉成一台雲端機器登入的帳號密碼。


AWS Management Console - Security Groups @ 20091208


因此,在新增機器前,可以先到這兩個頁面作點事情工作,其中 Key Pairs 只要點一下 "Create Key Pair" ,輸入名稱跟敘述就可以完成,此過程會將建立的 *.pem 下載回來;Security Groups 會稍微多一點步驟,除了名字跟敘述外,還需要一項項地增加你想要開放的 port ,例如 Windows 就要試一下 RDP (Remote Desktop Protocol) ,這樣才可以遠端登入囉!


假設上頭已新增好 Key Pair : demo.pem 和 Security Groups : demo ,接著就來新增 Windows 機器啦。請點選左邊的 Instances ,這個意思就類似你要開幾台電腦的地方,另外也有一些資訊可以提供你掌控機器狀況。


AWS Management Console - Instance @ 20091208


選一台 Windows 來用用,就選 Basic Microsoft Windows Server 2003 吧!


AWS Management Console - Instance Setup @ 20091208


選好後,除了要決定開幾台機器外,最重要的是 Key Pair 和 Security Groups 的設定,此例就用剛剛新增好的 demo 系列吧!接著按下 Launch 就啟動機器啦!當然也開始收費囉!EC2 的計費是以小時為單位的,使用上要留意,也就是使用 1 分鐘跟 59 分鐘是一樣的價錢,使用上要小心啦。


AWS Management Console - Instance Setup @ 20091208


機器開起來後,接下來就是去使用它,使用 Windows 的方式最簡單就是遠端桌面了,但該主機位置在哪?登入的帳號密碼在哪?就先選好 instance 後再點 Instance Actions


AWS Management Console - Instance Menu @ 20091208


其中有一項就是 Get Windows Admin Password ,就用它來查看帳號密碼囉


AWS Management Console - Get Password @ 20091208 demo.pem


其中那欄 Private Key ,就是之前設定 Key Pairs 時下載的 demo.pem 啦,用編輯軟體打開它並且全部複製貼上到上頭的框框內,就可以按下 Decrypt Password 啦,最後就會告訴你連線的位置、登入帳號和密碼囉,只要之前的 Security Groups 的設定有打開 RDP 3389 Port ,那就可以遠端進入囉!


AWS Management Console - Get Password @ 20091208


剩下的行為,就像遠端一台電腦一樣,只是這台電腦是 EC2 上的囉!


3 則留言:

  1. 太詳細了吧!!~ 哈~

    版主回覆:(01/18/2010 07:24:18 AM)


    難得貼那麼多圖 XD

    回覆刪除
  2. 感謝大大 分享 這免費主機的申請過程,小弟昨天照著申請 已完成,也成功用windows的 遠端桌面連線 連上了,真的遠端操控這台雲端主機。
    但今天一早 同樣要 遠端桌面連線 連時,發生 『遠端桌面無法連線到遠端電腦』問題 ? 請問大大如何解決 ? (昨天連的好好的 都沒有改任何東西,今天為何連不上,登入網頁管理 也看到是正常的在 run 狀態)

    回覆刪除