正在为人工智能或全栈开发而苦恼?我们的专家将为您提供指导:量身定制的建议、技术整合等。联系我们 [email protected].

使用 VSCode 在 AWS 服务器上设置远程开发环境

Summary

本课程介绍如何设置远程开发环境(也称为 "远程解释器"),以便您可以在本地编写代码,但在远程服务器上执行代码。

远程开发环境有几大优势:

在本视频中,我们将展示如何在 AWS EC2 上创建服务器实例,然后在 VSCode 中设置远程开发环境。

课程结构如下:

Transcript

大家好,我是 NLP 云的朱利安-萨利纳斯。

今天,我将向你展示如何设置远程开发环境,以便你在本地机器上编写代码,但在远程 AWS 服务器上执行代码。

本课程没有先决条件,所以我们开始吧。

什么叫远程开发环境?实际上,这意味着我们要像现在大多数人一样,在本地使用 VS Code 进行编码。

如果您使用的是其他开发环境,则应检查是否支持远程解释器或远程开发环境,我们将在 AWS 实例上实际远程执行代码。

我们今天选择 AWS,是因为我知道你们中的大多数人都在日常生产工作流程中使用 AWS,但如果你们使用的是 GCP 或 Azure 或 OVH 或 Scaleware 或其他任何东西,流程也会非常相似。

正如你将看到的,这将是关于配置实例、检索 IP 地址以及在 VS 代码中本地使用它通过 SSH 连接到实例。

我们为什么要使用远程开发环境?第一个原因是,我们希望能够降低本地开发环境的成本。

例如,你可能不想购买价格昂贵的高端 MacBook Pro Ultra M2,在这种情况下,购买一台较低端的本地机器,但在需要时随时远程执行代码可能更划算。

第二个非常重要的原因是,特别是对于机器学习工程师来说,您有时需要访问 GPU 等高端硬件,而这些硬件不一定能在本地机器上使用。

例如,如果您想使用 A100 英伟达™(NVIDIA®)GPU 或 H100,您肯定无法在本地获得此类 GPU。

正如我们今天要展示的那样,这样做非常有用,因为否则你根本无法获得用于 GPU 开发的特定机器。

最后,您将使用远程环境这一事实非常好,因为它实际上是一个完全隔离的环境,这意味着如果您想安装特定的库、框架或驱动程序,您可以在远程 AWS 机器上进行安装。

比方说,如果明天需要安装另一版本的英伟达驱动程序和 CUDA 工具包或 Python 库等,只需配置第二台服务器,就能确保两台服务器互不干扰。

两种配置都将完全隔离。

当然,你也可以用 Docker 甚至 Python 中的虚拟环境来实现类似的功能。

但试想一下,你想安装多个版本的英伟达驱动程序。

这将复杂得多。

在这种情况下,配置多个远程环境可能是唯一的解决方案。

因此,我们现在要做的第一件事就是连接到 AWS 控制台,创建一个基本的 AWS 实例(CPU 实例),然后在本地通过 VS 代码使用它。

开始了

我现在正在使用 AWS 控制台。

如果您是第一次使用 AWS,只需创建一个带有电子邮件密码的账户即可。

我不认为他们要求的信息太多。

现在,你可以在 EC2 中创建一个实例。

我们将点击启动实例。

我们可以为实例命名。

例如,我们把它叫做开发环境。

好的

现在是最重要的部分。

我们需要为实例选择操作系统。

你真的想选择 Linux,就我而言,我真的很喜欢 Ubuntu,因为它是标准的,而且我确信最新的驱动程序都会安装在 Ubuntu 上,尤其是英伟达驱动程序,它真的很有帮助。

所以我在这里点击 Ubuntu。

如果这是你第一次使用 Linux,不用担心。

我们不需要太多的 Linux 技巧或命令。

我们基本上将从 VS 代码中完成所有工作,当然,除了引擎盖后面将是 Linux,但我认为这对你来说不会有太大问题。

您可以保持 2204 LTS 版本不变。

现在,我们将选择一个简单的 CPU 实例。

例如,在 AWS 上,你有一个 M5 实例,M5 大,两个 CPU,8GB 内存。

非常适合我们。

也许对今天来说还太大,但在未来,您将不得不选择完全符合您需求的实例。

好的

现在,我们需要使用 SSH 密钥对。

因此,如果你是第一次在这里使用 SSH,就需要在 AWS 上创建自己的密钥对,创建新的密钥对。

我们称之为测试密钥对。

您可以选择 PEM 格式,创建密钥对。

现在我正在我的机器上下载,抱歉。

好的

这里不需要更改安全组。

默认情况下,SSH 端口是开放的,这没有问题。

这正是我们所需要的。

8GB 的固态硬盘非常适合现在使用。

然后点击启动实例。

好的

实例已准备就绪。

如果这是您第一次在 AWS 上创建实例,可能需要请 AWS 支持人员升级配额。

我也不太清楚。

对于非常昂贵的实例,如 GPU 实例,您必须要求升级配额。

对于简单的 M5 例子,我不确定。

但是,如果你在这里出错,要求增加配额,那就是你要做的。

下面是我们的实例。

如你所见,它已经在运行了。

速度非常快。

M5 大号。

右侧是我们要使用的 IP 地址。

现在,我们已经创建了实例,并在机器上下载了 SSH 密钥对,我们要做的就是打开 VS Code,创建与远程服务器的 SSH 连接。

如果这是第一次在 Windows 上使用 SSH 客户端,则需要激活它。

下面是 Windows 团队提供的关于如何操作的教程。

你只需在谷歌上输入在 Windows 上创建 SSH 客户端,就能找到很多教程。

以下是官方版本。

如果你稍微往下浏览,就会发现它非常简单。

您只需激活 Windows 应用程序中的某些功能即可。

如果您使用的是 Linux 系统,则默认安装了该软件。

所以我现在在 VS 代码中。

在左下角,你可以看到这个按钮。

我正在点击将当前窗口连接到主机。

如果您是第一次使用该远程连接模块,也许 VS Code 会下载该插件。

因此,您可能需要几秒钟才能访问该功能。

我正在配置主机,请单击 "配置主机"。

我今天用的是 Windows 系统,所以我的配置在这里。

这里是我需要填写的配置文件。

因此,最重要的是,我们需要获取实例的 IP 地址并将其粘贴到这里。

太完美了

我们可以为我们的联系命名,但它只属于我们自己。

就叫它 DevHouse 吧。

用户名是 SSH 客户端用于连接实例的用户名。

鉴于我们配置的是 Ubuntu 服务器,因此默认用户名为 Ubuntu。

下载密钥对(SSH 密钥对)后,我把它放在 Windows 的桌面上。

因此,VS 代码将从这里获取密钥。

您可以保存文件,然后点击底部的 "再次连接当前窗口到主机"。

DevHouse 就是我们刚刚创建的。

您需要在这里等候。

非常好

你可以看到,VS 代码要求我进行密钥交换。

是的,这是我们第一次连接到这个实例。

因此,出于安全考虑,我们需要接受这个新指纹。

很好。

这似乎不是很引人注目,但我们现在实际上是在我们的远程 AWS 实例上。

你可以看到它,因为在左下角,你可以看到 SSH。

要检查它,可以在顶部打开一个终端,点击新终端。

在这里你可以看到,这个终端绝对不是我本地 Windows 机器的终端。

我使用的是 Ubuntu 机器。

如果我愿意,还可以像在 Linux 上一样使用一些 Linux 命令,比如列出目录。

这里什么都没有,所以我们可以创建一个目录。

比方说,我们想创建一个开发环境来进行一些测试。

现在,我们在这里创建了新的测试文件夹。

要么你想用命令行完成所有操作,要么更好,你想使用 VS Code 的图形界面像往常一样浏览文件。

点击顶部的 "打开文件夹"。

在这里,你可以看到我刚刚创建的测试目录。

现在,VS Code 再次打开,但这次是在我提到的特定文件夹中。

从现在开始,你可以像在本地机器上一样开始开发,只不过你的代码将在 AWS 上执行。

那就来试试吧。

例如,让我们创建一个简单的 Python 程序:hello, 新文件 test.py, 打印, hello

保存文件。

然后在控制台中,我们就可以执行文件了。

你好

您刚刚在 AWS 上成功运行了第一个远程代码。

今天就到这里吧。

现在,您可以随心所欲地使用远程开发环境。

当您不再需要 AWS 实例时,不要忘记将其关闭。

再见