如何在 Amazon 的 EC2实例中运行代码?

我对 EC2的功能几乎一无所知。我创建了一个 Amazon Web Service (AWS)帐户。然后我启动了一个 EC2实例。

现在我想在这个实例中执行一段 Python 代码,但我不知道如何继续。是否有必要在实例中的某个位置加载代码?或者在 Amazon 的 S3中并将其链接到实例?

哪里有解释实例用法的指南?我感觉自己就像一个人站在飞碟的仪表盘前,没有用户指南。

68481 次浏览

您有多种选项。您可以浏览 AMI给你的大型库。

您可以导入一个 vm,指令是 给你

这是一篇关于 AWS 和巨蟒的一般性文章。

在本文中,作者将向您介绍 使用强烈推荐的 django 框架结合 Python 中的数据存储的更高级的系统

  1. 通过 Amazon 的管理控制台-> 实例操作-> 连接启动实例 (详见入门指南)

  2. 启动基于 Java 的 SSH 客户端

  3. 插件-> SCFTP 文件传输

  4. 上传你的文件

  5. 在后台运行文件(结尾处使用’&’或使用 nohup)

一定要选择一个包含 python 的 AMI,您可以在 shell 中键入‘ python’进行检查。 如果您的应用程序需要任何非传统的软件包,您将不得不安装它们。

下面是将 Python 脚本从本地移动到 EC2实例并运行它的一个非常简单的过程。

> 1. scp -i <filepath to Pem> <filepath to Py File> ec2-user@<Public DNS>.compute-1.amazonaws.com:<filepath in EC2 instance where you want
> your file to be>
> 2. Cd to to the directory in EC2 containing the file. Type Python <Filename.py> There it executed.

这里有一个具体的例子来说明那些喜欢一步一步展示的东西的人:

  1. 在本地目录中,使用以下代码创建一个 python 脚本: 打印(“ Hello AWS”)
  2. 假设您已经设置了 AWS,并且希望在 EC2中运行此脚本,则需要将文件 SCP (安全复制协议)发送到 EC2中的某个目录。举个例子:
    - 我到 pem 的文件路径是 ~/Desktop/Random. pem。
    - py 文件的文件路径是 ~/Desktop/hello _ aws.py
    - 我的公共 DNS 是 ec22-34-12-888
    - 我希望脚本位于/home/ec2-user 中的 ec2目录
    - 所以我在本地终端上运行的完整命令是:

Scp-i ~/Desktop/Random.pem ~/Desktop/hello _ aws.py ec2-user@ec2- 34-201-49-170.compute-1.amazonaws.com :/home/ec2-user

  1. 现在 ssh 到您的 ec2实例,cd 到/home/ec2-user (或者放置文件的任何地方)和 Python hello _ aws.py

在 Linux ec2实例上运行脚本


我不得不在 Amazon ec2上运行一个脚本并学习如何做到这一点。尽管这个问题几年前就有人问过了,我还是想和大家分享一下今天这个问题是多么的简单。

设置 EC2并 ssh-ing 到 ec2主机

  • 使用默认设置注册并启动一个 ec2实例(不要忘记保存在启动 ec2时生成的证书文件)。
  • 一旦 ec2启动并运行,就向证书文件 chmod 400 /path/my-key-pair.pem(或. cer 文件)提供所需的权限
  • 运行命令: ssh -i /path/my-key-pair.pem(.cer) USER@Public DNS(用户数据更改基于您已经启动的操作系统,请参阅下面的段落了解更多细节 & & 公共域名服务器可以在 ec2实例页面上获得)

使用 ssh 命令连接到实例。指定私钥(。Pem)文件和 user _ name@public _ dns _ name。对于 Amazon Linux,用户名是 ec2-user。对于 RHEL,用户名是 ec2-user 或 root。对于 Ubuntu,用户名是 Ubuntu 或 root。对于 Centos,用户名是 Centos。对于 Fedora,用户名是 ec2-user。对于 SUSE,用户名是 ec2-user 或 root。否则,如果 ec2-user 和 root 不能工作,请与您的 AMI 提供程序联系。

将脚本克隆到 EC2

为了在 ec2上运行脚本,我倾向于将代码存储在 Github 上,作为一个 repo 或者 gist (如果需要保持代码私有的话) ,并将其克隆到 ec2中。

以上提到的是非常容易的,不容易出错。

运行 python 脚本

我使用过 RHEL Linux 实例,并且已经安装了 python。因此,我可以在 ssh-ing 之后直接运行 python 脚本。这取决于您选择的操作系统。如果尚未安装,请参阅 aws 手册。

参考资料: AWS 文件

只需将您的代码添加到 Github,并在 EC2实例上进行克隆,然后运行该代码。