如何降低AWS网站托管(EC2,RDS)的成本

时间:2019-01-04 22:04:47

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

我是AWS的新手,所以我有几个问题。我正在从一个AWS t2.micro EC2实例托管一个静态网站和一个动态网站。我还在AWS RDS(db.t2.micro)上托管了一个小型(约5,000个条目)MySQL数据库。问题是托管这两个低流量网站和一个非常小的数据库,我每个月要支付40美元左右的费用。这些网站的大部分流量来自我的个人测试。这笔费用似乎荒唐。以下是我的帐单。

AWS Billing Statement

我想知道几件事:

  • 我是否正确地认为自己付了太多钱?如果是,我如何降低成本?
  • 我花了太多钱是因为我使用了错误的实例大小调整吗?
  • 我应该使用其他服务来完成这些任务吗?

我看到我需要为弹性负载平衡支付约17美元。我不确定是否有必要,尽管我找不到任何资源来降低成本/消除成本。

我能获得的任何帮助都非常感激,如果有更多信息我可以提供,请告知我!

2 个答案:

答案 0 :(得分:2)

弹性负载平衡似乎有点多。 您用它做什么? 我相信您可以在左侧的EC2菜单上找到实例。如果看不到,请尝试在过去使用或过去使用的aws区域之间进行切换。

我还建议将站点托管在S3中,因为它比EC2便宜得多。 如果不可能,则可以结合使用API​​网关和Lambda函数来解决问题。

答案 1 :(得分:2)

我可以想到您可能会做的一些事情,但是如果不了解您的应用程序,就很难做到具体。

  1. 您也许可以使用竞价/预留实例来节省EC2成本。看看https://aws.amazon.com/ec2/pricing/,了解按需定价和竞价/预留之间的定价模型有何不同。

  2. 如果可能,请考虑转移到无服务器。诸如Lambda + API Gateway + S3静态网络托管之类的东西。在无服务器付款模式中,您仅按使用量付费,而不是按小时付费。如果您的应用程序流量较低,则可以为您节省很多钱。

  3. 如果您的应用程序现在很少使用,请考虑将Aurora Serverless用于RDS。它运行MySQL,并且能够在一定时间内不使用数据库时“暂停”数据库。仅在数据库处于非活动状态时才需要为存储付费,因此,如果流量较低,这将是一个很好的节省方法。

  4. 如果您的数据结构允许,请考虑移至DynamoDB。这是一个NoSQL数据库,它本质上是一个键值存储。 DynamoDB是无服务器的,仅在将其配置为按需时才支付使用的费用。如果您不熟悉DynamoDB,则可以看看https://aws.amazon.com/blogs/database/choosing-the-right-dynamodb-partition-key/,其中介绍了如何构造数据。