EC2 免費教學:使用User Data 在EC2 Instance 上建一個簡 ...

文章推薦指數: 80 %
投票人數:10人

註冊AWS 帳號(如果你還沒有) 跳至內容區 AprilYang CloudComputing 2021-07-132021-07-13 今年6月初參加AWS和臺北大學線上舉辦的UniversityAWSomeDay,那是一個介紹AWS雲端的講座訓練課程,當天印象最深刻的是講師花了不到3分鐘的時間就用AmazonEC2建置一個有公開網址、可以被瀏覽器找到的線上網站。

儘管網站上寫的只是簡單的「HelloWorld」,但卻讓當時還沒有實作經驗的我超興奮,覺得這就是我想要看的實際操作——簡單但又能感受到EC2的威力。

今天我們自己來使用EC2重現當時那個讓初接觸雲端者如我會驚訝不已的網站吧! 目錄 註冊AWS帳號(如果你還沒有) 啟動EC2Instance 設定EC2InstanceType 設定Userdata 新增Tag 設定SecurityGroup 新增EC2金鑰(KeyPair) 成功將網站建立在EC2上 終止EC2Instance 小補充:如果在暫停Instance後,重新啟動Instance? 其他【零基礎學雲端運算】系列文章 參考資料 註冊AWS帳號(如果你還沒有) 一般新建立的AWS帳號可以在一年的期限內免費使用大部分服務,如有需求可至AWS官方網站註冊學生可以透過AWSEducate建立AWSEducateStarter帳號,透過帳號每年提供的免費credits使用AWS服務 我自己採用第二個方法,用AWSEducateStarter帳號來實作這篇文章的EC2Instance。

延伸閱讀—AWSEducate完整教學3:建立Starter帳號,取得免費Credit實作AWS服務 啟動EC2Instance 登入AWSManagementConsole在上方搜尋列輸入並選擇EC2點擊左側功能列〔Instances〕>〔Instances〕點擊左上角橘色的〔LaunchInstances〕 設定EC2InstanceType 這步驟我們盡量選擇免費方案可以使用(Freetiereligible)的選項。

註:不管是AWS一般帳號的免費試用或是AWSEducateStarter帳號,它們所謂的「免費」,通常是指某些資源在某些額度下能免費使用,不是全部都不用付費噢。

EC2的InstanceType會影響運算效能、記憶體存取、網路連線速度與穩定度等,某些特定代號的InstanceType會加強特定面向的表現,不過待會兒選擇的「t2.micro」屬於一般基本用途(GeneralPurpose)的類型。

延伸閱讀:AmazonEC2執行個體類型 找到〔QuickStart〕的〔AmazonLinux2AMI〕點擊右側藍色的〔Select〕InstanceType選擇〔t2.micro〕點擊右下角灰色的〔Next〕 設定Userdata Userdata是讓我們能在EC2上快速建立網站的關鍵。

Userdata是在第一次啟動EC2Instance時告訴EC2有哪些事情要做的指令,比如要安裝伺服器、建檔案、初始化某些數據等,而且Userdata只會在第一次啟動Instance的開機過程中執行。

Userdata可以透過2種方式輸入,一種是Shell指令碼,另一種是cloud-init指示詞。

這次實作採用Shell指令碼,會用到的指令碼如下。

基本上就是透過下面的指令碼建立並設定一個Web伺服器: #!/bin/bash #installhttpd(Linux2version) yumupdate-y yuminstall-yhttpd systemctlstarthttpd systemctlenablehttpd echo"

HelloWorldfrom$(hostname-f)

">/var/www/html/index.html 在ConfigureInstanceDetails下方的「Userdata」貼上Shell指令碼點擊右下角灰色的〔Next〕點擊右下角灰色的〔Next〕 新增Tag (選用)加上Key為Name的Tag,Value填Instance的名稱(選用)新增其他Tag到該Instance點擊右下角灰色的〔Next〕 設定SecurityGroup SecurityGroup是網路的防火牆,可以決定網路流量能從哪些管道進入或離開Instance。

預設的SSH(SecureShell)可以讓使用者登入屬於Linux系統的Instance。

點擊〔AddRule〕SecurityGroup新增HTTP點擊右下角藍色的〔ReviewandLaunch〕 新增EC2金鑰(KeyPair) 金鑰可以在之後用來連線到EC2Instance,不過金鑰只能下載一次,所以還需要使用Instance的期間不要弄丟金鑰。

另外,任何擁有金鑰的人都可以連線到你的Instance,因此不要輕易讓別人知道你的金鑰。

AmazonEC2金鑰對與Linux執行個體 點擊右下角〔Launch〕選擇〔Createanewkeypair〕輸入金鑰名稱點擊灰色的〔DownloadKeyPair〕將下載的.pem檔保存好點擊藍色的〔LaunchInstances〕 成功啟動EC2Instance後會跳到類似下方的頁面,點擊綠色框框中的藍色連結,可以回到一開始啟動Instance的頁面,並在那裡查看Instance的狀態。

成功將網站建立在EC2上 回到〔Instances〕的頁面時,我們剛建立的Instance可能還處於「Pending」的狀態,約等10至20秒鐘,Instance的狀態就會變為綠色的「Running」啦。

此時若點擊Instance,也會在下方看見Instance的詳細資訊,大家最好奇的應該是PublicIPv4address能不能連到網站吧。

不過當點擊藍色的openaddress,卻發現網頁會跑不出來,原因是因為我們剛剛設定的網址開頭是http而不是https。

所以我們換一個方式,將PublicIPv4address複製起來(可以點它旁邊的複製按鈕),打開任何一個瀏覽器,將網址貼上再按下Enter鍵。

搭啦,我們看見來自網站的HelloWorld了!仔細看HelloWorld後面的ip是PrivateIPv4address。

終止EC2Instance 會啟動EC2Instance很棒,會終止EC2Instance很重要,因為這可能攸關我們會不會被收取意料以外的費用。

如果大家只是想要暫時停止Instance,有以下2個方式: 針對該Instance按上方〔Instancestate〕的〔Stopinstance〕針對該Instance按滑鼠右鍵,點擊〔Stopinstance〕 然後Instance就會被暫停了,只是要提醒大家此時雖然Instance處於暫停狀態,還是會產生一些些的費用噢,我用Starter帳號時,一天大概會被扣0.03左右的credits吧,這相當被收0.03美金。

為了完全避免產生額外的費用,請大家視情況「終止」你的Instance,按下終止後EC2Instance和相關資料都會被刪除。

終止Instance的步驟和停止Instance類似,只是要改成選擇〔Terminateinstance〕: 剛終止Instance時或許還會看到Instance出現在畫面上,只是狀態改成Terminated,不過一陣子之後再回來看,會發現該Instance已經被刪掉了。

小補充:如果在暫停Instance後,重新啟動Instance? 如果在暫停Instance後,重新啟動Instance,該Instance基本上和原本的會一模一樣,但有個值得注意的地方是PublicIPv4address會改變,而PrivateIPv4address則和原本的一樣。

大家有興趣可以再自己去試試看囉。

其他【零基礎學雲端運算】系列文章 AWS儲存空間種類、特色簡介 [實作]AWSLambda&AmazonAPIGateway建立Telegram聊天機器人 (下) [實作]AWSLambda&AmazonAPIGateway建立Telegram聊天機器人 (上) [EC2教學]使用SSH從Windows10連線至Linux Instance AWSEducate完整教學3:建立Starter帳號,取得免費Credit實作AWS 服務 AWSEducate完整教學2:課程、職業途徑& 徽章、其他功能介紹 載入更多文章 正在載入… 執行時發生錯誤。

請重新整理頁面後再試一次。

參考資料 AmazonEC2入門 UltimateAWSCertifiedSolutionsArchitectAssociate2021 看完文章後是不是對AWS的服務更感興趣了呢?由AWS官方推出的AWSEducate提供學生線上學習雲端技能的機會,而且所有課程內容都是免費的!推薦大家瀏覽AWSEducate官方網站以獲得更完整的資訊。

分享此文:按一下以分享至Facebook(在新視窗中開啟)分享到Twitter(在新視窗中開啟)點這裡寄給朋友(在新視窗中開啟) 已發表 2021-07-132021-07-13 文章分頁導航 前一篇AWSEducate完整教學3:建立Starter帳號,取得免費Credit實作AWS 服務下一篇[EC2教學]使用SSH從Windows10連線至Linux Instance 發表迴響取消回覆 在此輸入你的回應… 在下方填入你的資料或按右方圖示以社群網站登入: 電子郵件(必須填寫)(電子郵件地址不會公開) 名稱(必須填寫) 個人網站 您的留言將使用WordPress.com帳號。

( 登出 /  變更 ) 您的留言將使用Google帳號。

( 登出 /  變更 ) 您的留言將使用Twitter帳號。

( 登出 /  變更 ) 您的留言將使用Facebook帳號。

( 登出 /  變更 ) 取消 連結到%s 透過電子郵件通知我後續回應。

有新文章時用Email通知我。

Δ 想找什麼嗎? 搜尋: 零基礎學雲端運算、AWS本日熱門文章 [C++]用C++寫一個簡單的射擊遊戲 實用!在HTML插入空白的6種方式 [技巧]自動調整視窗大小、提高解析度......小技巧讓VirtualBox虛擬機更好用 AWSvsAzurevsGCP—比較3大雲端供應商的差異、優點與特色 Excel規劃求解—找最佳解的好幫手 使用WordPress,卻搜尋不到網站?如何將網頁登錄至Google? 近期關心內容訂閱April的最新文章 輸入電子郵件地址以關注本網站(AprilYang),並透過電子郵件接收最新的文章消息。

你隨時可以取消訂閱,開啟任何一封本網站寄給你的信,點擊「取消訂閱」即可完成。

電子郵件地址: 我想看新文章! 聯絡信箱 [email protected] 網站瀏覽量 94,268 用WordPress.com建立自己的網站立即開始使用 追蹤 已追蹤 AprilYang 我要註冊 已經有WordPress.com帳號了?立即登入。

AprilYang 自訂 追蹤 已追蹤 註冊 登入 複製短網址 回報此內容 以閱讀器檢視 管理訂閱 收合此列 傳送到電子郵件地址 你的姓名 你的電子郵件地址 取消 文章未送出─請檢查你的電子郵件地址! 電子郵件地址檢查失敗,請再試一次 抱歉,你的網誌無法透過電子郵件分享


請為這篇文章評分?