2

我们正在尝试构建一个集群服务器以在 Amazon EC2 上运行。

目前我们的许可证的工作方式是我们获取客户的机器信息(如 cpu、内存、mac 地址等)来识别机器并锁定我们的服务器以仅在这台机器上运行。各个服务器可以作为集群运行。所以我们为每个节点提供一个许可证。

但这种模式不适用于 Amazon EC2 和其他云提供商。我想知道我们如何解决这个问题。

我能想到的可能解决方案是:1)托管所有客户的服务器都需要与该许可证服务器通信的许可证服务器2)从亚马逊获取某种ID。到目前为止,这种方法似乎更现实。

关于方法#2,亚马逊是否为我们提供了一些 API 来获取此帐户的 ID?

如果您对在公共云或私有云上工作的许可模型有任何其他想法,也请告诉我。

4

2 回答 2

1

这是 ec2 特有的,但您可以以编程方式获取实例 ID,但我认为您需要在实例本身上安装 ec2 工具并获取它们的信息(可能还有另一种获取它的方法)。该 ID 似乎是唯一的(您必须提供给亚马逊,以便他们可以找到您的实例以获得支持),并且如果您停止您的实例(不确定它们是否终止并重新启动),它不会改变。或者您可以使用安全证书来确保它在这种情况下是唯一的。

目前的许可是什么?他们只能在一台机器上运行它还是一次只能在一台机器上运行它?如果它是一台机器,那么您可能必须将其映射到亚马逊的某个唯一 ID(就像我上面提到的那样),但是如果它一次只有一台机器,那么您可以让它在启动时与您的服务器验证其信息,如果另一个服务器使用他们的许可证连接,您可以禁用它们。

顺便说一句,我认为这通常不是一个好主意。如果你看看像微软或甲骨文这样的大公司,他们通常不会采取太多措施来防止你违反他们的许可。这是因为当您接受审核时,无论如何您都必须付费,并且通过许可过程可能会使人们无法自由安装他们的软件(我的经验,当我们需要一个 oracle 服务器并设置它但当时没有许可它在我们的年度审计期间不得不向他们支付垃圾负载。我们的许多开发测试变成了生产,这导致我们支付更多)。在我现在的公司,我们这样做(监控使用情况,但不要阻止人们安装,然后再向他们收费)并且它非常有利可图。

于 2012-05-12T03:09:19.900 回答
0

借助 AWS 市场,亚马逊确实试图解决其中的一些问题。据我了解,这将如何为您工作,您通过市场将您的软件作为 AMI 提供,然后亚马逊将许可费包含在实例 + AMI 的每小时价格中。

这是更多信息的链接https://aws.amazon.com/marketplace/help/200899830/ref=gtw_r1

于 2012-05-23T08:57:09.970 回答