如何在亚马逊EC2实例中运行代码?
我对EC2的运作几乎一无所知。我创建了一个亚马逊网络服务(AWS)账户,然后启动了一个EC2实例。
现在我想在这个实例上运行一段Python代码,但我不知道该怎么做。是不是需要把代码放到实例的某个地方?还是说要先放到亚马逊的S3上,然后再链接到这个实例?
有没有什么指南可以解释一下实例的使用方法?我感觉就像一个人在飞碟的仪表盘前,却没有用户手册。
4 个回答
4
通过亚马逊的管理控制台启动你的实例,路径是:实例操作 -> 连接(更多细节可以查看入门指南)
启动基于Java的SSH客户端
在插件中选择SCFTP文件传输
上传你的文件
在后台运行你的文件(在命令末尾加上'&',或者使用nohup命令)
确保选择一个包含Python的AMI(亚马逊机器镜像),你可以在命令行中输入'python'来检查。如果你的应用需要一些特别的包,你需要自己安装它们。
23
你有很多选择。你可以在这里浏览一个很大的AMI库,链接在这里。
你也可以导入一个虚拟机,具体的步骤可以在这里找到。
这是一篇关于AWS和Python的一般性文章。
在这篇文章中,作者会带你了解一个更高级的系统,使用非常推荐的Django框架结合多个数据存储。
29
这里有一个非常简单的步骤,教你如何把你的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.
下面是一个具体的例子,适合喜欢一步一步看的人:
- 在你的本地文件夹里,创建一个Python脚本,里面写上以下代码: print("Hello AWS")
- 假设你已经设置好了AWS,并且想在EC2上运行这个脚本,你需要用SCP(安全复制协议)把你的文件传到EC2的一个目录里。下面是一个例子:
-
- 我存放pem文件的路径是 ~/Desktop/random.pem。
- 我存放py文件的路径是 ~/Desktop/hello_aws.py
- 我的公共DNS是 ec2-34-12-888
- 我想把脚本放在EC2的目录是 /home/ec2-user
- 所以我在本地终端运行的完整命令是:
scp -i ~/Desktop/random.pem ~/Desktop/hello_aws.py ec2-user@ec2-34-201-49-170.compute-1.amazonaws.com:/home/ec2-user
- 现在,使用ssh连接到你的EC2实例,进入到 /home/ec2-user(或者你放文件的地方),然后运行 Python hello_aws.py。