本文介绍如何为伸缩组创建伸缩配置,指定弹性扩张时的ECS实例模板。

前提条件

  • 伸缩组创建完成后,专有网络不可修改。在创建伸缩配置时需要指定一个安全组,请确保该安全组和伸缩组所在的专有网络一致。如果伸缩组所在专有网络下无安全组,您需要创建一个安全组,具体操作请参见创建安全组
  • 如果您需要使用本文中的API示例,请设置API访问权限,具体操作请参见创建AccessKey

背景信息

创建伸缩配置的流程和创建ECS实例类似,但由于伸缩配置是伸缩组弹性扩张时的ECS实例模板,因此具有个性化的功能,例如多实例规格,不过不支持配置某些项目,例如地域、专有网络。实际操作时请以弹性伸缩控制台页面为准。页面上的各配置项均配有简洁说明,如果您想深入了解各配置项的含义,请参见使用向导创建实例

控制台操作步骤

  1. 登录弹性伸缩控制台
  2. 在顶部状态栏处,选择地域。
  3. 找到待操作的伸缩组,选择一种方式打开伸缩组详情页面。
    • 伸缩组名称/ID列中,单击伸缩组名称。
    • 操作列中,单击管理
  4. 前往组内实例配置信息来源页面,然后单击创建伸缩配置
  5. 配置计费方式、实例、镜像、存储、公网带宽和安全组,然后单击下一步:系统配置
    说明 在伸缩配置中:
    • 计费方式:仅支持按量付费实例抢占式实例
    • 实例:支持多个实例规格,当特定实例规格库存不足时,会切换到至备选实例规格,提高弹性扩张的成功率。
  6. 配置标签(可选)、资源组(可选)、登录凭证、实例名称(可选)和高级选项(可选),然后单击下一步:确认配置
    说明 仅专有网络下伸缩组的伸缩配置中支持高级选项,包括实例RAM角色和实例自定义数据。
  7. 检查所选配置,填写伸缩配置名称,然后单击确认创建
  8. 单击启用配置

API使用示例

伸缩配置是伸缩组用于弹性创建ECS实例的模板,如果您需要调用API创建伸缩配置,请确保请求中包含伸缩组ID、ECS实例所属安全组的ID、ECS实例镜像ID和ECS实例规格。

推荐根据开发平台选用对应语言的阿里云SDK,调用API时更加方便快捷。以Java SDK为例:
import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
/*
pom.xml
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-core</artifactId>
  <version>4.0.3</version>
</dependency>
*/
public class CommonRpc {
    public static void main(String[] args) {
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>");
        IAcsClient client = new DefaultAcsClient(profile);

        CommonRequest request = new CommonRequest();
        request.setMethod(MethodType.POST);
        request.setDomain("ess.aliyuncs.com");
        request.setVersion("2014-08-28");
        request.setAction("CreateScalingConfiguration");
        request.putQueryParameter("ScalingGroupId", "asg-bp1a4xzjr1ypd601****");
        request.putQueryParameter("SecurityGroupId", "sg-bp147qpndp7iyj08****");
        request.putQueryParameter("ImageId", "centos6u5_64_20G_aliaeg****.vhd");
        request.putQueryParameter("InstanceType", "ecs.t1.xsmall");
        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}
通过Java SDK或者其它方式发起调用后,请求正文示例如下:
https://ess.aliyuncs.com/?Action=CreateScalingConfiguration
&ImageId=centos6u5_64_20G_aliaeg****.vhd
&InstanceType=ecs.t1.xsmall
&ScalingGroupId=asg-bp1a4xzjr1ypd601****
&SecurityGroupId=sg-bp147qpndp7iyj08****
&Version=2014-08-28
其中:
  • centos6u5_64_20G_aliaeg****.vhd为ECS实例镜像ID。
  • ecs.t1.xsmall为ECS实例规格。
  • AG6CQdPU8OKdwLjgZc****为伸缩组ID。
  • sg-280****为ECS实例所属安全组ID。
  • 2014-08-28为API版本。

您还可以个性化设置多实例规格、ECS实例磁盘等相关属性,详细的API说明,请参见CreateScalingConfiguration