amazon-web-services - 如何以编程方式检测单个应用程序用户对 AWS 的使用情况?
问题描述
我有一个基于多个 AWS 服务的应用程序,它为我的用户提供文档存储服务。
我不是根据用户使用我的应用程序的方式来跟踪我的用户使用情况,然后将他们的使用情况与他们使用的每项服务的成本相乘(自己进行计算),而是想知道是否有办法自动执行此操作(拥有 aws在每个用户级别跟踪我的用户并自动计算每个用户的成本)?
例如,当用户使用某些 AWS 服务时,是否可以选择向 AWS 提供标识符,以便 AWS 跟踪使用情况并计算各个 id 本身的成本?这样一来,只需询问 AWS 我的用户消费了多少并适当地向他们收费就会简单得多。
解决方案
您似乎希望确定服务成本,以便您可以将这些成本转嫁给您的客户。
我建议您重新考虑定价策略。与其按照“成本加一些利润”收费,不如在定价时牢记以下规则:
- 为对客户有价值的事情(他们想做的事情)收费
- 为您希望他们少做的事情(您不希望他们做的事情)收费
- 让其他一切免费
想想这如何适用于其他收费的服务:
- 水务公司:对水收费,但对人们消耗过多的水收费
- Netflix:提供节目收费,但消耗更多带宽(4K,多个帐户)需要额外收费
- 手机:服务收费,数据流量多收费
这些组织中的每一个都因提供更多的水、带宽和数据而承受额外的成本,因此他们希望人们要么不消耗太多,要么为消耗它们支付额外费用。
如果您的应用程序为客户提供了存储文档的好处,那么他们将为您的服务付费。但是,您将因存储更多文档而遭受额外费用,因此您应该为消耗更多存储空间收取额外费用。如果可能的话,其他一切都应该是免费的。
因此,不要计算每个用户运行 Amazon EC2 实例、数据传输带宽、域名、数据库存储、支持人员、程序员、管理和您的时间的成本。相反,请专注于您为客户提供的价值,如果收益大于成本,他们应该愿意支付。如果他们过度消费并为此收取额外费用,请找到真正花费您更多的元素。例如,如果某人存储了更多文档,这会在 Amazon S3 中消耗更多空间并花费更多的数据传输成本,然后向他们收取更多文档的费用。不要根据某些技术方面(例如您正在使用的 EC2 实例的大小)向他们收费。
要回答您的特定问题,您可以使用标记来识别与特定用户相关的资源,例如存储在 Amazon S3 中的对象。但是,您可能会发现您的大部分成本都是共享成本(例如,您不能拆分托管 Web 应用程序或所有客户使用的数据库的 EC2 实例)。您的应用程序数据库可能已经在跟踪它们的使用情况,因此除非特定用户正在使用特定资源,否则标记不一定会提供更多额外的洞察力。
请参阅:AWS 标记策略
推荐阅读
- python - 用户能够查看字符串列表并在 tkinter 窗口中编辑这些字符串的最佳方式是什么?
- sql - 获取两个日期之间的天数
- c# - 分布式锁不适用于 RedLock.net
- python - 操作数不能与形状一起广播 (21000,784) (2000,784)
- node.js - 将多个枚举值链接到单个 postgreSQL 列
- python - python:os.dup2,适用于 pycharm 但不适用于 pyinstaller
- r - 距离树以获得对人口结构的初步评估
- eclipse - 我必须在我的 Eclipse Web 项目中更改什么配置,以便 Tomcat 重定向 URL,而不需要任何指向项目 URL 的路径
- flutter - 收到错误“ParentDataWidget 使用不正确”。扑通扑通
- c# - 在我的嵌套 if 语句中我做错了什么吗?