首页 > 解决方案 > 如何以编程方式检测单个应用程序用户对 AWS 的使用情况?

问题描述

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

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

例如,当用户使用某些 AWS 服务时,是否可以选择向 AWS 提供标识符,以便 AWS 跟踪使用情况并计算各个 id 本身的成本?这样一来,只需询问 AWS 我的用户消费了多少并适当地向他们收费就会简单得多。

标签: amazon-web-servicesaws-sdk

解决方案


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

我建议您重新考虑定价策略。与其按照“成本加一些利润”收费,不如在定价时牢记以下规则:

  • 为对客户有价值的事情(他们想做的事情)收费
  • 为您希望他们少做的事情(您希望他们做的事情)收费
  • 让其他一切免费

想想这如何适用于其他收费的服务:

  • 水务公司:对水收费,但对人们消耗过多的水收费
  • Netflix:提供节目收费,但消耗更多带宽(4K,多个帐户)需要额外收费
  • 手机:服务收费,数据流量多收费

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

如果您的应用程序为客户提供了存储文档的好处,那么他们将为您的服务付费。但是,您将因存储更多文档而遭受额外费用,因此您应该为消耗更多存储空间收取额外费用。如果可能的话,其他一切都应该是免费的。

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

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

请参阅:AWS 标记策略


推荐阅读