j9九游会登录/ 弹性伸缩 as/ api参考/ / 示例5:批量操作实例
更新时间:2025-01-24 gmt 08:00

示例5:批量操作实例-j9九游会登录

场景描述

本章节指导用户通过api批量操作弹性云服务器实例。api的调用方法请参见如何调用api

实例是对运行在伸缩组中弹性云服务器的统称,as支持批量移出伸缩组中的实例或批量添加伸缩组外的实例、批量对伸缩组中的实例设置或取消其实例保护属性、批量将伸缩组中的实例转入或移出备用状态。

约束条件

  • 批量移出后实例数不能小于伸缩组的最小实例数。
  • 批量添加后实例数不能大于伸缩组的最大实例数。
  • 当伸缩组处于inservice状态且没有伸缩活动时,才能添加实例。
  • 当伸缩组没有伸缩活动时,才能移出实例。实例处于inservice时才可以移出。
  • 向伸缩组中添加实例时,必须保证实例所在的可用分区包含于伸缩组所配置的可用分区内,且实例所在vpc和伸缩组的vpc相同。

涉及接口

调试

您可以在中调试该接口。

操作步骤

  1. 确定调用api鉴权时使用的token。
    1. 查询token,详情请参见获取用户token
    2. 获取响应header参数中x-subject-token对应的值。
  1. 确定要进行批量操作的伸缩组。
    1. 查询伸缩组列表。
      • 请求示例

        get: https://{endpoint}/autoscaling-api/v1/0605767c2e80d5762fd0c0146a10aaf2/scaling_group

        {endpoint}信息请从获取。

      • 响应示例
        {
          "limit": 20,
          "scaling_groups": [
              {
                  "networks": [
                      {
                          "id": "a8327883-6b07-4497-9c61-68d03ee193a",
                          "ipv6_enable": true,
                          "ipv6_bandwidth": 
                          {
                              "id": "076ee2ff-f23e-4338-b8ac-1bc7278532d5"
                          }
                      }
                  ],
                  "available_zones": [
                      "xxxa",
                      "xxxb"
                  ],
                  "detail": null,
                  "scaling_group_name": "as-group-test",
                  "scaling_group_id": "77a7a397-7d2f-4e79-9da9-6a35e2709150",
                  "scaling_group_status": "inservice",
                  "scaling_configuration_id": "1d281494-6085-4579-b817-c1f813be835f",
                  "scaling_configuration_name": "healthcheck",
                  "current_instance_number": 0,
                  "desire_instance_number": 1,
                  "min_instance_number": 0,
                  "max_instance_number": 500,
                  "cool_down_time": 300,
                  "lb_listener_id": "f06c0112570743b51c0e8fbe1f235bab",
                  "security_groups": [
                      {
                          "id": "8a4b1d5b-0054-419f-84b1-5c8a59ebc829"
                      }
                  ],
                  "create_time": "2015-07-23t02:46:29z",
                  "vpc_id": "863ccae2-ee85-4d27-bc5b-3ba2a198a9e2",
                  "health_periodic_audit_method": "elb_audit",
                  "health_periodic_audit_time": 5,
                  "health_periodic_audit_grace_period": 600,
                  "instance_terminate_policy": "old_config_old_instance",
                  "is_scaling": false,
                  "delete_publicip": false,
                  "enterprise_project_id": "c92b1a5d-6f20-43f2-b1b7-7ce35e58e413",
                  "multi_az_priority_policy": "pick_first"
              }
        ],
        "total_number": 1,
        "start_number": 0
        }
    1. 选择要操作实例的伸缩组,并记录伸缩组id。
  1. 获取指定伸缩组实例列表。
    1. 查询弹性伸缩组中的实例列表。
      • 请求示例

        本示例展示了查询id为e5d27f5c-dd76-4a61-b4bc-a67c5686719a的伸缩组下已启用且处于健康状态的实例。

        get: https://{endpoint}/autoscaling-api/v1/0605767c2e80d5762fd0c0146a10aaf2/scaling_group_instance/e5d27f5c-dd76-4a61-b4bc-a67c5686719a/list?life_cycle_state=inservice&health_status=normal

        {endpoint}信息请从获取。

      • 响应示例
        {
            "limit": 10,
            "total_number": 1,
            "start_number": 0,
            "scaling_group_instances": [
                {
                    "instance_id": "b25c1589-c96c-465b-9fef-d06540d1945c",
                    "scaling_group_id": "e5d27f5c-dd76-4a61-b4bc-a67c5686719a",
                    "scaling_group_name": "discuz",
                    "life_cycle_state": "inservice",
                    "health_status": "normal",
                    "scaling_configuration_name": "discuz",
                    "scaling_configuration_id": "ca3dcd84-d197-4c4f-af2a-cf8ba39696ac",
                    "create_time": "2015-07-23t06:47:33z",
                    "instance_name": "discuz_3d210808",
                    "protect_from_scaling_down": false
                }
            ]
        }
    1. 选择需要操作的实例,并记录实例id。
  1. 批量移出实例。
    • 接口相关信息

      uri格式:post /autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/action

      详情请参见批量操作实例

    • 请求示例

      本示例展示将实例id为instance_id_1和instance_id_2的两个实例批量从id为e5d27f5c-dd76-4a61-b4bc-a67c5686719a的伸缩组移出并删除的操作。

      post: https://{endpoint}/autoscaling-api/v1/0605767c2e80d5762fd0c0146a10aaf2/scaling_group_instance/e5d27f5c-dd76-4a61-b4bc-a67c5686719a/action

      {endpoint}信息请从获取。

      body:

      {
      "action": "remove",
      "instances_id": [
      "instance_id_1",
      "instance_id_2"
      ],
      "instance_delete": "yes"
      }
    • 响应示例

      http状态码正常返回204。

相关文档

网站地图