如何以编程方式检测使用AWS的单个应用程序用户的使用情况?

时间:2019-06-21 03:20:11

标签: amazon-web-services aws-sdk

我有一个基于多个AWS服务的应用程序,可以为我的用户提供文档存储服务。

我想知道是否有办法自动执行此操作,而不是根据用户使用我的应用程序的方式跟踪用户使用情况,然后将其使用量乘以他们使用的每项服务的费用(自己进行计算) (让aws在每个用户级别上跟踪我的用户并自动计算每个用户的费用)?

例如,当用户使用某些AWS服务时,是否可以选择向AWS提供标识,以便AWS跟踪使用情况并计算单个ID本身的成本?这样一来,问一下AWS我的用户正在消耗多少并对其进行适当收费就容易得多。

1 个答案:

答案 0 :(得分:0)

您似乎希望确定服务成本,以便将这些成本转嫁给客户。

我建议您重新考虑您的定价策略。与其以“成本加一些利润”来收费,不如将定价重点放在以下规则上:

  • 向客户收取有价值的东西(他们想要去做)
  • 为您希望他们做的事收费 (您希望他们做的事)
  • 让其他一切免费

考虑一下这如何适用于其他收费服务:

  • 自来水公司:对水收费,但对消耗过多的水收费的人
  • Netflix :提供节目收费,但要占用更多带宽(4K,多个帐户),则要额外付费
  • 手机:服务收费,但使用更多数据则收费

这些组织中的每个组织都因提供更多的水,带宽和数据而承受额外的成本,因此他们宁愿人们要么不消耗大量水,要么为消耗它们支付额外的费用。

如果您的应用程序为客户提供了存储文档的好处,那么他们将为您的服务付费。但是,存储更多文档会产生额外费用,因此使用更多存储空间应收取额外费用。如果可能的话,其他所有内容都应该免费。

因此,请勿计算每个用户运行Amazon EC2实例的成本,数据传输带宽,域名,数据库存储,支持人员,程序员,管理人员和您的时间。相反,专注于您为客户提供的价值,如果收益大于成本,他们应该愿意支付。找到确实会花费更多的元素,如果他们过度消费并为此额外付费。例如,如果某人存储了更多文档,这在Amazon S3中占用了更多空间,并且花费了更多的数据传输费用,那么请向他们收取更多文档费用。不要根据某些技术方面(例如您正在使用的EC2实例的大小)来收费。

要回答您的特定问题,您可以使用标签来识别与特定用户相关的资源,例如存储在Amazon S3中的对象。但是,您可能会发现大部分成本是共享成本(例如,您无法拆分托管Web应用程序或所有客户使用的数据库的EC2实例)。您的应用程序数据库可能已经在跟踪其使用情况,因此,除非特定用户正在使用特定资源,否则标记并不一定会提供很多其他信息。

请参阅:AWS Tagging Strategies