- 什么是ECS API?
- 创建ECS实例时报错:InvalidDataDiskCategory.NotSupported
- 创建多台ECS实例时如何设置有序的实例名称或者主机名称?
- 如何创建有公网IP地址的ECS实例?
- 通过API创建的ECS实例,为什么无法Ping通ECS实例?
- ECS API绑定公网IP报错:The specified IP is already in use.
- ECS API修改实例带宽可以指定时间范围吗?
- 通过API或SDK查询安全组规则,为什么无法显示所有的规则?
- 为什么API、SDK和阿里云CLI只返回十条信息?
什么是ECS API?
ECS API是RPC风格的开放式API,为阿里云用户提供API服务。您可以基于ECS API管理和使用云服务器ECS。下图为您在使用API时,API请求的转发路径。有关如何调用ECS
API,请参见快速入门。
创建ECS实例时报错:InvalidDataDiskCategory.NotSupported
- 问题现象:您在调用RunInstances创建ECS实例时,返回如下错误信息。
{ "Code": "InvalidDataDiskCategory.NotSupported", "Message": "Specified disk category is not supported."}
- 问题原因:该错误是由于所在可用区不支持相应的云盘类型导致的。
- 解决方法:建议您在创建ECS实例前,调用DescribeAvailableResource查看具体可用区中的库存与产品规格供应情况,避免因资源供应原因引起报错。您也可以重新设置ZoneId取值,在其他可用区中尝试创建ECS实例。
aliyun ecs RunInstances --ImageId win2008_64_ent_r2_cn_40G_alibase_20150429.vhd --InstanceType ecs.g5.large --SecurityGroupId --SystemDiskCategory cloud_efficiency --ZoneId cn-hangzhou-c
创建多台ECS实例时如何设置有序的实例名称或者主机名称?
创建多台ECS实例推荐使用RunInstances。RunInstances包含InstanceName和HostName两个参数,您可以设置符合命名规则的实例名称和主机名称。
参见以下方式为多台ECS实例设置有序的实例名称或主机名称。
- 为实例名称(InstanceName)或者主机名(HostName)添加有序后缀(UniqueSuffix),有序后缀从001开始递增,最大支持999。例如,LocalHost001,LocalHost002和MyInstance001,MyInstance002。
- 根据name_prefix[begin_number,digits]name_suffix的命名格式为多台ECS实例统一命名实例名称或者主机名称。例如,设置InstanceName取值为k8s-node-[1,4]-alibabacloud,则第一台ECS实例的名称为k8s-node-0001-alibabacloud。相同前后缀的实例名称或主机名称最大支持999999台ECS实例。
- name_prefix:指定实例名称或者主机名称的前缀。在有序命名规则中,前缀是必选项,否则当作普通名称处理。
- [begin_number,digits]:指定实例名称或者主机名称中数字的起始值,呈递增关系,是多台ECS实例的实例名称或者主机名称的区别部分。[begin_number,digits]字段中不能有空格。
- begin_number:指定实例名称的开始数字,取值支持[0,999999],默认值为0。
- digits:指定数字在实例名中的所占位数,取值支持[1,6],默认值为6。
- 假设您指定了
[]
或者[,]
,则begin_number从0开始取值,digits会默认取值6。 - 假设您指定了
[99]
或者[99,]
,则begin_number从99开始取值,digits会默认取值6。 - 如果指定的begin_number位数大于digits的取值,以begin_number的位数为准。例如[1234,1]中digits虽被指定为1,但是begin_number为1234,则digits实际会取值为6。
- 如果指定的begin_number与新建的ECS实例数量之和大于最大值999999,超过部分的ECS实例都使用999999。
- name_suffix:指定实例名称或者主机名称的后缀。
说明 当实例名称或主机名称不设置命名后缀name_suffix,即命名格式为name_prefix[begin_number,digits]时,UniqueSuffix不生效。例如,当InstanceName取值为instance-[99,3],UniqueSuffix取值为true时,生效的实例名称为instance099
,而不是instance099001
。
如何创建有公网IP地址的ECS实例?
- 方法一:调用RunInstances,并将参数InternetMaxBandwidthOut设置为大于0的取值,系统自动为ECS实例分配公网IP。
- 方法二:调用CreateInstance后,再调用AllocatePublicIpAddress接口为ECS实例分配公网IP地址。
通过API创建的ECS实例,为什么无法Ping通ECS实例?
- 问题现象:通过API新建的ECS实例断网,内部无法访问外网,您也无法Ping通ECS实例的公网IP地址。
- 问题原因:您没有在ECS实例加入的安全组中添加相应的访问规则,导致出现无法访问的现象。
- 解决方法:调用AuthorizeSecurityGroup为相应安全组添加入方向访问规则即可。以ICMP协议为例,您可以添加以下安全组规则,允许任何IP地址发起Ping访问请求。
https://ecs.aliyuncs.com/?Action=AuthorizeSecurityGroup &SecurityGroupId=sg-bp15ed6xe1yxeycg7*** &SourceCidrIp=0.0.0.0/0 &IpProtocol=ICMP &PortRange=-1/-1 &
ECS API绑定公网IP报错:The specified IP is already in use.
- 问题现象:您在调用AllocatePublicIpAddress设定IpAddress为一台ECS实例分配一个公网IP地址时,提示如下错误。
{ "Code": "IpInUse", "Message": "The specified IP is already in use." }
- 问题原因:指定的IP地址已被占用。
- 解决方法:您可以查询该IP是否被占用再分配IP地址。
ECS API修改实例带宽可以指定时间范围吗?
您可以调用ModifyInstanceNetworkSpec修改ECS实例的公网带宽上下限,设置后直接生效。如果您需要在一段时间内变更公网带宽,可以设置StartTime和EndTime指定时间段。
如果您使用的是弹性公网IP(EIP),可以调用ModifyEipAddressAttribute,但无法指定生效时间段。
通过API或SDK查询安全组规则,为什么无法显示所有的规则?
安全组规则区分网卡类型,支持公网网卡(internet)和私网网卡(intranet)。您在使用DescribeSecurityGroupAttribute查询安全组时,NIC不是必需参数,但其默认值为internet。因此,以下阿里云CLI请求方法只显示公网网卡相关的安全组规则,不会返回所有安全组规则。
aliyun ecs DescribeSecurityGroupAttribute --SecurityGroupId --RegionId
若您需要查看内网方面的安全组规则,如内网互相打通、金融云VPN防火墙的规则等内网网卡安全组规则时,需要您设置NicType参数为intranet。
aliyun ecs DescribeSecurityGroupAttribute --SecurityGroupId --RegionId --NicType intranet
为什么API、SDK和阿里云CLI只返回十条信息?
更多信息,请参见为什么API、SDK和阿里云CLI只返回10条信息。
腾讯云1折,限时活动,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠
转转请注明出处:https://www.yunxiaoer.com/153208.html