我对EC2的运作几乎一无所知。我创建了一个Amazon Web Service (AWS)帐户,然后启动了一个EC2实例。
现在我想在这个实例中执行Python代码,但我不知道该怎么做。需要将代码加载到实例中吗?还是在Amazon的S3中,并将其链接到实例中?
有什么指南可以解释可能的实例用法吗?我感觉自己像是面对飞碟仪表盘而没有用户指南的人一样。
我对EC2的运作几乎一无所知。我创建了一个Amazon Web Service (AWS)帐户,然后启动了一个EC2实例。
现在我想在这个实例中执行Python代码,但我不知道该怎么做。需要将代码加载到实例中吗?还是在Amazon的S3中,并将其链接到实例中?
有什么指南可以解释可能的实例用法吗?我感觉自己像是面对飞碟仪表盘而没有用户指南的人一样。
以下是一个非常简单的程序,可将您的 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.
以下是逐步说明的具体示例:
scp -i ~/桌面/random.pem ~/桌面/hello_aws.py ec2-user@ec2-34-201-49-170.compute-1.amazonaws.com:/home/ec2-user
通过Amazon的管理控制台启动实例 -> 实例操作 -> 连接 (更多详细信息请参见入门指南)
启动基于Java的SSH客户端
插件-> SCFTP文件传输
上传您的文件
在后台运行您的文件(在结尾加上'&'或使用nohup命令)
请务必选择包含Python的AMI,您可以在shell中输入“python”进行检查。 如果您的应用程序需要任何非常规软件包,则必须安装它们。
在 Linux ec2 实例上运行脚本
我需要在 Amazon ec2 上运行一个脚本,并学会了如何操作。即使这个问题是几年前提出的,我认为现在也很容易实现。
设置 EC2 并通过 ssh 连接到 ec2 主机
chmod 400 /path/my-key-pair.pem
(或 .cer 文件)ssh -i /path/my-key-pair.pem(.cer) USER@Public DNS
(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 上作为仓库或作为 gist(如果需要保持代码私有),然后克隆到 ec2 中。
上述提到的方法非常简单,且不容易出错。
运行 Python 脚本
我使用过 RHEL Linux 实例,并且已经安装了 Python。因此,我可以直接在 ssh 连接到主机后运行 Python 脚本。这取决于您选择的操作系统。如果没有安装它,请参考 aws 手册。
参考文献:AWS 文档