介绍
最近,据报道亚马逊网络服务 (AWS) 是最大的云基础设施提供商。许多公司和组织正在将 AWS 平台用于其许多云服务。AWS 提供了多种解决方案,例如 Elastic Compute Cloud (EC2)。EC2 实例很有用,因为它们可以通过编程方式创建、扩展和部署。在此示例中,我们将设置 AWS、一个 EC2 实例和一个 Python 环境。
设置 AWS 账户
首先,我们需要一个AW秒帐户。为简单起见,我将使用 ACloudGuru 提供的沙箱。使用付费的 ACloudGuru 帐户,您可以前往 Playground 并选择“Start AWS Sandbox Access”。如果您无权访问 ACloudGuru,您可以注册免费套餐 AWS 账户。
设置 AWS 账户
首先,我们需要一个AW秒帐户。为简单起见,我将使用 ACloudGuru 提供的沙箱。使用付费的 ACloudGuru 帐户,您可以前往 Playground 并选择“Start AWS Sandbox Access”。如果您无权访问 ACloudGuru,您可以注册免费套餐 AWS 账户。

AWS CLI 设置
为了获得 AWS 的全部优势,我们需要学习如何以编程方式与我们的账户进行交互。为此,我们使用 AWS 命令行界面 (CLI)。要在您的系统上安装 AWS CLI,请转到https://aws.amazon.com/cli/上的下载页面,然后从右侧窗格中选择您的操作系统 (OS)。我使用的是 Windows 10,所以我下载了 64 位 Windows 安装程序。

安装成功后,您可以通过在命令提示符下使用以下命令来验证 AWS CLI 是否已正确安装:
aws --version

要完成设置,请运行以下命令:
aws 配置
这允许您使用登录信息配置 AWS CLI。粘贴您的访问密钥 ID 和秘密访问密钥。对于默认区域,我选择“us-east-1”有两个原因。首先,我位于东海岸,其次,并非所有 AWS 功能都可用,但“us-east-1”拥有所有功能,并且通常是测试新功能的区域。完成后,您可以通过再次运行“aws configure”来验证您的配置。当您按 Enter 以迭代配置时,这将显示每个设置的当前值。

AWS EC2 身份验证
为了使用我们的 EC2 实例进行身份验证,我们将使用密钥对。我们将使用以下命令创建一个名为“MyKeyPair”的密钥对,并将密钥内容输出到名为“MyKeyPair.pem”的文件中。
aws ec2 create-key-pair — 密钥名称 MyKeyPair — 密钥类型 rsa — 查询“KeyMaterial” — 输出文本 > MyKeyPair.pem
要验证密钥对是否存在,我们可以使用以下命令:
aws ec2 describe-key-pairs — 密钥名称 MyKeyPair

AWS EC2 安全组
安全组用作防火墙来确定哪些流量可以进入和离开 EC2 实例。对于我们的示例,我们需要允许通过端口 22 访问我们的 Internet 协议 (IP) 地址,从而允许安全外壳 (SSH) 访问。SSH 通常用于使用控制台远程登录到机器。由于我使用的是 Windows 计算机,因此我还将允许通过用于远程桌面协议 (RDP) 的端口 3389 进行通信。首先,我们将使用以下命令创建名为“my-sg”的安全组,其描述为“我的安全组”。
aws ec2 create-security-group — 组名 my-sg — 描述“我的安全组”

接下来,我们将要获取我们的公共 IP 地址。为此,我们将运行以下命令并获得一个 IP 地址,如“127.0.0.1”。
卷曲https://checkip.amazonaws.com
127.0.0.1
然后我们想使用以下命令添加tcp端口例外,其中127.0.0.1是我们从curl命令获得的公共IP地址。
aws ec2 authorize-security-group-ingress — 组名 my-sg — 协议 tcp — 端口 22 — cidr 127.0.0.1/32
aws ec2 authorize-security-group-ingress — 组名 my-sg — 协议 tcp — 端口 3389 — cidr 127.0.0.1/32

AWS EC2 设置
创建密钥对和安全组后,我们就可以创建 EC2 实例了。AWS 提供各种具有不同计算和内存容量的实例类型。对于我们的示例,我们将使用 t1.micro 实例,因为 AWS 允许每月免费使用 750 小时的 t1.micro。所有可用实例类型的列表可以在https://aws.amazon.com/ec2/instance-types/找到。
要创建我们的 EC2 实例,我们还需要为我们将部署的操作系统选择一个 Amazon 系统映像 (AMI)。在本例中,我们将部署 Ubuntu 20.04 服务器。我们可以去https://console.aws.amazon.com/ec2/v2/home?region=us-east-1#LaunchInstanceWizard查找 Ubuntu 20.04 服务器的 AMI。可以使用“describe-images”命令通过 AWS CLI 搜索 AMI,但 Web 门户明确指出符合免费套餐条件的 AMI。我们向下滚动,直到看到我们的操作系统并复制 AMI 的 ImageId。

我们现在拥有创建 EC2 实例所需的一切。我们可以使用以下命令创建我们的实例,其中“ami-09e67e426f25ce0d7”作为我们的图像ID,“t1.micro”作为我们的实例类型,“MyKeyPair”作为我的密钥对名称,“my-sg”作为我的安全组名称。
aws ec2 运行实例 — 图像 ID ami-09e67e426f25ce0d7 — 计数 1 — 实例类型 t1.micro — 密钥名称 MyKeyPair — 安全组 my-sg
完成后,我们可以使用以下命令来验证我们的 EC2 实例的创建。请记下 PublicIpAddress 字段下的 IP 地址以备后用。
aws ec2 描述实例

AWS PEM 到 PPK
我们的 EC2 实例现已成功运行。为了从我们的 Windows 机器连接到我们的 EC2 实例,我们将使用 Putty。要安装 Putty,请前往 putty.org 下载并安装相应的软件包。安装成功后,打开 PuTTYgen 应用程序。

Putty 需要 *.ppk 文件进行身份验证,因此我们需要转换 *.pem 文件。首先打开我们之前创建的 *.pem 密钥对。为了查看它,您需要从默认的 *.ppk 视图更改为所有文件 (*.*) 视图。

加载 *.pem 文件后,单击“保存私钥”将您的密钥对保存为 *.ppk 文件。

带有 Putty 的 AWS SSH
保存转换后的密钥对后,关闭 PuTTYgen 并打开 PuTTY。回想我们通过运行命令“aws ec2 describe-instances”从 EC2 实例获取的公共 IP 地址。如图所示,我们将该 IP 地址粘贴到 PuTTY 的 Host Name 字段中。

我们还需要将我们的 SSH 密钥对包含到我们的 EC2 实例中。在左侧,导航到连接 > SSH > 身份验证。单击浏览以导航到您的 *.ppk 密钥对文件。选择它,然后按“打开”以开始 SSH 进入您的实例。

此实例的默认登录用户帐户是“ubuntu”。输入它,SSH 连接应该成功建立,您应该具有终端访问权限。

升级包
我们现在在 Windows 中使用的是 Unbuntu 20.04 操作系统。这意味着我们通过 SSH 使用的命令是 linux 命令,例如“ls”而不是“dir”。另外,由于 Ubuntu 是 Debian 系统,所以我们将使用 apt 而不是 yum。为了确保我们是最新的,我们要升级所有软件包。为此,我们必须首先确保我们所有的存储库都是最新的。我们可以运行以下命令来确保它们是。
sudo apt 更新

现在存储库是最新的,我们可以使用以下命令升级所有包。
sudo apt 升级

创建虚拟环境
一切都是最新的,我们现在可以继续设置我们的 Python 环境。为此,我们将创建一个虚拟的 Python 环境。这使我们能够隔离可能需要不同库或特定版本号的 Python 环境。我们将运行以下命令来安装虚拟环境包。
须藤 apt-get 安装 python3-venv

我们现在应该可以使用虚拟环境包了。对于我们的示例,我们将创建一个名为“environment”的环境。首先,我们使用以下命令创建名为“environment”的目录。
mkdir 环境
然后我们使用以下命令在“environment”目录中设置我们的虚拟环境。
python3 -m venv环境/
最后,我们需要激活环境。这让终端知道这是我们想要工作的环境。为了激活环境,我们创建了我们使用以下命令,其中“environment”是我们环境的名称
源环境/bin/激活
要验证一切正常,您应该在工作目录之前看到括号中的环境名称。

运行简单程序
现在我们将创建我们的 Python 程序。我们将使用 VIM 创建 *.py 文件来保存我们的示例程序。要创建和编辑文件,请运行以下命令,其中“hello.py”是我们新 Python 源文件的名称。
vim hello.py
进入空文件后,按“I”键进入插入模式。在插入模式下,您将能够键入以下文本行。
打印(“你好世界!”)

我们编写的 Python 命令应该打印“Hello World!” 到终端执行。要退出插入模式,请按“Esc”键。要保存我们的文件并退出 VIM,我们输入以下命令并按“Enter”。
:wq
我们终于准备好在我们的 EC2 实例的虚拟环境中执行我们的 Python 程序了!要执行我们的测试程序,我们将使用以下命令。
python3 hello.py

如果一切顺利,您应该会看到“Hello World!” 打印到终端。我们现在将关闭我们的环境。要退出 Python 虚拟环境,只需运行以下命令将其停用。
停用
执行后,您不应再在工作目录之前看到括号中的环境名称。

总结 — 停止 EC2 后,AWS 对 EC2 正常运行时间收费,因此我们希望在不使用时关闭 EC2 实例。尽管我们使用的是免费套餐,但这是一个很好的实践。为了关闭实例,我们需要它的 InstanceId。为了获得这个,我们可以再次运行“describe-instances”命令,如下所示。
aws ec2 描述实例

InstanceId 应以“i-”开头。要停止实例,请运行以下命令,其中 i-**************** 是 InstanceId。
aws ec2 停止实例 — 实例 ID i-****************

本文介绍了如何在 AWS EC2 实例上设置 Python 开发环境。首先,通过 AWS CLI 创建和配置 AWS 账户,接着创建 EC2 实例,设置安全组,将 PEM 密钥转换为 PPK 格式以便于使用 PuTTY SSH 连接。然后,升级 EC2 实例的软件包,创建虚拟环境,最后运行简单的 Python 程序。在结束时,提醒用户在不使用 EC2 实例时记得停止它以节省费用。

570

被折叠的 条评论
为什么被折叠?



