第一次使用AWS进行业余项目

问题描述 投票:0回答:1

我需要一些帮助/协助。

简单介绍一下,过去两年我一直在一家小型初创公司担任软件开发人员,但除了创建 Docker 镜像之外,我从未接触过任何与云相关的内容。我已经为/在 AWS 上完成了很多免费课程,但我没有实践经验。因此,我对大量的选择和不确定的事情感到不知所措。自从我被解雇以来,我一直在从事一个副业项目,我想我已经准备好将其部署给公众了。但我需要克服一些障碍。

我正在开发的应用程序是一个价格跟踪应用程序。我想继续使用 Docker,所以我为我的应用程序的所有部分(后端、前端、MySQL 和 Web scraper)制作了一个 docker 容器。我并不是真的想为我的项目创建 3 个存储库,因此它们都位于我的 GitHub 上各自文件夹中的一个存储库中,并使用 docker include 语句在父文件夹中创建一个 Docker 合并文件以进行本地开发。我不确定这是否会成为问题,但巨石存在,所以我对此表示怀疑。

问题1:我应该使用什么AWS工具,我一直在阅读有关Amplify的内容,但我不知道是否应该使用它。我最初的想法是创建一个 EC2 实例并创建一个 GitHub 管道,当我在相应的文件夹中进行任何更改时,该管道会将我的代码推送到该管道,但是,我也在使用 Docker,我是否应该利用它并推送到 Docker 存储库并让AWS从Docker hub获取数据?我已经创建了一个 EC2 实例,但我不知道此时我在做什么。我还创建了一个免费层 RDS 数据库,但我再次不知道应该如何使用代码库中的数据。

Q2:我的后端是 Node/express,我将运行一些每日/每周的工作。我正在使用 Sequelize 来帮助创建和管理我的数据库数据。在本地,我使用

npx sequelize-cli db:
命令来创建和迁移我的代码。我将如何使用我创建的模式来创建生产数据库。

Q2.5:我需要通过 SSH 连接到 RDS 数据库并手动创建数据库吗?

Q3:我的前端是一个 ReactJS 应用程序,这里没什么太疯狂的,只需要弄清楚如何正确部署它。但同样,这个应该去哪里,它会只存在于我的 ec2 实例上吗?

我的网络抓取工具是一个Python应用程序,只是一个基本的网络抓取工具,它将数据发送到我的后端,以便我可以存储它并处理它以便在我的前端使用。我在某处读到,我不应该公开网络爬虫,但我不确定这有多有效。它应该和其他东西住在同一个地方吗?

Q4:我应该分离所有存储库并为所有内容创建单独的实例吗?

我尝试过的事情:

    我创建了一个 EC2 并向 ssh 密钥添加了一个 github 键值对。
  • 我创建了 RDS 数据库,但尚未创建实际的数据库。
  • 我考虑过使用 Docker Hub 将我的 docker 镜像推送到 AWS
  • 我考虑过使用 Amplify,但我不知道这是否正确。
amazon-web-services production-environment dev-to-production
1个回答
0
投票
由于您是新手并且提出了很多问题(该线程可能很快就会关闭),我建议您在 AWS 代码库中查看此示例。它将帮助您启动并运行,在后端构建一个 React 前端和各种 AWS 服务。您不需要使用 Amplify 来构建 AWS 应用程序;相反,您可以使用 AWS 开发工具包。

此示例应用程序分析并存储客户反馈卡。具体来说,它满足了纽约市一家虚构酒店的需求。酒店以各种语言以实体评论卡的形式收到客人的反馈。该反馈通过网络客户端上传到应用程序中。上传评论卡的图像后,会发生以下步骤:

使用 Amazon Textract 从图像中提取文本。 Amazon Comprehend 确定提取的文本及其语言的情感。

使用 Amazon Translate 将提取的文本翻译为英语。 Amazon Polly 根据提取的文本合成音频文件。 完整的应用程序可以使用 AWS CDK 进行部署。有关源代码和部署说明,请参阅 GitHub 上的项目。以下摘录展示了如何在 Lambda 函数内使用适用于 JavaScript 的 AWS 开发工具包。

通过这个例子你会学到很多东西。

创建一个分析客户反馈并合成音频的应用程序

© www.soinside.com 2019 - 2024. All rights reserved.