AWS:启动启动服务器(Node.js + Postgres)

Posted

技术标签:

【中文标题】AWS:启动启动服务器(Node.js + Postgres)【英文标题】:AWS: Start-up launch servers (Node.js + Postgres) 【发布时间】:2020-11-10 09:18:24 【问题描述】:

我们正准备启动我们的 ios 应用,我们的后端位于 Node.jsPostgres 数据库中。

我们计划使用Aurora Postgresql 进行存储(只有文字,没有图片)。

目前,我们有一个EC2 开发服务器t2.small,我为36 months (All upfront) 预留了它,它运行良好。该服务器在Ubuntu 上兼作Node.js + Postgres

我们希望仅在北美(美国和加拿大)投入生产。我们现在有 0 个用户。如果我们能在接下来的 30-90 天内获得 10 个用户,我们将是幸运的。每个用户每周可以使用该应用两次,每次 5-10 分钟。

问题:我不确定我应该使用多大的服务器。我想省钱,乐意支付All Upfront;但是,我不确定:

    预订时我应该为Node.js 使用多大的服务器和多少台服务器? 我应该为Aurora Postgres 保留多大的服务器和多少服务器。我们应该使用无服务器吗? 我应该多久备份一次我的数据库以及在此省钱的好做法。 我应该选择哪些地区?

【问题讨论】:

【参考方案1】:
    您可以从 t2.small 开始,然后 scale up 实例(如果它陷入困境) 由于您目前没有用户,并且只希望未来 10 个用户每周使用几分钟几次,我建议您使用无服务器(您必须选择 Postgres 10.7),将其设置为 @987654322 @,如果您的用例在用户第一次尝试访问数据库时可以容忍 30 秒(ish)的冷启动延迟。您可以通过在用户登录应用程序后立即向数据库发送一个空查询";" 来预热数据库,这可能会使冷启动从用户的角度看不出来。如果您的用例不能容忍冷启动,您可以将它scale down 在不活动而不是暂停时设置为 1 ACU。 Aurora 无服务器自动执行每日备份,持续时间为 1 到 35 天,适合您的风险承受能力。 如果您的用户遍布美国和加拿大,请考虑将 us-east-2 作为(大部分)中心位置。

【讨论】:

谢谢!我认为我们不能容忍 30 岁左右的冷启动。客户端是 iOS,所以数据库应该一直可用。 有没有办法在让数据库始终可用的同时节省成本? @user1107173 在#2 中添加了一个句子,描述了一种在使数据库始终可用的同时最小化成本的方法。

以上是关于AWS:启动启动服务器(Node.js + Postgres)的主要内容,如果未能解决你的问题,请参考以下文章

在 AWS ElasticBeanstalk 中启动 Node.js 容器的权限错误

使用 Node.JS 调用 AWS 胶水的 lambda 函数不使用 console.log 的原因是啥?

AWS 创建新应用程序失败

启动 node.js express 服务器作为服务

无法从本地主机访问 AWS EC2 服务器(卷曲超时)

请教在windows下面让node服务器开机自启动有没有啥好办法