【问题标题】:How to opt-in for AWS EC2 AMI from SDK?如何从 SDK 选择加入 AWS EC2 AMI?
【发布时间】:2025-11-29 04:45:01
【问题描述】:

我正在尝试使用来自 EC2 开发工具包的 CentOS AMI ami-21682673 启动 AWS EC2 实例。 AMI 本身是一种市场产品,需要接受许可条款。

我得到的错误:

为了使用此 AWS Marketplace 产品 您需要接受条款并订阅。为此,请访问 http://aws.amazon.com/marketplace/pp?sku=eggbgx9svw4xhzs1omttdv29q

可以接受来自 AWS 网页的条款。但我发现无法从 SDK 接受它。有什么解决方法吗?

我知道订阅一旦被接受,就会保存在 AWS 中。但我的方案是针对没有订阅且仅访问 SDK 的空白新配置文件。感谢您的帮助!

【问题讨论】:

  • 我在 IAM 用户通过 SDK 启动 CentOS AMI 时遇到了同样的错误。一旦我的根账户进入市场并接受了条款,所有 IAM 用户就可以在没有错误的情况下启动 SDK。 “新个人资料”是什么意思?新的 aws 账户还是新的 IAM 用户?
  • @glenschler 我的意思是一个从未与 CentOS 合作过的全新帐户。我们为云部署编写了一个 Deploy4Me 工具,由于这个限制,CentOS 没有出现。
  • WTF 是这个提示吗?每个 AWS 账户只能获得一次吗?或者这是启动每个新实例所必需的?
  • @sorin 对于每个需要 EULA 的 AMI,每个 AWS 账户一次。如果 AMI 针对新版本的操作系统进行更新,不确定它是如何工作的。我假设它会针对每个唯一的 AMI ID 重新出现。
  • 谢谢!如果每个 AMI 一次就可以了。我担心每次实例化它都会如此。

标签: amazon-ec2 centos amazon-ami aws-marketplace


【解决方案1】:

市场发布的 AMI 的条款和条件只能通过网站接受,不能直接通过命令行或 API 接受。需要向客户展示 EULA(对于 Marketplace 中的 Debian AMI,向客户展示的是 Debian 社会契约)。

【讨论】:

  • 我已经说过这是我们试图避免的行为。我们在界面中显示 EULA。所以,这个 SDK 行为对我们来说是一个阻碍。
  • 我敢打赌,“大华”是某种律师……来自“计算机说不!”这一类。