使用VS Code遠程開發Amazon EC2:便捷高效的雲端開發體驗
本文將指導您如何在Amazon EC2上配置VS Code遠程開發環境,實現便捷、高效的雲端開發。 此方法具有可移植性強、可擴展性高、生產與開發環境同步、開發流程流暢以及可靠性高等優點。但需注意,穩定的網絡連接至關重要,以避免因斷線導致工作丟失。
關鍵要點:
- 通過在Amazon EC2上設置VS Code遠程開發,可以實現代碼的可移植性、可擴展性、生產與開發環境的同步、無縫的開發體驗以及更高的可靠性。然而,這需要穩定的網絡連接以避免因斷線造成的工作損失。
- 創建和配置AWS服務器涉及登錄AWS管理控制台、選擇Ubuntu作為首選版本、選擇t2.micro作為實例類型、允許傳入SSH連接以及創建一個新的密鑰對。
- 安裝和配置Visual Studio Code擴展程序包括安裝Remote-SSH擴展程序以及使用服務器的IP地址和私鑰路徑配置遠程SSH擴展程序。
- 測試設置包括連接到上一步中創建的主機配置並選擇工作目錄。本教程還包括創建演示Node服務器的步驟。
遠程開發簡單來說就是在遠程服務器上進行開發。本地機器通過SSH連接到雲端服務器。 SSH代表安全外殼或安全套接字外殼——一種通過終端安全地在兩台計算機之間進行通信的協議。
圖片源自:code.visualstudio.com
Amazon Elastic Compute Cloud (EC2) 提供可擴展的計算資源來構建應用程序(服務器),而無需處理管理物理計算機的責任。在本例中,我們將使用Visual Studio Code編輯器,並通過SSH連接將其連接到EC2實例。
前提條件
要學習本教程,您需要具備以下條件:
- 基於Linux的操作系統或安裝了WSL2的Windows 10。
- 在您的機器上安裝了SSH客戶端。大多數Linux機器上都應該包含此客戶端作為標準配置。如果沒有,請參考此受支持客戶端列表。
- 已激活的AWS賬戶。如果您沒有,請按照官方教程進行操作。
遠程開發的優缺點
在介紹操作方法之前,讓我們先了解一下遠程開發的原因。以下是服務器開發的一些優缺點。
首先,優點:
- 可移植性: 您可以使用任何具有互聯網訪問權限的設備進行編碼。您的代碼不會綁定到您的本地機器,因此您可以使用任何可用的設備隨時隨地進行編碼。
- 強大的性能: 您可以根據工作負載輕鬆擴展遠程服務器。啟動一個32GB RAM AMD EPYC實例來處理一些數據科學工作負載非常簡單。
- 生產與開發環境同步: 通過擁有與生產環境類似的遠程開發環境,您可以最大限度地減少部署問題。
- 無縫開發: 遠程編碼使您可以創建專門針對當前項目的環境。例如,一個項目可能需要不同版本的MySQL、C 和系統庫,如LibPng和ImageMagick。管理這些不同版本可能會非常繁瑣,因為由此產生的任何錯誤都難以復制。
- 可靠性: 雲服務器比您的本地機器可靠得多。根據您的配置,您的服務器數據可以復製到世界不同地區的服務器。
現在讓我們來看看缺點。
避免在遠程環境中進行編碼的主要原因是需要互聯網連接才能訪問您的遠程服務器。使用快速的互聯網連接,在打開、創建和鍵入文件以及與遠程服務器的命令行交互時,遠程開發體驗感覺很自然。但是,使用緩慢的3G網絡,您可能會與服務器斷開連接,這可能會導致工作損失,從幾秒鐘到幾分鐘不等。
接下來,讓我們進入文章的核心內容——設置一個免費的EC2實例並將其連接到我們的本地VS Code編輯器。
創建和配置AWS服務器
讓我們逐步了解如何創建和配置您的雲實例。
登錄AWS管理控制台。
點擊EC2進入EC2儀表板。點擊啟動實例按鈕。您將被定向到AMI選擇頁面。
在AMI選擇頁面上,搜索Ubuntu並選擇您首選的版本。確保架構設置為x86。我們將使用x86架構,因為它與ARM相比具有更廣泛的軟件支持。
選擇t2.micro作為實例類型。
將其餘步驟保留為默認設置,直到您進入添加存儲步驟。我建議您至少使用24GB。如果您正在為Node.js開發,npm庫會佔用相當大的空間,使用更少的空間可能會讓您陷入困境,因此謹慎為妙。
當您進入配置安全組步驟時,您需要允許傳入SSH連接,您有兩個選擇:
- 啟用所有傳入IP地址:選擇此選項將允許任何IP地址訪問您的SSH端口,如果您的情況需要方便而不是安全,請選擇此選項。
- 我的IP:如果安全更重要,請從下拉菜單中選擇此選項以僅將IP地址限制為您的IP地址。
點擊啟動後,系統會要求您選擇或創建SSH密鑰對。選擇創建新的密鑰對。命名密鑰對。
點擊下載密鑰對按鈕將獲得私鑰文件。這將下載一個pem文件,您應該將其存儲在方便的目錄中並記下其目錄路徑。
接下來,點擊啟動實例按鈕,您的EC2實例將開始創建過程。轉到實例頁面,您應該會找到您新創建的實例。
最後,點擊實例以導航到其詳細信息頁面,並記下其公共IPv4 DNS地址。
我們將此地址稱為實例的“主機名”。
安裝和配置Visual Studio Code擴展程序
既然我們已經成功創建了一個EC2實例,讓我們看看在Visual Studio Code中我們需要做什麼。如果您的機器上沒有安裝Visual Studio Code,請訪問其下載頁面並獲取適合您系統的正確軟件包。
安裝遠程SSH VS Code擴展程序
安裝VS Code後,打開編輯器中的擴展程序選項卡(您可以選擇使用快捷鍵Ctrl Shift X),並在擴展程序市場中搜索“remote ssh”。
找到並安裝Remote-SSH擴展程序,確保它是正確的擴展程序(由Microsoft創作,在撰寫本文時安裝量為430萬)。
配置遠程SSH擴展程序
點擊編輯器左下角的新按鈕。這將打開命令面板,您應該在其中選擇Remote-SSH: Open Configuration File。
一個SSH配置文件將彈出(如果擴展程序識別多個配置文件,請選擇當前用戶的配置文件),您可以在其中輸入以下配置:
<code>Host VS Code-ssh-tutorial HostName <hostname> User ubuntu IdentityFile <path to identity file></path></hostname></code>
- Host可以是任何名稱。這將顯示在VS Code中。
- HostName是服務器的IP地址。我們在創建EC2實例時記下了這一點。
- User是默認的Ubuntu用戶名(在本例中為ubuntu)。
- IdentityFile是我們之前下載的私鑰(pem文件)的完整路徑。
測試設置
點擊左下角的remote-ssh按鈕,然後點擊下拉菜單中出現的Connect to Host。
將出現另一個下拉菜單。選擇您在上一步中創建的主機配置(VS Code-ssh-tutorial)。如果一切順利,您應該會看到一個新的編輯器窗口,要求您選擇您的工作目錄。
這樣,您就設置好了遠程開發環境。現在讓我們使用Node.js創建一個簡單的演示應用程序。
創建演示Node服務器
使用快捷鍵打開終端:Ctrl Shift `,然後使用以下命令安裝Node.js:
<code>sudo apt update sudo apt install nodejs</code>
接下來,在一個名為test的新目錄中創建一個index.js文件:
<code>mkdir test && cd test && touch index.js</code>
將以下內容放入index.js文件中:
//index.js const http = require('http'); const hostname = '127.0.0.1'; const port = 3000; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
使用服務器終端中的以下命令運行此測試服務器:
<code>node index.js</code>
運行此代碼後,VS Code編輯器的右下角將彈出一個小的彈出窗口,如下所示。
您有兩個選項,在瀏覽器中打開和在編輯器中預覽。無論您選擇哪個,您都會發現服務器的端口已轉發到您的localhost,並且可以使用localhost:3000訪問。
故障排除
如果您在連接到您創建的實例時遇到任何問題,以下是一些故障排除技巧:
- 檢查配置文件,確保私鑰文件路徑正確。
- 確保主機名正確。
- 檢查您的AWS實例防火牆設置。如果您將其設置為允許特定IP,請確保您的當前IP沒有更改。
- 如果您重新啟動了AWS實例,其IP地址將發生更改,因此請記住使用新的IP地址更新配置文件。
結論
在本教程中,我們創建了一個免費的AWS t2.micro實例。我們將其設置為允許來自本地機器的SSH連接,並通過遠程SSH擴展程序連接到它。最後,我們能夠訪問我們在遠程環境中創建的端口轉發服務器。
關於在Amazon EC2上進行VS Code遠程開發的常見問題解答(FAQ)
(此處省略FAQ部分,因為篇幅過長,且與文章主體內容重複性較高。 FAQ部分內容可以根據需要重新組織,並精簡重複信息。)
以上是在Amazon EC2上免費設置VS代碼遠程開發的詳細內容。更多資訊請關注PHP中文網其他相關文章!

與這些頂級開發人員新聞通訊有關最新技術趨勢的了解! 這個精選的清單為每個人提供了一些東西,從AI愛好者到經驗豐富的後端和前端開發人員。 選擇您的收藏夾並節省時間搜索REL

該教程通過使用AWS服務來指導您通過構建無服務器圖像處理管道。 我們將創建一個部署在ECS Fargate群集上的next.js前端,與API網關,Lambda函數,S3桶和DynamoDB進行交互。 Th

該試點程序是CNCF(雲本機計算基礎),安培計算,Equinix金屬和驅動的合作,簡化了CNCF GitHub項目的ARM64 CI/CD。 該計劃解決了安全問題和績效


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

記事本++7.3.1
好用且免費的程式碼編輯器

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境