开发者社区> 问答> 正文

弹性伸缩错误代码有哪些API?

弹性伸缩错误代码有哪些API?

展开
收起
小天使爱美 2020-03-24 19:46:05 757 0
1 条回答
写回答
取消 提交回答
  • 本文介绍如何保证幂等性。

    当通过调用执行伸缩规则接口在创建或释放 ECS 实例时,如果遇到了请求超时或服务器内部错误时,客户端可能会尝试重发请求,这时客户端可以通过提供可选参数 ClientToken 避免服务器创建或释放出比预期要多的实例,即通过提供 ClientToken 参数保证请求的幂等性。ClientToken 是一个由客户端生成的唯一的、大小写敏感、不超过 64 个 ASCII 字符的字符串。

    如果用户使用同一个 ClientToken 值调用创建实例接口,则服务端会返回相同的请求结果,包含相同的 ScalingActivityId。因此用户在遇到错误进行重试的时候,可以通过提供相同的 ClientToken 值,来确保只创建一个伸缩活动,并得到这个伸缩活动的 ScalingActivityId。

    如果用户提供了一个已经使用过的 ClientToken,但其他请求参数不同,则弹性伸缩会返回 IdempotentParameterMismatch 的错误代码。需要注意的是,SignatureNonce、Timestamp 和 Signature 参数在重试时是需要变化的,因为弹性伸缩使用 SignatureNonce 来防止重放攻击,使用 Timestamp 来标记每次请求时间,所以再次请求必须提供不同的 SignatureNonce 和 Timestamp 参数值,这同时也会导致 Signature 值的变化。

    通常,客户端只需要在 503(ServiceUnavailable)错误、或者无法得到响应结果的情况下进行重试操作。返回结果是 200 时,重试可以得到与上次相同的结果,但不会对服务端状态产生任何影响。而对 4xx 或 500 的返回错误,除非提示信息里明确出现 try it later,否则重试也无法成功。本文通过配置云解析PrivateZone,为伸缩组中无公网访问能力的专有网络VPC类型ECS实例提供了通过阿里云内网调用API的方案。

    背景信息 由于弹性伸缩提供的接入地址(Endpoint)为公网服务地址,当伸缩组ECS实例没有分配公网带宽或者不存在公网IP地址时,无法使用阿里云CLI或者SDK等工具发起API请求。此时,您可以为伸缩组ECS实例所在地域下的专有网络VPC关联云解析PrivateZone,即可实现在阿里云内网调用API。

    此方案仅适用于伸缩组中专有网络VPC类型ECS实例所在的地域,不支持跨地域配置云解析PrivateZone。 建议您在伸缩配置中使用已部署了阿里云CLI或者SDK的自定义镜像,避免伸缩组实例在无公网访问的条件下无法加载相关依赖。 目前,支持云解析PrivateZone的弹性伸缩接入地址(Endpoint)如下表所示,请确保您使用的Endpoint在列举范围内。 阿里云地域 地域ID CNAME记录值 公网接入地址(Endpoint) 华北2(北京) cn-beijing popunify-vpc.cn-beijing.aliyuncs.com ess.cn-beijing.aliyuncs.com 华东1(杭州) cn-hangzhou popunify-vpc.cn-hangzhou.aliyuncs.com ess.cn-hangzhou.aliyuncs.com 华东2(上海) cn-shanghai popunify-vpc.cn-shanghai.aliyuncs.com ess.cn-shanghai.aliyuncs.com 华南 1(深圳) cn-shenzhen popunify-vpc.cn-shenzhen.aliyuncs.com ess.cn-shenzhen.aliyuncs.com 中国(香港) cn-hongkong popunify-vpc.cn-hongkong.aliyuncs.com ess.cn-hongkong.aliyuncs.com 新加坡 ap-southeast-1 popunify-vpc.ap-southeast-1.aliyuncs.com ess.ap-southeast-1.aliyuncs.com 操作步骤 登录云解析控制台。 前往PrivateZone,然后单击添加Zone。 完成以下设置后,单击确定。 Zone名称:设置一个已支持云解析PrivateZone的云服务器ECS接入地址,如ess.cn-hangzhou.aliyuncs.com。 子域名递归解析代理:勾选后,当DNS查询的域名以Zone名称为后缀,但是在Zone文件里未配置时,会以公网的权威解析为准。

    找到已创建的PrivateZone,在操作列,单击解析设置。 在解析设置页面,单击添加记录。 在添加记录弹窗中,完成以下设置后,单击确定。 记录类型:选择CNAME。 主机记录:填写@可以解析@.exmaple.com域名。 记录值:设置为对应地域下的CNAME记录值。 TTL值:生存时间,本文选择了1 分钟。

    返回PrivateZone列表页面,找到已创建的PrivateZone,在操作列,单击关联VPC。 选择与PrivateZone相同的地域,勾选需要关联的专有网络VPC,然后单击确定。 说明 请选择伸缩组ECS实例所在的专有网络VPC。

    执行结果 为专有网络VPC关联了云解析PrivateZone后,您可以通过远程登录伸缩组ECS实例,在ECS实例内部测试是否能访问对应地域的接入地址,具体登录操作请参见使用管理终端连接Linux实例。

    下面以ess.cn-hangzhou.aliyuncs.com为例演示测试效果: 使用ping功能测试数据包收发状况。 ping ess.cn-hangzhou.aliyuncs.com

    使用阿里云CLI调用DescribeRegions,并通过--endpoint字段修改接入地址。 aliyun ecs DescribeRegions --endpoint ess.cn-hangzhou.aliyuncs.com

    2020-03-24 22:34:26
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
公共云弹性计算最佳实践-省钱窍门一:弹性伸缩 立即下载
API 网关实践 立即下载
数据资源的基础设施API总线 立即下载