【问题标题】:Deploying and running my Python code on Amazon Web Services (AWS)在 Amazon Web Services (AWS) 上部署和运行我的 Python 代码
【发布时间】:2017-06-13 20:24:27
【问题描述】:

我真的是云方面的新手,我想在云中部署和运行我的应用程序,所以我选择了 Amazon Web Services (AWS)。

我的应用程序或代码功能是抓取网站并将其存储在将在 AWS 中创建的数据库中。

我的代码是用 Python 编写的。

我的“系统”应该做的是:

  • 部署并运行我的 python 代码
  • 抓取网站
  • 将抓取的数据存储到数据库中
  • 我的安卓应用将访问数据库以获取数据

到目前为止,我已经学会了如何创建 Amazon EC2 实例。

我将如何处理?

【问题讨论】:

  • 您可以尝试使用 AWS lambda,在此处结帐:aws.amazon.com/lambda
  • AWS Lambda 可能不是抓取网站的最佳选择,因为执行可能需要超过 5 分钟。 @boneyflesh:为了降低成本,请记住在不需要时关闭您的 EC2 实例。您的应用程序可以在完成抓取运行后简单地关闭机器,然后您可以稍后重新启动它。

标签: amazon-web-services amazon-ec2 amazon-rds


【解决方案1】:

如果您能够在 AWS 中创建 EC2 实例,那就是第一步。当您创建一个时,请确保您选择了一个您可以处理的操作系统或环境。运行爬取网站的 python 脚本对于服务器来说并不是一项非常具有挑战性的任务,因此您可能希望在一开始就选择 T2 micro。这是free,您可以尝试一下。

如果您选择 AWS 默认 AMI(Amazon Linux AMI 2016.09.1 (HVM),SSD 卷类型,您在创建 EC2 实例时在第一个屏幕上选择了此)python 已经安装并且您应该能够运行你的脚本。

作为数据库,您可能使用 MySQL 或 PostgreSQL。您可以在 EC2 实例上安装这些数据库,也可以为此使用 Amazon RDS。 RDS 是用于关系数据库的 AWS 数据库服务。只需创建您需要的数据库并启动它。然后,您必须调整您的 python 脚本以写入 RDS,仅此而已。

如果您想在 EC2 实例上安装数据库,请确保使用 EBS(弹性块存储)进行安装并将其附加到您的 EC2 实例。如果您不这样做,那么每次您终止 EC2 实例时,您的所有数据都将丢失。 EBS 可以附加和分离到 EC2 实例,如果您终止附加到它的任何 EC2 实例,数据不会被删除。祝你好运!

(只是我的一点提示,当您开始试用 AWS 时:每隔一段时间检查一次您的账单状态。如果您使用上述服务,不会有太多成本。但我总是在我忘记终止 Redshift 实例并去度假之后,这样做会更安全...... ;-))

【讨论】:

  • 这很有趣,我觉得我可以用这个实现我想要的。但是,嗯,我真的对这个话题一无所知,所以呃,这是怎么回事?我是否将我的代码上传到我的 ec2 实例,它会自行运行代码? (因为这就是我希望它做的)
  • 是的,这是你应该做的,@Boneyflesh
【解决方案2】:

AWS 无服务器应用程序模型将使您轻松完成这一切。

这会给你一个好的开始:Introducing Simplified Serverless Application Deployment and Management

此模型将轻松创建 Lambda 函数(从您的代码)、一个数据库,并创建授予它们相互访问权限所需的角色。挺甜的。

【讨论】:

    猜你喜欢
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    • 2017-05-07
    • 1970-01-01
    • 2017-01-26
    • 2018-02-18
    • 2013-09-10
    相关资源
    最近更新 更多