iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 24
0
自我挑戰組

從python入門到物聯網系列 第 24

Day24 - 建立 Amazon EC2 虛擬主機

前言

接下來這幾天,會實際建造MQTT Broker 傳訊方式,會在AWS上開一台EC2 虛擬機並且安裝 Mosquitto Broker,然後使用Chrome瀏覽器的應用程式「MQTTLens」訂閱與發布MQTT訊息,除此之外也會使用 Python 來收訊以及發送 MQTT 的訊息。

Amazon EC2 虛擬主機

Amazon Elastic Compute Cloud (EC2) 彈性的雲端計算,可以在雲端建立和執行虛擬機器的 Amazon Web Service。

  • 功能:
    • 提供安全的雲端服務
    • 可以調整大小的運算容量
    • 降低開發人員進行 Web 規模雲端運算的難度。

啟動 Ubuntu 虛擬機器

我選擇開啟的虛擬機作業系統環境為Ubuntu。
(題外話: 原本選擇Linux AMI 結果不知道為什麼不能安裝Mosquitto Broker,找了很多方法都不能安裝,就換成Ubuntu了。)

Step1:

開啟 AWS 管理主控台。找到 EC2 並選取 Amazon EC2 開啟服務主控台。
接著選取 Launch Instance 最明顯的藍色按鈕給他按下去吧!

Step2:

選擇系統 Amazon Machine Image (AMI)
尋找 Ubuntu Server 18.04 LTS (HVM), SSD Volume Type 然後 Select 藍色按鈕給他按下去吧!

Step3:

選擇執行虛擬機配備,包括各種 CPU、記憶體...我選擇預設項目,這個是免費方案,這種就足夠運算及處理簡單的工作了,接著頁面底部 Review and Launch 藍色按鈕給他按下去吧!

接著就檢查一下選取的組態、儲存、標記和安全設定。基本上使用預設值即可,接著就按下頁面底部 Launch 藍色按鈕給他按下去吧!

Step4:

接下來要創立金鑰,可以選擇舊的,也可以再創一個新的,在這裡示範的是建立新的金鑰。金鑰對搭配 SSH 之後就可以安全地存取 Ubuntu 虛擬機。

選擇 Create a new key pair 並指定名稱。接著按下 Download Key Pair

下載完後就可以按下 Launch Instance 藍色按鈕,啟動 Ubuntu 執行個體。

接著就會出現以下畫面,按下 View Instances,查看剛才啟動的執行個體狀態。

接著就可以查看 Instance State 欄會變更為 running 並顯示公有 IP 地址。

Step5:

剛剛下載的金鑰

Windows 使用者:

建議把金鑰對儲存在 user 目錄中名為 .ssh 的子目錄中
例如:C:\user\{yourusername}\.ssh\key名稱.pem

當發現資料夾中並沒有.ssh資料夾
注意: Windows 不能建立用.開頭的資料夾名稱,就會像這樣出錯

解決
檔案名稱輸入.ssh. 前後都加上.系統會自動移除最後的.

Mac/Linux 使用者:

建議把金鑰對儲存在主目錄的 .ssh 子目錄中
例如:~/.ssh/key名稱.pem

可以手動移,也可以利用終端機
看你一開始把檔案存到哪裡,一般預設是存到Downloads資料夾(下載項目),這裡我是存在桌面。
在終端視窗輸入:

  • 存到Downloads:
    mv ~/Downloads/key名稱.pem ~/.ssh/key名稱.pem

  • 存在桌面:
    mv ~/Desktop/key名稱.pem ~/.ssh/key名稱.pem

macOS 登入/開啟/連接 AWS EC2

Step1:

使用 chmod 命令,輸入下列命令限制SSH 金鑰的許可,確保金鑰檔案無法公開檢視。

chmod 400 ~/.ssh/wsrsw.pem

wsrsw.pem 這個金鑰 只有自己可以看到 read r

Step2:

當我們一般在遠端連線電腦,都是要輸入ip位置才能連線,第一步就是來找一下EC2裝置的ip位置吧。

將裝置的 IPv4 Public IP 複製下來

Step3:

使用 SSH 連接EC2。
指令格式為:

ssh -i {full path of your .pem file} ubuntu@{instance IP address}

輸入以下資訊:

ssh -i ~/.ssh/key名稱.pem ubuntu@IP_Address

範例:

ssh -i ~/.ssh/wsrsw.pem ubuntu@54.xx.xx.xx

輸入 yes,然後按 enter。

當終端機名稱變成 ubuntu@ip... 代表已連接到雲端的 AWS ubuntu 虛擬機。

終止 AWS EC2 服務

可以從 EC2 主控台終止執行,這樣就不用付費。
選擇要終止的EC2,接著按一下 Actions 按鈕,選擇 Instance State 再按 Terminate

按下 Yes, Terminate 確認終止系統。

Instance State 會變成 terminated

終止成功!

明天就來EC2虛擬機上架設MQTT Broker 吧!!!

參考資料

https://docs.aws.amazon.com/zh_tw/AWSEC2/latest/UserGuide/concepts.html

https://aws.amazon.com/tw/getting-started/tutorials/launch-a-virtual-machine/?trk=gs_card

https://oranwind.org/-aws-zai-aws-ec2-an-zhuang-ubuntu/


上一篇
Day23 - 物聯網雲端服務 Microsoft Azure IoT Edge
下一篇
Day25 - AWS EC2 安裝 Mosquitto
系列文
從python入門到物聯網30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言