Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Auto Scaling/ Referencia de la API/ Ejemplos de aplicación/ Ejemplo 5: Realización de operaciones en instancias por lotes
Actualización más reciente 2022-11-08 GMT+08:00

Ejemplo 5: Realización de operaciones en instancias por lotes

Escenarios

This section describes how to perform operations on instances in batches by calling APIs. Para más detalles, consulte Llamada a APIs.

Una instancia es un ECS en un grupo AS. AS le permite agregar o quitar instancias a o desde un grupo AS en lotes, configurar la protección de instancia o cancelar la configuración de las instancias en un grupo AS en lotes, y establecer el modo en standby o cancelar la configuración de las instancias en un grupo AS en lotes.

Restricciones

  • Después de eliminar instancias de un grupo AS, el número de instancias en el grupo AS no puede ser menor que el número mínimo de instancias.
  • Después de agregar instancias a un grupo AS, el número de instancias en el grupo AS no puede ser mayor que el número máximo de instancias.
  • Las instancias se pueden agregar a un grupo AS solo cuando el grupo AS está en el estado INSERVICE y no tiene ninguna acción de ajuste en curso.
  • Las instancias se pueden quitar de un grupo AS solo cuando no hay ninguna acción de ajuste en curso. Solo las instancias en estado INSERVICE se pueden eliminar de un grupo AS.
  • Para agregar instancias a un grupo AS, asegúrese de que la AZ de las instancias debe estar dentro del grupo AS y que las instancias están en la misma VPC que el grupo AS.

APIs involucradas

Procedimiento

  1. Determina el token de usuario que se puede usar para autenticar la llamada de otras API.

    1. Ver el token de usuario. Para obtener más información, consulte Obtención de un usuario Token.
    2. Obtenga el valor de X-Subject-Token en el encabezado de respuesta.

  1. Determinar el grupo AS.

    1. Ver grupos AS.
      • API

        URI format: GET /autoscaling-api/v1/{project_id}/scaling_group

        Para más detalles, consulte Consulta de grupos AS.

      • Ejemplo de la solicitud

        GET: https://{Endpoint}/autoscaling-api/v1/0605767c2e80d5762fd0c0146a10aaf2/scaling_group

        Obtenga {endpoint} de Regiones y endpoint.

      • Ejemplo de la respuesta
        {
          "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. Seleccione un grupo AS y registre el ID de grupo AS.

  1. Determinar las instancias.

    1. Vea las instancias en el grupo AS especificado.
      • Ejemplo de la solicitud

        Este ejemplo muestra cómo consultar instancias sanas y habilitadas en el grupo AS con el 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

        Obtenga {endpoint} de Regiones y endpoint.

      • Ejemplo de la respuesta
        {
            "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. Seleccione instancias y registre sus IDs.

  1. Elimine las instancias del grupo AS en un lote.

    • API

      URI format: POST /autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/action

      Para más detalles, consulte Gestión de instancias por lotes.

    • Ejemplo de la solicitud

      En este ejemplo se muestra cómo eliminar y eliminar instancias con los identificadores de instance_id_1 y instance_id_2 del grupo AS con el identificador e5d27f5c-dd76-4a61-b4bc-a67c5686719a en un lote.

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

      Obtenga {endpoint} de Regiones y endpoint.

      Cuerpo:

      {
      "action": "REMOVE",
      "instances_id": [
      "instance_id_1",
      "instance_id_2"
      ],
      "instance_delete": "yes"
      }
    • Ejemplo de la respuesta

      Se devuelve el código de estado HTTP 204.