尝试通过cli工具创建ECS实例时,我在主题中出现错误,但找不到它的含义。例如:
$ ./aliyun ecs RunInstances --Amount 1 --ImageId m-0xidtg6bbw1s8voux52d --InstanceType ecs.n1.medium --InstanceName Composer-Test-VM-1 --SecurityGroupId sg-0xi4w9isg0p1ytj1qbhf
ERROR: SDK.ServerError
ErrorCode: InvalidResourceType.NotSupported
Recommend:
RequestId: 1B3E65BD-D181-4552-9A58-599FC51924A7
Message: user order resource type [classic] not exists in [random]
我在~/.aliyun/config.json
中配置了凭据。
配置中的默认区域是us-east-1
,ImageId 和安全组 ID 都在同一区域中。
我尝试了其他几种实例类型,要么收到相同的错误消息,要么 [classic] 被实例类型的前缀替换。这让我认为我无法从我所在地区的某些实例类型创建虚拟机,但我不知道为什么。
有谁知道导致此特定错误的原因或在哪里可以找到有关它的更多文档?
我在这里找到了罪魁祸首。虽然没有说明(例如在--help
中(,但在指定--SecurityGroupId
时,--VSwitchId
选项是强制性的。交换机需要与您的安全组位于同一可用区中。
在此链接上,查看"说明"下的以下文档:
对于网络配置:
- 要在专有网络中创建实例,您需要指定专有网络和交换机。一个实例只能属于一个交换机。
- 指定交换机ID 时,请确保安全组ID 和交换机指定的交换机与交换机 ID属于同一 VPC。
- 如果同时指定了交换机 ID和私网 IP,请确保私网 IP 指定的私网 IP 地址在交换机的网段内。
- PrivateIpAddress依赖于VSwitchId。不能只指定专用 IP 地址参数。
另请注意:阿里云产品 API 分为 RPC API 和 RESTful API。大多数产品使用 RPC 样式。当您使用阿里云 CLI 调用接口时,不同风格的 API 有不同的调用方式。
查看以下链接:https://www.alibabacloud.com/help/doc-detail/110344.htm
希望这有帮助!