当前位置: 首页 > 知识库问答 >
问题:

如何通过AWS CLI创建AWS spot实例

宋凌龙
2023-03-14

我正在使用AWS CLI创建AWS spot实例,但每次都出现以下错误。“调用RequestSpotInstances操作时发生错误(UnauthorizedOperation):您无权执行此操作。”

注意:-我能够从EC2控制台(GUI)成功创建spot实例。下面提到的是aws cli

AWS ec2请求-现货-实例-现货-价格"0.003"-实例-计数1-类型"持久性"-启动-规范file://param.json-实例-中断-行为"停止"-配置文件"

参数的内容。json

{
  "ImageId": "ami-0123456",
  "UserData":"file:://my_script.txt"
  "KeyName": "gistdev_default_rsa",
  "SecurityGroupIds": [ "sg-0123456" ],
  "InstanceType": "t2.medium",
  "Placement": {
    "AvailabilityZone": "us-west-2a"
  },

  "NetworkInterfaces": [
    {
      "DeviceIndex": 0,
      "SubnetId": "subnet-0123456",
      "Groups": [ "sg-0123456" ],
      "AssociatePublicIpAddress": true
    }
  ]
}

我没有在json文件中指定"IamInstanceProfile"参数。这是强制性的吗?

~Ashish

共有3个答案

田化
2023-03-14

您需要确保为需要使用CLI的用户启用了“编程访问”。

皮自明
2023-03-14

缺少AmazonEC2SpotFleetRole的iam用户权限。将AWS管理的AmazonEC2SpotFleetRole策略附加到iam用户后重试。

没有强制添加"IamInstanceProfile"在json文件中,同时创建点实例。IamInstanceProfile是一个可以通过ec2实体作为可信实体访问的角色。

罗光华
2023-03-14

仅仅因为您可以使用控制台(GUI)创建spot实例,并不意味着您可以使用CLI创建它们。什么会出错?

  • 是否为用户启用了API/SDK访问
  • 如何向CLI提供凭据?使用access/secret或使用元数据服务器(IAMProfile)
  • 提供给CLI的凭据是否与使用控制台/GUI的IAM用户的凭据不同?(最可能的原因)
  • CLI是否以其他方式获取凭据?请参阅:配置设置和优先级
 类似资料:
  • 问题内容: 我需要通过运行设置服务器的脚本来添加cron作业。我目前正在使用Ubuntu。我可以使用,但这将打开一个编辑器来编辑当前的crontab。我想以编程方式执行此操作。 有可能这样做吗? 问题答案: Cron作业通常存储在每个用户的文件下 您要做的最简单的事情可能就是创建一个配置了作业的文本文件,然后将其复制到cron spool文件夹中,并确保它具有正确的权限(600)。

  • 在我的Spring项目中,我使用HiberNate将我的实体类导出到以前创建的数据库。但是这需要最终用户知道如何在数据库管理器系统中创建数据库(目前我正在使用Postgreql)。 是否有任何方法,只要给定安装postgreql的机器(以及第一次运行应用程序时提供的用户名和密码),HiberNate在服务器中创建一个新数据库(如果它不存在)?

  • 当已知 reflect.Type 时,可以动态地创建这个类型的实例,实例的类型为指针。例如 reflect.Type 的类型为 int 时,创建 int 的指针,即 ,代码如下: 代码输出如下: *int ptr 代码说明如下: 第 13 行,获取变量 a 的反射类型对象。 第 16 行,使用 reflect.New() 函数传入变量 a 的反射类型对象,创建这个类型的实例值,值以 reflect

  • 问题内容: 反射用于加载Java类类并即时对其进行操作。但是我遇到了一个怪异的问题,问我如何通过Reflection快速创建Java类,这意味着这些类在我们要创建之前就没有编译或没有源代码。真的有可能吗?有什么例子吗? 问题答案: 您可以尝试ASM ASM 或字节码工程库 字节码工程库 用于在运行时创建类 在.NET中,我们具有Reflection.Emit(C#)可以执行该 Reflection

  • 问题内容: 我想通过Java在Kafka(kafka_2.8.0-0.8.1.1)中创建一个主题。如果我在命令提示符下创建一个主题,并且如果我通过java api推送消息,它也可以正常工作。但是我想通过java api创建一个主题。经过长时间的搜索,我发现了以下代码, 我尝试了上面的代码,它表明创建了主题,但是无法在该主题中推送消息。我的代码有什么问题吗?还是通过其他方式实现以上目标? 问题答案:

  • 问题内容: 我知道如何使用证书保护Web服务。那是我的客户代码: 现在,如何制作“简单SSL”?如何进行SSL连接而不在客户端存储证书。(就像通过浏览器中的HTTPS连接一样) 问题答案: Java Runtime Environment确实在cacerts文件中附带了很多(使用最广泛的)证书颁发机构。如果您用来保护服务安全的证书是由那些根CA之一签名的,则您不必担心与客户端共享任何证书。 但是,